Telegram bot api自定义键盘消息

时间:2016-04-09 13:29:52

标签: php telegram-bot

我在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]]);

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

感谢。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

使用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文本。请注意,当用户单击内联按钮时,bot不会向用户发送任何消息。如果您需要在那一刻发送任何消息 - 您可以通过编程方式执行此操作   警告:内联键盘目前正在测试中,但尚未在频道中使用。现在,您可以在一对一的聊天或群组中使用它们。但很高兴知道。

来自this post