Написал простой генератор кнопок. На вход подаем $tg->GenKeyboard2("#строка1# #строка1# ? #строка2# #строка2#");
(код)
public function GenKeyboard2($data)
{
$data = trim($data);
$mas = explode("#", $data);
$i=0;$j=0;$j_=0;
foreach ($mas as $key => $value) {
if(!empty(trim($value)))
{
if(strpos($value, "?")===FALSE)
{
$arInfo["inline_keyboard"][$i][$j]["text"] = $value;
$j++;
}
else { $i++; $j=0; }
}
}
return $arInfo;
}
На выходе получаем
array(1) {
["inline_keyboard"]=>
array(2) {
[0]=>
array(2) {
[0]=>
array(1) {
["text"]=>
string(13) "строка1"
}
[1]=>
array(1) {
["text"]=>
string(13) "строка1"
}
}
[1]=>
array(2) {
[0]=>
array(1) {
["text"]=>
string(13) "строка2"
}
[1]=>
array(1) {
["text"]=>
string(13) "строка2"
}
}
}
}
Далее пытаюсь отправить это дело в телеграм следующим образом:
public function send($id, $message,$keyboard='')
{
if($keyboard == "DEL"){
$keyboard = array(
'remove_keyboard' => true
);
}
if($keyboard){
$encodedMarkup = json_encode($keyboard);
$data = array(
'chat_id' => $id,
'text' => $message,
'reply_markup' => $encodedMarkup
);
}else{
$data = array(
'chat_id' => $id,
'text' => $message
);
}
$out = $this->request('sendMessage', $data);
return $out;
}
С простыми кнопками(ReplyKeyboardMarkup) все прекрасно работает а вот с InlineKeyboardMarkup не хочет...