Обновления
Обновление (update) — это структура, которую сервер шлёт боту при любом событии. Каждое обновление имеет уникальный update_id и одно из полей-событий.
Типы обновлений
| Поле | Когда приходит |
|---|---|
message | Получено новое сообщение в чате (DM или группа) |
edited_message | Сообщение в чате отредактировано |
channel_post | Новый пост в канале |
edited_channel_post | Пост в канале отредактирован |
callback_query | Юзер нажал inline-кнопку под сообщением |
inline_query | Юзер написал @bot запрос в любом чате |
chosen_inline_result | Юзер выбрал результат из inline-результатов бота |
my_chat_member | Бот добавлен/удалён в чат, или сменился его статус |
chat_member | Любой участник чата изменил статус |
chat_join_request | Заявка на вступление в чат с approval-режимом |
message_reaction | Кто-то добавил/убрал реакцию на сообщение |
message_reaction_count | Агрегированный счётчик реакций (для каналов) |
poll / poll_answer | Изменения в опросе или голос юзера |
Получение обновлений
Два способа:
1. Long-polling (getUpdates)
Бот периодически вызывает getUpdates. Сервер отдаёт массив новых обновлений или ждёт до timeout если их нет.
curl 'https://api.telefon.chat/bot<TOKEN>/getUpdates?offset=0&timeout=30'
Параметры:
offset—update_idследующего ожидаемого обновления (последний обработанный + 1).timeout— сколько секунд ждать новых обновлений (0 — мгновенно, 30 — типично).limit— максимум обновлений за один запрос (по умолчанию 100).allowed_updates— список типов, остальные пропускаются.
2. Webhook
Бот регистрирует HTTPS-URL через setWebhook. Сервер шлёт POST с обновлением на этот URL.
curl -X POST 'https://api.telefon.chat/bot<TOKEN>/setWebhook' \
-d 'url=https://your-server.com/webhook'
См. подробнее: Webhooks.
Что выбрать
См. сравнение: Long-poll vs Webhook.