【问题标题】:How to delete a Telegram user id when user delete the chat of the bot用户删除机器人聊天时如何删除电报用户ID
【发布时间】:2021-03-19 16:35:05
【问题描述】:

我正在使用 pyTelegramBotAPI 库构建电报机器人,我想知道是否有办法知道用户何时删除与我的机器人的聊天,因此机器人不会向该特定 ID 发送更多消息。 阅读电报API我什么也没找到,你能帮帮我吗?

【问题讨论】:

    标签: python telegram-bot


    【解决方案1】:

    编辑: 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。

    【讨论】:

      【解决方案2】:

      据我所知,没有办法。当你和朋友聊天时,有没有办法知道他/她删除了你的聊天页面?没有。

      在这种情况下,Telegram bot 与简单聊天完全相似 这个日期。 Telegram Bot API 中没有考虑到这一点 日期。

      【讨论】:

        猜你喜欢
        • 2022-12-11
        • 1970-01-01
        • 1970-01-01
        • 2013-03-30
        • 1970-01-01
        • 2022-11-02
        • 2018-10-05
        • 2018-02-16
        • 1970-01-01
        相关资源
        最近更新 更多