The following code works, it adds custom keyboard keys 'Button1' and '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";
I need to use Inline Keyboard though for my purposes, but I haven't been able to get it to work
$keyboard = [
'inline_keyboard' => [['Button1' => 'test', 'callback_data' => 'test'],
];
or
$keyboard = [
'inline_keyboard' => [['Button1' => 'test'],['callback_data' => 'test']],
];
doesn't work. I would really appreciate if anyone has a working example or can point out what is wrong in my example.
Link to documentation: https://core.telegram.org/bots#inline-keyboards-and-on-the-fly-updating
It looks like you are missing an additional array. The reply_markup
should look like this:
$keyboard = array(
"inline_keyboard" => array(array(array("text" => "My Button Text", "callback_data" => "myCallbackData")))
);