Telegram 机器人:如何使用 botFather 删除命令

Telegram bots: How do you remove a command with botFather

我正在尝试使用 botFather 从我的机器人中删除所有命令。我找不到这方面的文档。有一个选项可以向 BotFather 发送新的命令列表,但这对我没有帮助,因为我的机器人没有任何命令,因为我正在使用自定义键盘。

知道怎么做吗?

BotFather 只维护您提供的命令列表。

您可以使用它执行新的 /setcommands,但实际上您不能从那里更改机器人的功能。

我觉得@ixchi 的回答是现在的妥协。公平地说,在 Telegram 约定 (/something) 中不可能删除所有以前的设置命令,所以至少你必须至少设置一个 /start 或一个 /help 命令。

Telegram bot API 中命令概念的 Issue/limitation 现在被认为只是一个 GLOBAL 列表,在创建 bot 时设置一次: -(

这对于一个非常简单的聊天机器人应用程序来说没问题,但对于必须处理具有许多不同 "status".

的复杂 "state machine" 的机器人来说并不是最好的

我想要的是在 运行 时间内设置一个 CONTEXTUAL 命令列表。

我举例说明: 假设聊天机器人对话处于以下状态:shopping_cart_order_processing

在这种情况下,我想使用与此状态相关的列表来完成输入界面:

/添加 item_id

/删除 item_id

/list 列出购物车中的所有商品

/checkout 提交您的订单!

等 等等

之后,当用户下订单时,order_sent中的状态可能会发生变化,命令列表也会发生变化!

当然,限制只是用户界面聊天应用程序功能的问题( / button/pop-uplist),并且机器人无论如何都可以解释任何用户语句,例如:

/帮助

帮助

提出上下文命令列表。

希望我的考虑对您有所帮助。

无论如何,我想把这个 "change request" 发给 Telegram 机器人小伙伴……但我不知道如何联系机器人小伙伴以获得 CR。

无论如何,Telegram Bot API 非常棒,现在正在开发中(参见:https://core.telegram.org/bots/api)!

只需使用 /setcommands 添加一个新的命令列表。

您的旧列表将被覆盖。

没有像 "Delete command" 这样的直接功能。您只需要再次覆盖命令。是这样的。假设您有如下命令集

  • /love - 爱是永恒的
  • /合作伙伴 - return合作伙伴
  • /状态 - return关系状态

假设您需要从机器人中删除命令 /status。首先你需要去 @BotFather 使用 /mybots select 你的机器人获取你的机器人列表,然后 select 编辑机器人 接下来编辑命令。现在您将提示添加新的命令集。然后给出没有你需要删除的命令列表。喜欢下面

- 爱是永恒的
合作伙伴 - return合作伙伴

然后 BotFather 将向您的新机器人添加新命令集。如果您不能立即看到您的新命令集,请不要担心。他们会在 10 分钟后添加

和今天一样,您可以发送命令 /empty 来删除编辑命令菜单中的所有命令。