Telegram机器人webhook只发送命令



我正在nodejs中构建一个电报聊天机器人,它将在webhook上工作。目前,机器人在聊天中的每条消息都会点击我的webhook URL。是否可以只在机器人执行命令时推送有效负载?

因此,我只想在用户执行/test命令时从聊天中获得有效负载,而聊天中的任何其他消息都不应该指向我的URL。

#编辑

隐私的当前设置

"启用"-您的机器人程序只会收到以"/"符号开头或按用户名提及机器人程序的消息。"禁用"-您的机器人程序将接收人们发送到群的所有消息。当前状态为:启用

我想在群里使用机器人,并与机器人直接聊天,这样我就可以测试东西了。

我创建了一个测试组,添加了机器人和我在组中键入的任何内容,我可以在Webhook URL的日志中看到。因此,无论它/测试还是一些文本,它都会被推送

#编辑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"
}
]
}
}

您必须使用@BotFather来设置您的机器人隐私:

  1. 向@BotFather发送/mybots命令
  2. 按用户名选择你的机器人
  3. 选择Bot设置
  4. 选择组隐私
  5. 启用或禁用机器人的隐私

如果启用了隐私模式,您的机器人程序只接收以斜线/开头的消息

好吧,我找到了问题的答案。

我在聊天中添加了一个机器人作为管理员,这就是他发送所有消息的原因。管理员机器人程序将推送所有聊天消息。像普通用户一样添加机器人程序解决了这个问题,现在我只接收/命令更新。

默认情况下,所有机器人程序都启用隐私模式以管理员身份添加到组中(机器人管理员总是接收所有消息(。它可以被禁用,这样机器人程序就可以像普通用户(为此需要将机器人程序重新添加到组中更改生效(。我们只建议在对于你的机器人来说是绝对必要的——用户总是可以看到组成员列表中bot的当前隐私设置。在大多数在这种情况下,对机器人程序的消息使用强制回复选项应该是绰绰有余。

单据

相关内容

最新更新