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

Google Apps Script中Telegram Bot部分命令无法触发问题排查

Telegram Bot命令触发异常排查方案(Google Apps Script)

原文件可能的问题点及排查步骤

  • 命令匹配细节问题
    检查handleInitialCommands中的判断逻辑:

    • 确认命令拼写完全一致,比如是否存在大小写差异(如/Requestarsip vs /requestarsip)、多余空格(如/requestarsip )
    • 在函数开头添加日志,输出实际接收的命令内容:
      function handleInitialCommands(command) {
        Logger.log('当前接收命令:' + command);
        // 原有逻辑...
      }
      

    触发问题命令后,查看GAS日志(查看→日志),确认命令是否与判断条件完全匹配。

  • GAS脚本缓存/旧部署残留
    GAS有时会缓存旧代码版本,导致修改不生效:

    • 进入部署→管理部署,停用所有旧部署版本,重新部署新版本并设置为“活动版本”
    • 手动触发脚本缓存刷新:运行任意一个无关小函数,或重启浏览器后重新测试
  • Telegram Bot Webhook配置问题
    原Bot的Webhook可能指向旧的GAS部署地址或存在缓存:

    • 在GAS中添加重置Webhook的函数并执行:
      function resetTelegramWebhook() {
        const BOT_TOKEN = '你的Bot令牌';
        const webhookUrl = ScriptApp.getService().getUrl();
        UrlFetchApp.fetch(`https://api.telegram.org/bot${BOT_TOKEN}/setWebhook?url=${encodeURIComponent(webhookUrl)}`);
      }
      
  • 全局变量/作用域冲突
    检查原文件中是否存在与命令名同名的全局变量(如var requestarsip = 'xxx'),这类变量可能干扰命令判断逻辑,导致分支匹配失败。

新旧文件差异排查

  • 使用文本对比工具(如VS Code的文件对比功能)逐行对比原文件与新文件代码,重点关注:
    • handleInitialCommands函数内的命令判断分支是否有拼写错误、遗漏或逻辑差异
    • 全局变量、其他辅助函数是否存在影响命令判断的逻辑
  • 检查部署配置:确认原文件与新文件的部署权限(谁可以访问此应用)是否一致(需设置为任何人,甚至匿名)
  • 检查脚本权限:原文件是否存在权限过期情况,导致部分逻辑执行失败间接触发else分支

内容的提问来源于stack exchange,提问作者23March

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 08:27:42