4

以下代码有效,它添加了自定义键盘键“Button1”和“Button2”

$keyboard = [
              'keyboard' => [['Button1'],['Button2']],
              'resize_keyboard' => true,
              'one_time_keyboard' => true,
              'selective' => true
            ];

$keyboard = json_encode($keyboard, true);

$sendto = API_URL."sendmessage?chat_id=".$chatID."&text=".$reply."&parse_mode=HTML&reply_markup=$keyboard";

尽管出于我的目的,我需要使用内联键盘,但我无法让它工作

$keyboard = [
             'inline_keyboard' => [['Button1' =>  'test', 'callback_data' => 'test'],
            ];

或者

$keyboard = [                       
             'inline_keyboard' => [['Button1' =>  'test'],['callback_data' => 'test']],
            ];

不起作用。如果有人有一个可行的示例或可以指出我的示例中的问题,我将不胜感激。

文档链接:https ://core.telegram.org/bots#inline-keyboards-and-on-the-fly-updating

4

2 回答 2

9

看起来您缺少一个额外的数组。reply_markup应该是这样 的:

$keyboard = array(
    "inline_keyboard" => array(array(array("text" => "My Button Text", "callback_data" => "myCallbackData")))
);
于 2017-01-18T00:42:09.120 回答
-4

$keyboard = [['inline_keyboard' => [['Button1' => 'test', 'callback_data' => 'test'],];

于 2019-02-27T17:01:53.017 回答