【问题标题】:Telegram bot api custom keyboard messageTelegram bot api 自定义键盘消息
【发布时间】:2016-08-09 00:21:04
【问题描述】:

我有 php 中的电报机器人,我展示了自定义键盘:

$replyMarkup = array(
      'keyboard' => array(
           array('/help')
       )
);

$keyboard = json_encode($replyMarkup)

$this->client->request('POST', 'sendmessage', ['query' => ['chat_id' => $chatId, 'text' => $text, 'reply_markup' => $keyboard]]);

一切正常。
我的问题是:有没有办法将键盘命令映射到不同的消息?
所以在这种情况下,我想显示自定义键盘,显示“帮助”并点击发送/帮助。

谢谢。

【问题讨论】:

    标签: php telegram-bot


    【解决方案1】:

    目前,自定义键盘的按钮只是消息的模板,所以“不,这不可能”。

    【讨论】:

      【解决方案2】:

      使用InlineKeyboardMarkup 可以解决这个问题。

      C#的基本用法

         public static InlineKeyboardMarkup TestInlineKeyboard { get; } = new InlineKeyboardMarkup           
          {
              InlineKeyboard = new []{new[] {new InlineKeyboardButton("Text1","Data1"),    
                                             new InlineKeyboardButton("text1","data2")} }
          };    
      

      其中“Text1”和“text1”是内嵌按钮上的标题,“Data1”和“data2”是当用户单击内嵌按钮时您的机器人将收到的 CallbackQuery 文本。请注意,当用户单击内联按钮时,机器人不会向用户发送任何消息。如果您当时需要发送任何消息 - 您可以通过编程方式进行。
      警告:内联键盘目前正在测试中,尚未在频道中使用。现在,您可以在一对一的聊天或群组中随意使用它们。但很高兴知道。

      取自this post

      【讨论】:

      • 始终欢迎提供潜在解决方案的链接,但如果链接不再可用,请为未来的访问者添加一些详细信息。
      猜你喜欢
      • 1970-01-01
      • 2015-09-14
      • 2016-04-26
      • 2020-03-01
      • 1970-01-01
      • 2016-11-24
      • 2016-10-17
      • 1970-01-01
      • 2015-10-08
      相关资源
      最近更新 更多