Перейти к основному содержимому

Update Types

Сервер шлёт боту обновления одного из типов. Каждое имеет уникальный update_id и одно поле-событие.

Сообщения

ПолеКогда
messageНовое сообщение (DM/группа/супергруппа)
edited_messageСообщение отредактировано
channel_postНовый пост в канале
edited_channel_postПост в канале отредактирован

Inline-режим

ПолеКогда
inline_queryЮзер написал @bot xxx
chosen_inline_resultЮзер выбрал результат из inline-popup

Кнопки

ПолеКогда
callback_queryТап на inline-кнопку с callback_data

Участники

ПолеКогда
my_chat_memberБот добавлен/удалён в чат, или его статус изменился
chat_memberЛюбой участник изменил статус (нужен allowed_updates)
chat_join_requestЗаявка на вступление (для approval-чатов)

Реакции

ПолеКогда
message_reactionКто-то добавил/убрал реакцию (нужен allowed_updates)
message_reaction_countАгрегированные счётчики (для каналов)

Опросы

ПолеКогда
pollСостояние опроса изменилось
poll_answerЮзер проголосовал в неанонимном опросе

Подписка

По умолчанию приходят: message, edited_message, channel_post, edited_channel_post, inline_query, chosen_inline_result, callback_query.

Не приходят без явного указания: my_chat_member, chat_member, chat_join_request, message_reaction, message_reaction_count, poll, poll_answer.

Указать в getUpdates или setWebhook:

{
"allowed_updates": ["message", "callback_query", "chat_member", "poll_answer"]
}

Структура любого обновления

{
"update_id": 123456789,
"<event_field>": {...}
}

update_id — монотонно возрастающий, используется для дедупликации и offset в long-polling.