Как тэгнуть человека по id из базы данных на aiogram?

Ссылка скопирована
1 ответ

Вопрос как тут Как телеграм бот может получить имя пользователя на сообщение которого ответили?
но там написано только для реплея, а можно ли тэгнуть по id?

Дополнительно:

Ответы:

async def qq(msg: types.Message):     await msg.answer(f"@{msg.from_user.first_name}")

async def qq(msg: types.Message): await msg.answer(f"@{msg.from_user.first_name}")

попробуйте это

  • нет, мне не юзером надо :D
    мне надо get_mention(as_html=True)
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Кирилл JS Ответ

Для тэгирования пользователя по его id из базы данных на aiogram, вам необходимо сначала получить id пользователя, затем использовать методы aiogram для отправки сообщения с соответствующим тегом.

Вот пример кода на Python с использованием библиотеки aiogram:

import asyncio
from aiogram import Bot, Dispatcher, types
from aiogram.contrib.fsm_storage.memory import MemoryStorage
from aiogram.types import ChatActions
 
# Инициализация бота и диспетчера
bot = Bot(token="YOUR_TOKEN")
storage = MemoryStorage()
dp = Dispatcher(bot, storage=storage)
 
# Функция для получения id пользователя из базы данных
async def get_user_id_from_db(user_id):
    # Ваш код для получения id пользователя из базы данных
    return user_id
 
# Обработчик команды для тэгирования пользователя
@dp.message_handler(commands=['tag_user'])
async def tag_user(message: types.Message):
    user_id = message.from_user.id
    db_user_id = await get_user_id_from_db(user_id)
    tagged_user = f'<a href="//user?id={db_user_id}">{message.from_user.full_name}</a>'
 
    await message.answer(f'Привет, {tagged_user}!')
 
if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.create_task(dp.start_polling())
    loop.run_forever()

import asyncio from aiogram import Bot, Dispatcher, types from aiogram.contrib.fsm_storage.memory import MemoryStorage from aiogram.types import ChatActions # Инициализация бота и диспетчера bot = Bot(token="YOUR_TOKEN") storage = MemoryStorage() dp = Dispatcher(bot, storage=storage) # Функция для получения id пользователя из базы данных async def get_user_id_from_db(user_id): # Ваш код для получения id пользователя из базы данных return user_id # Обработчик команды для тэгирования пользователя @dp.message_handler(commands=['tag_user']) async def tag_user(message: types.Message): user_id = message.from_user.id db_user_id = await get_user_id_from_db(user_id) tagged_user = f'<a href="//user?id={db_user_id}">{message.from_user.full_name}</a>' await message.answer(f'Привет, {tagged_user}!') if __name__ == '__main__': loop = asyncio.get_event_loop() loop.create_task(dp.start_polling()) loop.run_forever()

В этом примере, мы инициализируем бота, создаем функцию для получения id пользователя из базы данных, и обработчик команды для тэгирования пользователя. При вызове команды "/tag_user", мы получаем id пользователя из базы данных, формируем тегированное имя пользователя и отправляем сообщение с тегом.

Надеюсь, это поможет вам решить вашу проблему с тэгированием пользователя по id из базы данных на aiogram.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно