Добрый день!
Пытаюсь сделать ТГ бот для учета бюджета в группе. Логика: кто то отправляет сообщение с затратами(данные вносятся в таблицу) далее выбирает категорию(она также заносится в таблицу), далее хочу выгружать фото чеков и также прикреплять к ячейкам таблицы.
Не пойму почему не получаю ответ (contents.hasOwnProperty('callback_query')) на данный момент. Если кто может помочь разобраться, буду очень признателен!
Полный код:
const API = "5396283725:AAFa3Y82EAPsuF7ro1PlmNkl0QUK_VzURis";
const App_link = "https://script.google.com/macros/s/AKfycbzhxXpAhE0WMYi_WQi5iygsVzeVCOA5X4lk7I9XEHBkm2BOPWYbpQD3CKWw8qPbPOg1/exec";
const table = SpreadsheetApp.openById("1FyXOYn2d8Lqoe5Jm8W8t8EUbdWQUiXWNQQ0QSkEp5FU");
const Krok53 = table.getSheetByName("Krok53");
function setWebhook() {
let response = UrlFetchApp.fetch("https://api.telegram.org/bot" + API + "/setWebhook?url=" + App_link);
console.log(response.getContentText());
}
function sendText(chat_id, text, keyBoard) {
let data = {
method: "post",
payload: {
method: "sendMessage",
chat_id: String(chat_id),
text: text,
parse_mode: "HTML",
reply_markup: JSON.stringify(keyBoard)
}
};
UrlFetchApp.fetch('https://api.telegram.org/bot' + API + "/", data);
}
function doPost(e) {
let contents = JSON.parse(e.postData.contents);
let text = contents.message.text;
let chat_id = contents.message.chat.id;
if ((/^\//.exec(text))) {
if (text === "/start") {
sendText(chat_id, `Ну давай начнем считать!`);
}
if (text === "/help") {
sendText(chat_id, `Лучше просто скажи Максу!`);
}
if (text === "/table") {
sendText(chat_id, `Только ничего сам не правь, вот ссылка: https://docs.google.com/spreadsheets/d/1FyXOYn2d8Lqoe5Jm8W8t8EUbdWQUiXWNQQ0QSkEp5FU/edit#gid=0`);
}
return;
}
if (contents.hasOwnProperty('message')) {
if (!isNaN(text)) {
let user = contents.message.from.username;
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Debug").getRange(1, 1).setValue(JSON.stringify(contents, null, 5));
Krok53.appendRow([user, text]);
sendText(chat_id, "Какая категория?", categories);
}
return;
}
if (contents.hasOwnProperty('callback_query')) {
let data = contents.callback_query.data;
let lastRow = Krok53.getLastRow();
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Debug").getRange(1, 2).setValue(JSON.stringify(contents, null, 5));
Krok53.getRange(lastRow, 3).setValue([data]);
del_inline(chat_id, msg_id);
return;
}
else {
return false;
}
}
function send() {
let chat_id = "323257595";
let text = "Привет!";
sendText(chat_id, text, categories);
}
let categories = {
"inline_keyboard": [
[{ "text": "Еда", "callback_data": "Еда" }, { "text": "Разведка", "callback_data": "Разведка" }, { "text": "Бензин", "callback_data": "Бензин" }],
[{ "text": "Концерт", "callback_data": "Концерт" }, { "text": "Сувенирка", "callback_data": "Сувенирка" }, { "text": "Аренда", "callback_data": "Аренда" }],
[{ "text": "Кнопка 6", "callback_data": "Кнопка 6" }, { "text": "Кнопка 7", "callback_data": "Кнопка 7" }]
],
"resize_keyboard": true
};
function del_inline(chat_id, msg_id) {
let payload = {
'method': 'editMessageReplyMarkup',
'chat_id': String(chat_id),
'message_id': String(msg_id)
}
let Data = {
"method": "post",
"payload": payload
}
UrlFetchApp.fetch('https://api.telegram.org/bot' + API + '/', Data);
}
Ссылка на таблицу:
https://docs.google.com/spreadsheets/d/1FyXOYn2d8L...