Как получить юзернейм пользователя, на сообщение которого я ответил?

Рейтинг: 1Ответов: 2Опубликовано: 20.02.2023

Я делаю Юзербота на Pyrogram. Мне нужно получить Юзернейм пользователя, на которого я ответил.

Я пролистал документации по Pyrogram, но безрезультатно.

Когда я отвечаю на сообщение участника группы командой, мне нужно получить его Юзернейм и выслать его как сообщение. Как это сделать?

Ответы

▲ 0Принят

Вы можете использовать метод get_chat_member() для получения информации о пользователе. Этот метод возвращает объект ChatMember, который содержит информацию о пользователе, включая его юзернейм.

В документации можете изучить здесь

Так как код вы не предоставили, то абстрактное решение может выглядеть приблизительно следующим образом:

from pyrogram import Client, filters

api_id = 'YOUR_API_ID'
api_hash = 'YOUR_API_HASH'
bot_token = 'YOUR_BOT_TOKEN'

app = Client("my_bot", api_id=api_id, api_hash=api_hash, bot_token=bot_token)


@app.on_message(filters.reply)
def reply_handler(client, message):
    replied_user_id = message.reply_to_message.from_user.id
    replied_user = client.get_chat_member(message.chat.id, replied_user_id).user
    replied_username = replied_user.username
    client.send_message(message.chat.id, f"Вы ответили на сообщение пользователя {replied_username}")

app.run()
▲ 0

Вместо message.reply_to_message.from_user.id, напиши client.reply_to_message.from_user.id