【问题标题】:Telegram Bot — reset user settings on chat removing / clearingTelegram Bot — 在删除/清除聊天时重置用户设置
【发布时间】:2016-06-12 21:50:30
【问题描述】:

我正在为 Telegram Bots Api 使用 Java 库:https://github.com/rubenlagus/TelegramBots

我想知道的是——是否可以检测机器人何时从用户联系人列表中删除?
我想处理此事件以从数据库中删除用户设置(例如语言),因此下次用户添加我的机器人时,他可以从头开始指定设置,而不是停留在以前的选择上。

找到解决方案

我在下面描述了我的解决方案。

【问题讨论】:

  • 您确定在用户发送 /start 命令时重置用户设置是个好主意吗?
  • @ariaby 我认为这是一个相当不错的解决方案,因为 /start 命令不会显示在弹出命令列表中,因此不会被意外拾取。它被设计为仅在两种情况下发送:1)当用户第一次添加您的机器人时; 2)当用户机器人的历史被清除并重新开始聊天时。如果用户手动发送 /start 命令,他可能会期待与上述完全相同的行为。
  • 您可能想编写自己的答案并接受它,这样人们就可以为答案投票。
  • @JohannesKuhn 是的,我会的,谢谢。

标签: java telegram-bot


【解决方案1】:

这是不可能的,因为当用户删除机器人时您不会收到通知。您遇到的唯一错误是当您尝试向已阻止该机器人的用户发送消息时。

【讨论】:

    【解决方案2】:

    好的,我想我找到了可能的解决方案。
    希望对某人有所帮助。

    不需要处理 bot 的删除,您可以处理 bot 的 restart,因为每次用户清除历史记录或重新添加已删除的 bot 后,bot 都会收到第一条消息 — /start 命令。因此,接收 /start 命令是重置先前设置并让用户再次指定它们的好点。

    另见上面的讨论:Telegram Bot — reset user settings on chat removing / clearing

    【讨论】:

    • 爱它!这在机器人仍处于开发状态时特别有用。处理start 命令将是机器人开发人员从......开始与用户开始对话的一种直观方式。谢谢你!
    猜你喜欢
    • 2016-05-17
    • 1970-01-01
    • 2017-05-11
    • 2018-12-18
    • 2016-10-30
    • 1970-01-01
    • 1970-01-01
    • 2018-10-05
    • 2020-04-14
    相关资源
    最近更新 更多