我尝试将 Telegram webhook 设置到位于 glitch.com 的服务器。 我有这样的代码:
const express = require("express");
const app = express();
const TelegramBot = require('node-telegram-bot-api')
const bot = new TelegramBot(process.env.TG_BOT_TOKEN);
bot.setWebHook(`[url]/bot${process.env.TG_BOT_TOKEN}`);
app.use(express.json())
app.post(`/bot${process.env.TG_BOT_TOKEN}`, (req, res) => {
console.log('it works')
res.sendStatus(200);
});
const listener = app.listen(process.env.PORT, () => {
console.log("Your app is listening on port " + listener.address().port);
});
它会寻找我,因为它会起作用,但它不会。相同的代码您可以在手册中找到设置 webhooks 的示例。
我在 https://api.telegram.org/bot[TOKEN]/getWebhookinfo
{
"ok": true,
"result": {
"url": "[url]/bot[TOKEN]",
"has_custom_certificate": false,
"pending_update_count": 2,
"last_error_date": 1620634795,
"last_error_message": "Wrong response from the webhook: 403 Forbidden",
"max_connections": 40,
"ip_address": "34.230.134.23"
}
}
此外,如果我通过邮递员发送 post-request [url]/bot[TOKEN],它会返回状态 200 OK。
你能帮我了解一下哪里出了问题吗?