在GAS上获取电子表格索引的问题

时间:2019-01-05 13:15:41

标签: google-apps-script google-sheets telegram-bot

我写了一个电报机器人,它连接到电子表格。用户必须提供他的名字,并且机器人应该从工作表中查找它。如果名称在表单上(即lookUpRange.indexOf(text) > -1),则机器人会通过电子邮件向我发送此字符串"you're on the scores tab.",该电子邮件正在处理中,并且工作正常。

问题是,第二段代码无法正常工作:如果lookUpRange.indexOf(text)返回小于1的任何内容,则应通过电子邮件通知我我不在“分数”选项卡上。我的分数标签上只有5个名字,如果您运行lookUpRange.indexOf(text),它们之外的任何东西都会返回-1。但是没有电子邮件通过。

我尝试使用随机字符串设置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);
  }
}

0 个答案:

没有答案