【问题标题】:Telegram Bot webhook not working on Apps ScriptTelegram Bot webhook 不适用于 Apps 脚本
【发布时间】:2019-12-24 00:11:14
【问题描述】:

我关注this website 在我的 Telegram Bot 和 Apps Script webapp 之间设置 webhook。我根据指南设置了 webhook 并部署了 webapp。当我向机器人发送任何消息时,什么都没有发生(机器人应该回显消息)。当我这样做时,应用程序没有收到 POST 请求(至少根据记录器),这表明 webhook 存在问题。

出于测试目的,webApp 只是将机器人收到的任何消息回显给发送者。

我通过访问设置 webhook https://api.telegram.org/bot{API_TOKEN}/setWebHook?url={CURRENT_WEB_APP_URL} 并获得“webhook 已设置”消息作为响应。

然后我部署 webapp 并向机器人发送一条“测试”消息。机器人没有响应,内置记录器中也没有任何记录。发送 getWebhookInfo 会产生以下结果:

ok  true
result  
url "https://script.google.com/macros/s/XXXXXXXXXXXXXX/exec"
has_custom_certificate  false
pending_update_count    0
max_connections 40
function doPost(e)
{
  Logger.log(e);
  var contents = JSON.parse(e.postData.contents);
  var id = contents.message.from.id;
  var userID = contents.message.from.username;
  var text = contents.message.text.split(' ');
  var name = contents.message.from.first_name;
  sendMessage(id, text);


}

function sendMessage(id, text)
{
  var url = telegramAPI + "/sendMessage?chat_id="+id+"&text"+text;
  var response = UrlFetchApp.fetch(url);
}
function setWebhook()
{
  var url = telegramAPI + "/setWebhook?url="+webAppUrl;
  var response = UrlFetchApp.fetch(url);
  Logger.log(response);
}

我希望机器人能够回复,但没有任何反应。有什么线索吗?

【问题讨论】:

  • var url = telegramAPI + "/sendMessage?chat_id="+id+"&text"+text; 中,您为telegramAPI 设置了什么值?
  • telgramAPI = "https://api.telegram.org/bot"+ token;
  • 所以那里没有错误。您向机器人发送消息的类型是:privategroupsupergroupchannel
  • 这是一个私人聊天。到目前为止,我一直在喂单字消息无济于事
  • 该死的。我再次查看了 sendMessage 函数。文本参数末尾缺少“=”。很抱歉浪费您的时间。非常感谢

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


【解决方案1】:
var url = telegramAPI + "/sendMessage?chat_id="+id+"&text"+text;

在“&text”中添加了“=”并且它起作用了。很抱歉浪费您的时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-11
    • 2016-04-10
    • 2020-09-22
    • 2018-03-12
    • 2016-07-15
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    相关资源
    最近更新 更多