You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Telegram内联键盘部分选项无响应及Sheet更新匹配问题求助

开发Telegram机器人遇到的两个问题

问题1:内联键盘仅DYS1选项可正常响应,其他选项共存时失效

内联键盘中除DYS1外的其他选项(如DDY)点击无响应,单独注释DY相关代码时DDY功能正常,但两者共存就失效。曾怀疑是return editMessageText(chat_id, contents.callback_query.message.message_id,"Reply to this message eg: 5, Earn from MEP MMRC! OR -1, Used on 10/5/23");语句或括号问题,但DYS1功能正常,该猜测不成立。

问题2:测试代码可触发返回文本,但无法确保用户回复时更新对应Google Sheet

测试代码能正常触发返回文本,但无法保证用户回复时能更新对应的Google Sheet。


原代码片段

if (text == "/updateoffs") {
  var keyboard = {
    "inline_keyboard": [
      [{
        "text": "DYS1",
        'callback_data': 'dysone'
      }],
      [{
        "text": "DDY",
        'callback_data': 'ddy'
      }],
      [{
        "text": "ACC",
        'callback_data': 'acc'
      }],
      [{
        "text": "4 IN 1",
        'callback_data': 'fourinone'
      }],
      [{
        "text": "PFM IC",
        'callback_data': 'pfmic'
      }],
      [{
        "text": "EXIT IC",
        'callback_data': 'exitic'
      }],
      [{
        "text": "COURSE IC",
        'callback_data': 'courseic'
      }],
      [{
        "text": "CO PA",
        'callback_data': 'copa'
      }]
    ]
  };
  return sendMessage(chat_id, "Select your role to update your current OFFs:", keyboard);
} else if (contents.callback_query) {
  UrlFetchApp.fetch(telegramUrl + "/answerCallbackQuery?callback_query_id=" + String(contents.callback_query.id));
  var chat_id = contents.callback_query.message.chat.id;
  var data = contents.callback_query.data;
}
if (data == 'dysone') {
  return editMessageText(chat_id, contents.callback_query.message.message_id, "Reply to this message eg: 5, Earn from MEP MMRC! OR -1, Used on 10/5/23");
}
//!TODO : ALL USER TO UPDATE OFFS BY KEYING IN NUMBER AND REMARKS
if (contents.message.reply_to_message && contents.message.reply_to_message.from.id == 6294332173) {
  var dateNow = new Date;
  var formattedDate = dateNow.getDate() + "/" + (dateNow.getMonth() + 1);
  var item = text.split(",");
  // MAIN SHEET
  var offtracker = SpreadsheetApp.openById(ssId).getSheetByName("DY");
  offtracker.getRange(4, 1).setValue([formattedDate]);
  offtracker.getRange(4, 2).setValue(item[0]);
  offtracker.getRange(4, 3).setValue(item[1]);
  //   histracker.appendRow([formattedDate],item[0],item[1]);

  offtracker.insertRows(5, 1);
  var copylist = offtracker.getRange('A4:C4').getValues();
  // then insert data into blank row (5)
  offtracker.getRange('A5:C5').setValues(copylist);
  return sendMessage(chat_id, "OFF TRACKER HAS BEEN UPDATED FOR DYS1!");
}
// else if(contents.callback_query){
//     UrlFetchApp.fetch(telegramUrl + "/answerCallbackQuery?callback_query_id=" + String(contents.callback_query.id));
//     var chat_id = contents.callback_query.message.chat.id;
//     var data = contents.callback_query.data;
if (data == 'ddy') {
  return editMessageText(chat_id, contents.callback_query.message.message_id, "Reply to this message eg: 5, Earn from MEP MMRC! OR -1, Used on 10/5/23");
}
//!TODO : ALL USER TO UPDATE OFFS BY KEYING IN NUMBER AND REMARKS
if (contents.message.reply_to_message && contents.message.reply_to_message.from.id == 6294332173) {
  var dateNow = new Date;
  var formattedDate = dateNow.getDate() + "/" + (dateNow.getMonth() + 1);
  var item = text.split(",");
  // MAIN SHEET
  var offtracker = SpreadsheetApp.openById(ssId).getSheetByName("DDY");
  offtracker.getRange(4, 1).setValue([formattedDate]);
  offtracker.getRange(4, 2).setValue(item[0]);
  offtracker.getRange(4, 3).setValue(item[1]);
  //   histracker.appendRow([formattedDate],item[0],item[1]);

  offtracker.insertRows(5, 1);
  var copylist2 = offtracker.getRange('A4:C4').getValues();
  // then insert data into blank row (5)
  offtracker.getRange('A5:C5').setValues(copylist2);
  return sendMessage(chat_id, "OFF TRACKER HAS BEEN UPDATED FOR DDY!");
}
}

测试代码片段

if(data == 'dysone'){
  return editMessageText(chat_id, contents.callback_query.message.message_id,"Reply to this message eg: 5, Earn from MEP MMRC! OR -1, Used on 10/5/23");
}

if(data == 'ddy'){
  return editMessageText(chat_id, contents.callback_query.message.message_id,"DDY");
}

// handle dysone case
if(contents.message.reply_to_message && contents.message.reply_to_message.from.id == 6294332173){
  var dateNow = new Date;
  var formattedDate = dateNow.getDate() + "/" + (dateNow.getMonth() + 1);
  var item = text.split(",");
  // MAIN SHEET
  var offtracker = SpreadsheetApp.openById(ssId).getSheetByName("DY");
  offtracker.getRange(4, 1).setValue([formattedDate]);
  offtracker.getRange(4, 2).setValue(item[0]);
  offtracker.getRange(4, 3).setValue(item[1]);
  //   histracker.appendRow([formattedDate],item[0],item[1]);

  offtracker.insertRows(5, 1);
  var copylist = offtracker.getRange('A4:C4').getValues();
  // then insert data into blank row (5)
  offtracker.getRange('A5:C5').setValues(copylist);
  return sendMessage(chat_id, "OFF TRACKER HAS BEEN UPDATED FOR DYS1!");
}

// handle ddy case
if(contents.message.reply_to_message && contents.message.reply_to_message.from.id == 6294332173 && text == "DDY"){
  var dateNow = new Date;
  var formattedDate = dateNow.getDate() + "/" + (dateNow.getMonth() + 1);
  var item = text.split(",");
  // MAIN SHEET
  var offtracker2 = SpreadsheetApp.openById(ssId).getSheetByName("DDY");
  offtracker2.getRange(4, 1).setValue([formattedDate]);
  offtracker2.getRange(4, 2).setValue(item[0]);
  offtracker2.getRange(4, 3).setValue(item[1]);
  //   histracker.appendRow([formattedDate],item[0],item[1]);

  offtracker2.insertRows(5, 1);
  var copylist2 = offtracker2.getRange('A4:C4').getValues();
  // then insert data into blank row (5)
  offtracker2.getRange('A5:C5').setValues(copylist2);
  return sendMessage(chat_id, "OFF TRACKER HAS BEEN UPDATED FOR DDY!");
}
}

内容的提问来源于stack exchange,提问作者Sk My

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 15:57:09