PHP özel bir klavye ile bir Telgram Bot yapmaya çalışıyorum. Mesaj teslim edildi, ancak özel klavye çalışmaz. $ keyb = dizi ('klavye' => dizi (dizi ("A", "B"))); ayrıca başarı yok.Telegram Bot özel klavye PHP
Nesne için sendMessage yönteminin yönlendirenlerini ReplyKeyboardMarkup yöntemine yönlendirin. ReplyKeyboardMarkup için bir dizi yapma çalışmıyor. Ayrıca json_encode ($ keyb) denedi ama bu da çözüm değil.
Örnekler için GitHub'da aradım ancak özel klavyenin kullanıldığı bir yer bulamadım. Telegram hem uptodate hem de iPhone ve masaüstü bilgisayarlarda çalışır.
örnek kod:
$replyMarkup = array(
'keyboard' => array(
array("A", "B")
)
);
$encodedMarkup = json_encode($replyMarkup);
$content = array(
'chat_id' => <chat_id>,
'reply_markup' => $encodedMarkup,
'text' => "Test"
);
Does:
$url = "https://api.telegram.org/bot<token>/sendMessage";
$keyb = array('ReplyKeyboardMarkup' => array('keyboard' => array(array("A", "B"))));
$content = array('chat_id' => <chat_id>, 'reply_markup' => $keyb, 'text' => "Test");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($content));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //fix http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/
// receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec ($ch);
curl_close ($ch);
var_dump($server_output);
Hayır, işe yaramıyor. Ayrıca bahsetmeyi unuttum ama aynı zamanda – Martin
denediniz mi? Bu, reddit'e göre doğru yaklaşımdır: http://www.reddit.com/r/Telegram/comments/3bblz0/sendmessage_with_replykeyboardmarkup_problem Mayıs Gönderi verilerinizi döküm etmeye ve karşılaştırmaya değmezsiniz. İyi şanslar. –
Evet, bu işe yarıyor! Her şeyi denedim, ama bunu atladım. Teşekkürler! – Martin