Термин Telegram и боты Средний

Callback query

Callback query - это событие Telegram Bot API, которое приходит боту после нажатия inline-кнопки. В нем есть данные кнопки, пользователь, сообщение и идентификатор, на который нужно ответить.

Telegram callback query callback_query inline button callback callback data событие inline-кнопки нажатие inline-кнопки callback кнопки callback Telegram ответ на кнопку Telegram Telegram inline keyboard event
Callback query появляется, когда пользователь нажимает inline-кнопку под сообщением Telegram-бота. В отличие от обычного текстового сообщения, пользователь ничего не пишет руками: бот получает событие с `callback_data`, понимает выбранное действие и решает, что делать дальше.

Для ИИ-агента callback query удобен как управляемый интерфейс. Вместо свободного текста можно дать кнопки: "подтвердить", "изменить", "отправить менеджеру", "показать еще", "создать задачу", "отмена". Так агент меньше угадывает намерение пользователя и может безопаснее запускать действия.

В Telegram важно ответить на callback query через `answerCallbackQuery`, иначе у пользователя может крутиться индикатор загрузки на кнопке. После этого бот может изменить сообщение, отправить новый текст, открыть следующий шаг сценария или запустить backend-действие.

`callback_data` лучше делать короткой и предсказуемой: например `approve:123`, `cancel:order_42`, `lead:qualify:high`. Не стоит класть туда секреты, персональные данные, длинные JSON и то, что пользователь не должен видеть или подделывать.

Callback query нужно проверять так же внимательно, как любой входящий запрос. Бот должен убедиться, что пользователь имеет право нажать эту кнопку, действие еще актуально, объект существует, а рискованные операции проходят approval или дополнительное подтверждение.

Примеры

  • Пользователь нажал кнопку "Подтвердить", и бот получил callback query с `callback_data=approve:lead_42`.
  • ИИ-агент показывает варианты ответа клиенту: "отправить", "изменить", "передать оператору". Каждая кнопка отправляет свой callback.
  • В Telegram-канале агент готовит пост, а редактор нажимает inline-кнопку "опубликовать" после просмотра черновика.
  • После callback query бот вызывает `answerCallbackQuery`, затем редактирует старое сообщение и показывает новый статус.
  • Если кнопку нажал не тот пользователь, бот отвечает коротким уведомлением и не выполняет действие.
  • В n8n callback query приходит в webhook, сценарий разбирает `callback_data` и запускает нужную ветку workflow.

Где используется

  • обработка inline-кнопок в Telegram-боте
  • approval действий ИИ-агента через кнопки
  • публикация или отмена черновика поста в Telegram-канале
  • передача диалога оператору по кнопке
  • выбор варианта ответа без свободного текста
  • пагинация списков и меню внутри бота
  • запуск n8n, Make или backend workflow из Telegram
  • подтверждение CRM-действий и создания задач
  • безопасная обработка callback_data
  • редактирование сообщения после выбора пользователя

Связанные термины

Частые вопросы

Callback query - это обычное сообщение?

Нет. Обычное сообщение приходит, когда пользователь пишет текст, голос или отправляет файл. Callback query приходит после нажатия inline-кнопки под сообщением бота.

Что такое callback_data?

Это короткая строка, которую разработчик привязывает к inline-кнопке. По ней бот понимает, какое действие выбрал пользователь: подтвердить, отменить, открыть следующий шаг или выбрать вариант.

Почему нужно вызывать answerCallbackQuery?

Telegram ожидает подтверждение обработки нажатия. Если не ответить, у пользователя может долго отображаться загрузка на кнопке, даже если backend уже что-то сделал.

Можно ли хранить секреты в callback_data?

Нет. В callback_data нельзя класть токены, пароли, персональные данные и чувствительную информацию. Лучше хранить только короткий action id, а детали доставать из базы на сервере.

Как callback query помогает ИИ-агенту?

Он превращает свободный диалог в управляемые действия. Пользователь нажимает кнопку, агент получает точный сигнал и может безопаснее выполнить workflow или запросить approval.

Что проверять перед выполнением callback-действия?

Проверьте пользователя, срок действия кнопки, права на объект, актуальность состояния, допустимость действия и необходимость дополнительного подтверждения для рискованных операций.

Где читать дальше

Статьи по теме

Инструменты

Связанные инструменты