【发布时间】:2022-12-09 01:44:34
【问题描述】:
我有一个电报机器人,用户可以在其中发送 /start 命令,我将通过网络挂钩在我的服务器上接收此命令。在 99% 的情况下,来自电报的请求如下所示:
{
"update_id":99999999,
"message":{
"message_id":9999,
"from":{
"id":999999999,
"is_bot":false,
"first_name":"first_name",
"last_name":"last_name",
"language_code":"code"
},
"chat":{
"id":99999999,
"first_name":"first_name",
"last_name":"last_name",
"type":"private"
},
"date":1665383118,
"text":"/start",
"entities":[
{
"offset":0,
"length":6,
"type":"bot_command"
}
]
}
}
对象是“消息”,我在那里有一个文本“/start”。
但有时一些新用户之前没有使用过这个机器人,当他们从电报发送开始请求时,看起来像这样:
{
"update_id":999999999,
"my_chat_member":{
"chat":{
"id":999999999,
"first_name":"first_name",
"type":"private"
},
"from":{
"id":999999999,
"is_bot":false,
"first_name":"first_name",
"language_code":"code"
},
"date":1665381194,
"old_chat_member":{
"user":{
"id":8888888888,
"is_bot":true,
"first_name":"bot_name",
"username":"bot_name"
},
"status":"member"
},
"new_chat_member":{
"user":{
"id":8888888888,
"is_bot":true,
"first_name":"bot_name",
"username":"bot_name"
},
"status":"kicked",
"until_date":0
}
}
}
未从该用户收到对象“my_chat_member”和“开始”命令。
iPhone、Android、PC、Web 上的用户都会出现这种情况。 我不明白为什么会发生以及如何解决。
【问题讨论】:
-
第二个请求是状态更新,表示您的机器人被踢出群组或在私人聊天中被用户阻止。你确定不是这样吗?
-
@Cem 是的,用户只是向机器人发送 /start 命令,但我没有收到消息,而是在我的服务器上收到了 new_chat_member 。这只是有时发生。在大多数情况下,我收到“消息”。
标签: telegram telegram-bot