Callback-запит
Callback-запит — це оновлення, яке Telegram надсилає боту, коли користувач натискає callback-кнопку на інлайн-клавіатурі. Оновлення містить рядок даних, який бот задав кнопці, і бот мусить на нього відповісти. Callback-кнопка, на відміну від кнопки з посиланням, не відкриває адресу: вона просить бота виконати дію.
Що містить callback-запит
Об’єкт Bot API під назвою CallbackQuery має унікальний ідентифікатор, користувача, який натиснув кнопку, і поле data з рядком, який бот прикріпив до цієї кнопки. Якщо кнопка стоїть на повідомленні, яке надіслав бот, оновлення також містить це повідомлення. Поле data — єдиний спосіб для бота дізнатися, яку кнопку натиснули, тому кожен рядок даних треба добирати уважно.
Ліміт 64 байти для даних кнопки
Поле callback_data інлайн-кнопки має містити від 1 до 64 байтів. Ліміт задано в байтах, а не в символах, тому кирилична літера в UTF-8 займає два байти, і короткий український чи російський напис швидко вичерпує запас. Не кладіть у рядок даних увесь запис. Зберігайте запис на сервері, а в кнопку кладіть короткий ключ, наприклад назву дії та числовий ідентифікатор.
Чому бот мусить відповісти
Після натискання callback-кнопки клієнт Telegram показує індикатор завантаження, доки бот не викличе метод answerCallbackQuery. Документація Bot API вимагає викликати його, навіть коли користувачеві не потрібне повідомлення. Метод приймає необов’язковий текст довжиною від 0 до 200 символів, прапорець show_alert, який показує сповіщення-вікно замість невеликого повідомлення вгорі чату, і cache_time, який за замовчуванням дорівнює 0 секунд.
Callback-кнопки та канали
Callback-запит надходить до бота, тому кнопці цього типу потрібен працюючий бот, який обробляє оновлення й зберігає власний стан. Кнопці, що лише відкриває сторінку, це не потрібно: використайте кнопку з посиланням, яка не надсилає боту жодного оновлення. Перевіряйте тип кожної кнопки, перш ніж додати її до запланованого допису, і тримайте токен бота в таємниці, бо будь-хто з токеном може читати оновлення цього бота.
Пов’язані терміни
Пов’язані функції
Застосуйте ці поняття на практиці
Автоматизуйте публікацію в Telegram за допомогою ШІ-контенту, оцінки якості та розумного планування.