Проблема с чтением идентификатора пользователя для ответа на сообщение. Бот Telegram с Aiogram

#python #python-3.x

#python #python-3.x

Вопрос:

Я использую iogram для создания бота обратной связи в Telegram. Когда бот получает сообщения, он пересылает их мне, после чего я отвечаю на них bot.send_message (message.reply_to_message.forward_from.id, message.text) . Когда у пользователя есть разрешение на пересылку сообщений в настройках конфиденциальности, тогда все в порядке, но если нет, то возможность ответить на сообщение исчезает. Вопрос в том, как я могу отвечать на сообщения, если пользователь отключил разрешение на пересылку сообщений в настройках конфиденциальности?

Ответ №1:

Цепочка

Customer -> Bot -> You -> Bot -> Customer

Клиент бот

В Customer -> Bot Bot -> Customer процессе общения участники могут видеть друг друга.

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

Вы бот

Для Bot -> You -> Bot общения используйте простые (не пересылаемые) сообщения.

  1. Просто свяжите сообщение клиента с некоторым идентификатором — your_tracking_id
  2. Добавьте идентификатор в сообщение бота, например:
 New issue: #id{your_tracking_id)
Oleg: 
    Hello World
  
  1. Когда вы отвечаете на сообщение бота, он может получить учетные данные сообщения клиента ( chat.id , message.id ), связанные с your_tracking_id