【发布时间】:2021-03-19 16:35:05
【问题描述】:
我正在使用 pyTelegramBotAPI 库构建电报机器人,我想知道是否有办法知道用户何时删除与我的机器人的聊天,因此机器人不会向该特定 ID 发送更多消息。 阅读电报API我什么也没找到,你能帮帮我吗?
【问题讨论】:
标签: python telegram-bot
我正在使用 pyTelegramBotAPI 库构建电报机器人,我想知道是否有办法知道用户何时删除与我的机器人的聊天,因此机器人不会向该特定 ID 发送更多消息。 阅读电报API我什么也没找到,你能帮帮我吗?
【问题讨论】:
标签: python telegram-bot
编辑: Bot API 5.1 引入了一种新的更新类型,由 ChatMemberUpdated 类表示。
当用户阻止您的机器人时,您现在将收到如下所示的更新:
{
"update_id":111627970,
"my_chat_member":{
"chat":{...},
"from":{...},
"date":1116140500,
"old_chat_member":{...},
"new_chat_member":{
"user":{...},
"status":"kicked",
"until_date":0
}
}
}
相应地处理此更新。它包含所有相关信息,可让您排除阻止您的机器人的用户。
旧答案:
遗憾的是,您不知道用户何时删除了与您的机器人的聊天。
您可以继续发送消息。最终用户会阻止你的机器人。
尝试向阻止您的机器人的用户发送消息会给您 HTTP 状态代码错误 403。
403: Forbidden: bot 被用户屏蔽
只有这样,您才能安全地从列表中删除用户的 chat_id。
【讨论】:
据我所知,没有办法。当你和朋友聊天时,有没有办法知道他/她删除了你的聊天页面?没有。
在这种情况下,Telegram bot 与简单聊天完全相似 这个日期。 Telegram Bot API 中没有考虑到这一点 日期。
【讨论】: