【发布时间】: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; -
所以那里没有错误。您向机器人发送消息的类型是:
private、group、supergroup或channel? -
这是一个私人聊天。到目前为止,我一直在喂单字消息无济于事
-
该死的。我再次查看了 sendMessage 函数。文本参数末尾缺少“=”。很抱歉浪费您的时间。非常感谢
标签: google-apps-script google-sheets telegram-bot