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 来删除编辑命令菜单中的所有命令。
我正在尝试使用 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 来删除编辑命令菜单中的所有命令。