我写了一个电报机器人,它连接到电子表格。用户必须提供他的名字,并且机器人应该从工作表中查找它。如果名称在表单上(即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);
}
}