【问题标题】:Telegram bot clickable commands in groups but clicking on them mentions the botTelegram bot 分组中的可单击命令,但单击它们会提到该 bot
【发布时间】:2020-10-24 09:24:03
【问题描述】:

我有一个 Telegram 机器人(在 Node JS 中)。

我向 BotFather 发送了一个命令列表:

command 1 - description 1
command 2 - description 2

私下效果很好。当我输入“/”时,我会看到可用的命令列表,当我单击一个时,它会在聊天中发送消息“命令 1”。

但是当我在一个组中执行此操作时,虽然它也显示命令,但当我单击它时会发送此消息“command 1@botusername”,所以它没有不行。

为什么会这样?我希望在组中具有相同的行为。

【问题讨论】:

  • 您介意分享您在 Nodejs 中实现此功能的代码吗?
  • @RotimiBest 实际上不需要代码来放置命令。这是通过在 Telegram 上与 Bot Father 私下交谈完成的。
  • 你找到解决办法了吗?虽然现在我使用的是/cmd || /cmd@usernameBot,所以它会同时识别/
  • @Dharmaraj 不,我没有,我正在做和你类似的事情。
  • @MarieDm 你对此有什么解决方案?

标签: node.js telegram telegram-bot


【解决方案1】:

我认为问题在于您使用了错误的套管系统。

/command 1@botusername 不是正确的命令大小写。

当您在命令名称之间插入空格时,电报假定命令已在 /command 结束,然后假定其余的 1@botusername 作为命令有效负载或只是文本,因此它标记机器人,因为它是用户名。

无论如何,您应该避免在命令之间添加空格,我建议使用蛇形大小写或只写不带空格的命令也知道我们没有这样的大小写

nocasecommand - description 1 or 
snake_case_command - description 1

我已经尝试过其他大小写,例如 camelCase 或 PacsalCase,尽管如果您将命令写在组中或私有中,它会起作用。我猜你不能将它添加到预设的命令选项中,因为电报在他们的命令选项中不支持大写字母。 For more Check out this image.

【讨论】:

    猜你喜欢
    • 2018-11-30
    • 2019-05-21
    • 2018-10-16
    • 1970-01-01
    • 2016-12-06
    • 2015-12-10
    • 2021-08-22
    • 2021-08-03
    • 2022-01-22
    相关资源
    最近更新 更多