Проблема с получением индекса таблицы на ГАЗ - PullRequest
0 голосов
/ 05 января 2019

Я написал бот-телеграмму, которая подключается к электронной таблице. Пользователь должен указать свое имя, и бот должен искать его с листа. Если имя указано на листе (то есть lookUpRange.indexOf(text) > -1), бот отправляет мне по электронной почте эту строку "you're on the scores tab." Письмо проходит, и это работает нормально.

Проблема в том, что второй фрагмент кода не работает: если lookUpRange.indexOf(text) возвращает что-либо меньше 1, мне следует написать мне, что я не на вкладке с оценками. У меня только 5 имен на вкладке результатов, и все, что находится за их пределами, вернет -1, если вы запустите lookUpRange.indexOf(text). Но никакая электронная почта не проходит.

Я попытался настроить var text со случайной строкой и зарегистрировал ее, чтобы убедиться, что она возвращает -1. Оно делает.

function doPost(e) {
//parses user's text 
  var contents = JSON.parse(e.postData.contents);
  var id = contents.message.from.id; 
  var text = contents.message.text; 
  var first_name = contents.message.from.first_name; 
//locates text in the spreadsheet
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Scores");
  var lookUpRange = flatten(ss.getDataRange().getValues());
  var index = lookUpRange.indexOf(text); 

  if (lookUpRange.indexOf(text) > -1){
    GmailApp.sendEmail(Session.getEffectiveUser().getEmail(), "you're on the scores tab", text + " from " + first_name);
  }
  else {
    GmailApp.sendEmail(Session.getEffectiveUser().getEmail(), "you're not on the scores tab", text + " from " + first_name);
  }
}
...