2016-02-27 8 views
3

У меня проблема с моей телеграммой bot.I хочу сделать Keybaord для моего бота. Когда я запускаю мою телеграмму апи URL из браузера работает:ReplyMarkup в php telegram bot

 https://api.telegram.org/mybottoken/sendmessage?chat_id=93119306&text=something&reply_markup={"keyboard":[["Yes","No"],["Maybe"],["1","2","3"]], "one_time_keyboard":true}; 

но

Когда я хочу работать с этим URL ($ SendTo Variable) в моем файле PHP это не работает. мой PHP код:

<?php 
define('BOT_TOKEN', '183690241:AAHgluc7D9g0DF_InurfBj2YdBgPE7fmymo'); 
define('API_URL', 'https://api.telegram.org/bot'.BOT_TOKEN.'/'); 
    $array = array(); 
// read incoming info and grab the chatID 
$content = file_get_contents("php://input"); 
$update = json_decode($content, true); 
$chatID = $update["message"]["chat"]["id"]; 
$chatText = $update["message"]["text"]; 
// compose reply 
$reply = sendMessage(); 

// send reply 
$sendto =API_URL."sendmessage?chat_id=".$chatID."&text=".$reply."&reply_markup={"keyboard":[["Yes","No"],["Maybe"],["1","2","3"]], "one_time_keyboard":true}; 

file_get_contents($sendto); 
function sendMessage(){ 
    global $chatID; 
    global $chatText; 
    if ($chatText =="/start") { 
     $message = "Salam - Roboate Megat Hastam"; 
    } 
    elseif ($chatText =="Khoobi?") { 
     $message = "Merc - Shomaa khobi?"; 
    } 
     elseif ($chatText =="Chand salete?") { 
     $message = "Be Tu Che!"; 
    } 
else 
    { 
     $message = "No Command"; 
    } 


return rawurlencode($message); 
} 
?> 

помогите пожалуйста, где я сделал ошибку. спасибо всем парням.

ответ

2

Попробуйте этот код:

var_dump($keyboard = json_encode($keyboard = [ 
         'keyboard' => [ 
         ['Yes'],['No'],['Maybe'], 
         ['1'],['2'],['3'], 
         ] , 

         'resize_keyboard' => true, 
         'one_time_keyboard' => true, 
        'selective' => true 
        ]),true); 


    function sendKeyboard($chat_id, $keyboard) { 

     $text = "Merc - Shomaa khobi?"; 
     file_get_contents(API_URL ."sendMessage?chat_id=".$chat_id."&reply_markup=".$keyboard."&text=".urlencode($text)); 

    } 

    if($message == "/start"){ 

     sendKeyboard($chat_id, $keyboard); 
    }