【发布时间】:2021-08-22 01:34:47
【问题描述】:
我正在用 nodejs 构建一个可以在 webhook 上运行的电报聊天机器人。目前,机器人在聊天中的每条消息都会点击我的 webhook URL。是否可以只在机器人的命令执行时推送有效载荷?
所以我只想在用户执行 /test 命令时从聊天中获取有效负载,并且聊天中的任何其他消息都不应 git 到我的 URL。
#编辑
当前的隐私设置
“启用” - 您的机器人将仅接收以“/”符号开头或通过用户名提及机器人的消息。 “禁用” - 您的机器人将接收人们发送给群组的所有消息。 当前状态为:已启用
我想在群组中使用 bot 并与 bot - 我直接聊天,这样我就可以进行测试了。
我创建了一个测试组,添加了机器人,我在组中输入的任何内容都可以在 Webhook URL 的日志中看到。所以无论是它的 /test 还是一些文本,它都被推送了
#编辑 2
这就是我在 webhook URL 中收到的内容(普通聊天文本和机器人命令)
{
"update_id": 1,
"channel_post": {
"message_id": 65,
"sender_chat": {
"id": -1,
"title": "Tssos",
"type": "channel"
},
"chat": {
"id": -1,
"title": "Tssos",
"type": "channel"
},
"date": 1,
"text": "test"
}
}
{
"update_id": 1,
"channel_post": {
"message_id": 67,
"sender_chat": {
"id": -1,
"title": "Tssos",
"type": "channel"
},
"chat": {
"id": -1,
"title": "Tssos",
"type": "channel"
},
"date": 1,
"text": "/test@TESTss_bot",
"entities": [
{
"offset": 0,
"length": 23,
"type": "bot_command"
}
]
}
}
【问题讨论】:
-
#1 您的机器人是在单个聊天还是群组中? #2 您是否一次收到所有消息?我的意思是如果聊天有 5 行并且有人写了一个新行,你的机器人收到 6 行吗? #3 检查这个github.com/jrichardsz/telegram-bot-starter
-
我专注于团队。不,我一个接一个地收到消息。
-
如果您在我的机器人模板github.com/jrichardsz/telegram-bot-starter/blob/… 中看到这一行,只会收到一条消息。
标签: node.js telegram telegram-bot node-telegram-bot-api