`{ok: "false", error_code: "403", description: "Forbidden: bot was blocked by the user"}`
`{ok: "false", error_code: "403", description: "Forbidden: bot can't send messages to the user"}`
О'кей, сейчас я вам все объясню. Сейчас вам станет все понятно.
В телеге можно заблокировать бота, если он тебя заебал. Бот после этого будет получать ошибку каждый раз, когда отправляет что-то заблокировавшему его пользователю.
Так как мой бот совершает фоновую работу, а не только овечает на входящие сообщения, то я делаю логичную вещь: удаляю все его подписки, чтобы не заниматься работой вхолостую, и не пытаться отправлять ему сообщения вновь.
Извините за то, что говорю об очевидных вещах. Но именно с очевидными вещами проблема.
Сверху два сообщения об ошибке.
Первое сообщение приходит тогда, когда бот блокируется пользователем.
Второе сообщение приходит тогда, когда телеграм раз в год на пару минут случайным образом вступает в особое состояние и начинает отвечать им на половину сообщений.
Это все. Я не знаю, что добавить. Я просто в ебаном ахуе. Это уровень пиздорукости очень крутого энтерпайза.
Да, я должен знать, что иногда приходит JSON с error_code 403 и строкой в дескрипшоне «бот не может отправлять сообщения пользователю» и обрабатывать это отдельно.
Откуда я должен знать? Есть ли спецификация по таким сообщениям?
Нет.
И если вы думаете, что таких «особенных» сообщений в телеге всего лишь две штуки, то посмотрите на #NA9O21, например.
Э, Пащка овэц сабраль? Овцы твой или Пащка? Хочэщ их шэрст — накылонис впэрёд.