Как узнать никнейм пользователя с помощью Aiogram и зная его chat_id и message_id?

Для того, чтобы узнать никнейм пользователя с помощью 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 на свои значения.