Как получить юзернейм пользователя, на сообщение которого я ответил?
Я делаю Юзербота на Pyrogram. Мне нужно получить Юзернейм пользователя, на которого я ответил.
Я пролистал документации по Pyrogram, но безрезультатно.
Когда я отвечаю на сообщение участника группы командой, мне нужно получить его Юзернейм и выслать его как сообщение. Как это сделать?
Ответы (2 шт):
Вы можете использовать метод 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()
Вместо message.reply_to_message.from_user.id, напиши client.reply_to_message.from_user.id