Ошибка Telegram на боте iOS, отправляющая несколько раз одно и то же сообщение - PullRequest
0 голосов
/ 07 февраля 2019

Мне кажется, я обнаружил ошибку Telegram в приложении для iOS, из-за которой бот отправлял несколько раз одно и то же сообщение.Чтобы воспроизвести проблему, выполните следующие действия:

  • нажмите на встроенную кнопку, введите callback
  • и немедленно заблокируйте экран телефона, прежде чем бот ответит
  • подождите несколькомоменты, а затем разблокировать экран

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

Я использую Microsoft Bot Framework для разработки бота, однако все боты создают мне одну и ту же проблему, как мою, так и другие, разработанные с использованием других технологий, отличных от моих.Например, мне удалось воспроизвести его и на @BotFather.Иногда он входит в цикл, и чтобы остановить его, нужно отправить любое сообщение боту.Я использую iPhone 5, iOS версия 12.1.2, Telegram версия 5.2.Я также попробовал это на iPhone 8, но не с другими версиями Telegram.Я также получаю более 20 идентичных сообщений.


Я уже связывался со службой поддержки ботов в Telegram, но никто не отвечает мне.Кто-нибудь сталкивался с такой же проблемой?

1 Ответ

0 голосов
/ 19 июля 2019

В iOS и macOS, когда я нажимаю на встроенную кнопку и выключаю клиентский компьютер (macbook) (режим ожидания) и включаю его, мой бот получает последнее сообщение, отправленное пользователем.Каждый раз message_id один и тот же.Я решаю это следующим образом: когда мой скрипт отправляет запрос серверу Telegram, он получает ответ.Этот ответ содержит поле message_id, и я его сохраняю.

Любое следующее сообщение должно иметь другой message_id.Я просто сравниваю это число с сохраненным номером и только если номер отличается от сохраненного, я запускаю оставшуюся часть моего сценария.

Вы можете попробовать моего тестового бота и посмотреть результаты в таблице Google.

@ ios_bug_bot (https://t.me/ios_bug_bot)

https://docs.google.com/spreadsheets/d/1VTx-O1w_-ka1RzGfaVLVBDu0CQxk16QeJTeFYOE4yvo/edit?usp=sharing

Исходный код ботаздесь

https://github.com/avtomatron/telegram_bot/blob/master/google_script_bot

...