Как определить на кого был сделан реплай в pyTelegramBotAPI

Бот на pyTelegramBotAPI. Нужно чтобы в группе когда человек делает реплай на чьё-то сообщение и пишет определленную команду, выводилось сообщение с именем оправителя и человека на кого был сделан реплай. И у меня вопрос как определить человека на которого был сделан реплай.


Ответы (3 шт):

Автор решения: Violet
@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

введите сюда описание изображения

→ Ссылка
Автор решения: TimAnt

Так, ну это делается, как несложно догадаться через 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}"
→ Ссылка
Автор решения: AVirus

Информация о сообщении на которое сделали реплай, находится в message.reply_to_message, Пользователь - message.reply_to_message.from_user.username. Или для имени - message.reply_to_message.from_user.first_name

→ Ссылка