Как определить на кого был сделан реплай в pyTelegramBotAPI
Бот на pyTelegramBotAPI. Нужно чтобы в группе когда человек делает реплай на чьё-то сообщение и пишет определленную команду, выводилось сообщение с именем оправителя и человека на кого был сделан реплай. И у меня вопрос как определить человека на которого был сделан реплай.
Ответы (3 шт):
@bot.message_handler(content_types="text")
def test(message):
try:
print('исходный текст:', message.reply_to_message.text)
print('текст реплая:', message.text)
print('пользователь исходного текста:', message.reply_to_message.from_user.username)
except Exception as err:
print(err)
>>> исходный текст: исходный текст пользователя 1
>>> текст реплая: реплай от пользователя 2
>>> пользователь исходного текста: username
Так, ну это делается, как несложно догадаться через message, а если точнее, то вот так:
if message.reply_to_message!=None:
uid = message.reply_to_message.from_user.id
в примере я получаю id пользователя, на которого был сделан реплай,но если вам нужно конкретно имя, то можно постваить
f"{message.reply_to_message.from_user.first_name} {message.reply_to_message.from_user.last_name}"
Информация о сообщении на которое сделали реплай, находится в message.reply_to_message, Пользователь - message.reply_to_message.from_user.username. Или для имени - message.reply_to_message.from_user.first_name
