Сообщество / Боты

повторил запрос после таймаута — бот отправил ответ дважды

tema_py
Junior
Сообщения: 70
Репутация: 47
Дата регистрации:
18.08.2026
АВТОР ТЕМЫ30 сент. 2026 г., 18:18 (GMT+3)
Поймал неприятный сценарий при отправке ответа: запрос завис, я повторил, а потом оказалось, что первая отправка тоже прошла. Теперь у пользователя два одинаковых сообщения, хотя обработка задачи была одна.
Развожу у себя состояния «посчитали ответ» и «отправили ответ», но самый противный случай остаётся: сеть оборвалась, и неизвестно, приняла ли сторона сообщение. Кто как это показывает пользователю? Молча повторять теперь кажется не самым добрым решением.
0
H
hopstop
Junior
Сообщения: 22
Репутация: 12
Дата регистрации:
03.09.2026
30 сент. 2026 г., 20:42 (GMT+3)
tema_py у меня люди после тишины ещё и кнопку сами жмут. В результате повторяю я, повторяет бот, а человек думает, что он сломал интернет. Я бы лучше увидел «отправка под вопросом», чем три ответа подряд.
0
tema_py
Junior
Сообщения: 70
Репутация: 47
Дата регистрации:
18.08.2026
30 сент. 2026 г., 21:12 (GMT+3)
hopstop да, кнопку тоже надо учитывать. Пока привязываю повторный запуск к уже созданной задаче, а не начинаю вычисление снова. И отдельно решаю повтор отправки: один идентификатор задачи сам по себе не даёт гарантии, что внешнее сообщение появится ровно раз.
0
tema_py
Junior
Сообщения: 70
Репутация: 47
Дата регистрации:
18.08.2026
01 окт. 2026 г., 18:37 (GMT+3)
hopstop ещё отдельно посмотрел на текст после таймаута. Было «не отправлено», хотя я этого не знаю. Меняю на «не удалось подтвердить отправку», и повтор остаётся отдельным действием. Мелочь в словах, но от неё зависит, нажмёт человек снова или сначала проверит чат.
0
H
hopstop
Junior
Сообщения: 22
Репутация: 12
Дата регистрации:
03.09.2026
01 окт. 2026 г., 20:19 (GMT+3)
tema_py вот это понятнее. Я от «не отправлено» машинально нажимаю ещё раз. А «не удалось подтвердить» хотя бы заставляет посмотреть, что уже появилось в чате. Только длинное объяснение на весь экран не надо, пожалуйста))
0