A
A
AivazanArt2020-01-12 18:53:33
Telegram
AivazanArt, 2020-01-12 18:53:33

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

1 answer(s)
A
Alexander Ivanov, 2020-01-25
@oshliaer

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 question

Ask a Question

731 491 924 answers to any question