Answer the question
In order to leave comments, you need to log in
How to search Google spreadsheet using telegram bot?
Good afternoon. How to teach a bot using the command /find Ivanov Ivan Ivanovich to find a match throughout the entire sheet of a Google spreadsheet and give in the answer adjacent columns of the found line.
Script
function doPost(e) {
// получаем сигнал от бота
var update = JSON.parse(e.postData.contents);
// проверяем тип полученного, нам нужен только тип "сообщение"
if (update.hasOwnProperty('message')) {
var msg = update.message;
var chatId = msg.chat.id;
// проверяем, является ли сообщение командой к боту
if (msg.hasOwnProperty('entities') && msg.entities[0].type == 'bot_command') {
// проверяем на название команды - /lastpost
if (msg.text == '/find') {
// если все проверки пройдены - запускаем код, который ниже,
// открываем оглавление нашего канала
var sheet = SpreadsheetApp.openById('').getSheets()[0]
// достает последний пост
var lastpost = sheet.getRange(sheet.getLastRow(), 1, 1, 3).getValues()[0]
var message = lastpost[0]' <strong>'+lastpost[1] + '</strong> \n' + lastpost[2] + lastpost[3] + lastpost[4]
//формируем с ним сообщение
var payload = {
'method': 'sendMessage',
'chat_id': String(chatId),
'text': message,
'parse_mode': 'HTML'
}
var data = {
"method": "post",
"payload": payload
}
// и отправляем его боту (замените API на свой)
var API_TOKEN = ''
UrlFetchApp.fetch('https://api.telegram.org/bot' + API_TOKEN + '/', data);
}
}
}
}
Answer the question
In order to leave comments, you need to log in
You can apply this solution https://qna.habr.com/answer?answer_id=1513497#answ... You just need to display other lines.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question