Функция doPost() не реагирует на callback_query
Пишу телеграм-бота, в ответ на нажатие кнопки в инлайне должно приходить сообщение, однако на кнопке висит значок выполнения и больше ничего не происходит.
Написал лог для функции doPost() и обработчик ошибок. При отправке типа "Message" всё работает и лог пишется, но после нажатия кнопки, как будто никакого запроса не отправляется, ничего не происходит и в логе тоже нет записей.
Функции проверял много раз — работают. В интернете есть пара примеров кода, но у меня ни один не пошел.
function doPost(e) {
//ловим ошибки
try {
let update = JSON.parse(e.postData.contents),
contents_s = JSON.stringify(update);
//запись лога
SpreadsheetApp.openById(config.sheet).getSheetByName('Log').appendRow([new Date(), 'doPost', contents_s]);
//создание кнопок инлайна
let keyBoard = {
"inline_keyboard": [
[{
"text": "Запросить доступ",
'callback_data': 'yes'
}],
[{
"text": "Я мимо проходил",
'callback_data': 'no'
}],
]
};
//проверка на тип "сообщение"
if (update.message) {
//получение данных сообщения
let msg = update.message;
let chat_id = msg.chat.id;
let text = msg.text;
let uid = msg.from.id;
//проверка команды
let command = checkCommand(text);
// если есть совпадение по шаблону
if (command.result) {
//проверка прав доступа
if (isUser(chat_id, uid)) {
//если есть совпадения в столбце uid
sendMessage(chat_id, 'Привет!\nМожем начать работу.');
} else {
//если нет совпадений в столбце uid
sendMessage(chat_id, 'Для начала работы необходимо получить права у администратора.\nОтправить запрос?', keyBoard);
}
}
}
sendMessage(update.message.chat.id, 'Сюда доходит1');
//проверка на тип callback'а
if (update.callback_query) {
//получаем id callback'а и содержание
sendMessage(update.callback_query.from.id, 'Сюда доходит2');
let id_callback = update.callback_query.from.id;
let data = update.callback_query.data;
if (data == 'yes') {
sendMessage(id_callback, 'Запрос отправлен');
} else if (data == 'no') {
sendMessage(id_callback, 'До свидания!');
}
}
} catch (err) {
console.error(err.stack, err.message);
SpreadsheetApp.openById(config.sheet).getSheetByName('Log').appendRow([new Date(), err.stack, err.message]);
}
}