Для того, чтобы узнать никнейм пользователя с помощью Aiogram, зная его chat_id
и message_id
, можно воспользоваться методом get_chat_member
объекта Bot
для получения информации по пользователю.
Для начала необходимо сохранить объект Bot
для вашего бота, затем использовать метод get_chat_member
с указанием chat_id
и user_id
, который в данном случае будет равен chat_id
. После получения объекта ChatMember
, из него можно получить необходимую информацию, такую как никнейм пользователя.
Пример кода на Python с использованием библиотеки Aiogram:
from aiogram import Bot, Dispatcher from aiogram.utils import executor API_TOKEN = 'YOUR_API_TOKEN' bot = Bot(token=API_TOKEN) dp = Dispatcher(bot) async def get_username(chat_id, user_id): chat_member = await bot.get_chat_member(chat_id=chat_id, user_id=user_id) username = chat_member.user.username return username chat_id = YOUR_CHAT_ID user_id = YOUR_MESSAGE_ID username = await get_username(chat_id, user_id) print(f"Username of user with chat_id {chat_id}: {username}") # Запускаем Telegram бота if __name__ == '__main__': executor.start_polling(dp, skip_updates=True)
В данном примере функция get_username
принимает chat_id
и user_id
(в данном случае равен chat_id
), затем использует метод get_chat_member
чтобы получить объект ChatMember
и извлекает никнейм пользователя. При вызове этой функции с указанными значениями chat_id
и message_id
, мы получим никнейм пользователя.
Не забудьте заменить YOUR_API_TOKEN
, YOUR_CHAT_ID
и YOUR_MESSAGE_ID
на свои значения.