CatugramBot API

Обновления: getUpdates и вебхуки

Long polling и вебхуки

Есть два способа получать обновления: опрашивать сервер методом getUpdates или настроить вебхук через setWebhook. Одновременно работает только один - при активном вебхуке getUpdates вернёт 409 CONFLICT.

Какие обновления приходят

ТипКогда
messageновое сообщение боту
edited_messageсообщение отредактировано
callback_queryнажата inline-кнопка
pre_checkout_queryпользователь подтверждает оплату счёта

Остальные типы обновлений (inline-запросы, участники чатов, реакции и другие) пока не отправляются.

Long polling

Shell
curl "https://bot.catup.lol/bot$TOKEN/getUpdates?timeout=30"

Передавайте offset = update_id последнего обработанного обновления + 1 - так сервер поймёт, что их можно удалить. timeout ограничен 50 секундами, limit - 100.

Вебхук

Shell
curl "https://bot.catup.lol/bot$TOKEN/setWebhook" \
  -d url=https://example.com/bot \
  -d secret_token=my_secret_123

Каждое обновление приходит отдельным POST с JSON-объектом Update и заголовком X-Telegram-Bot-Api-Secret-Token. Ответ 2xx - обновление доставлено. При ошибке сервер повторяет доставку с паузами от 1 секунды до 5 минут.

Если бот отстал

Метод dropPendingUpdates очищает очередь. Неподтверждённые обновления хранятся не дольше 24 часов.

Адрес API: https://bot.catup.lol. Описания методов в списке - из официальной документации Telegram Bot API, статус поддержки - по серверу Catugram.

© Catugram

Стилёк сайта был взят с СтатикГрама от Джасти