2016-09-06 70 views
0

有人可以幫助我解決這個代碼中的問題? 我想在電報機器人中有3個按鈕。 這是execute.php文件,如果在參數中我把reply_markup不起作用。電報PHP創建鍵盤

<?php 
$content = file_get_contents("php://input"); 
$update = json_decode($content, true); 

if(!$update) 
{ 
    exit; 
} 

$message = isset($update['message']) ? $update['message'] : ""; 
$messageId = isset($message['message_id']) ? $message['message_id'] : ""; 
$chatId = isset($message['chat']['id']) ? $message['chat']['id'] : ""; 
$firstname = isset($message['chat']['first_name']) ? $message['chat']['first_name'] : ""; 
$lastname = isset($message['chat']['last_name']) ? $message['chat']['last_name'] : ""; 
$username = isset($message['chat']['username']) ? $message['chat']['username'] : ""; 
$date = isset($message['date']) ? $message['date'] : ""; 
$text = isset($message['text']) ? $message['text'] : ""; 

$text = trim($text); 
$text = strtolower($text); 

header("Content-Type: application/json"); 
$response = ''; 
$encodedMarkup = ''; 

$list=array("A", "B", "C"); 
$response="Choose:"; 
global $bottoken; 
$replyMarkup = array(
    'keyboard' => list, 
); 
$encodedMarkup = json_encode($replyMarkup); 

$parameters = array('chat_id' => $chatId, 'text' => $response, 'reply_markup' => $encodedMarkup); 
$parameters["method"] = "sendMessage"; 
echo json_encode($parameters); 

回答

0

這是錯誤的:

list=array("A", "B", "C"); 

不能賦值一個常數。您只能將define()設爲常數,例如

define('list', array('A', 'B', 'C')); 

也許你的意思是

$list=array("A", "B", "C"); 
^-- 

呢?

+0

是的,這是一個在複製/粘貼錯誤。但它還沒有工作。 –

-1

試試這個

$list = array(array("A", "B", "C")); 
$replyMarkup = array("keyboard" => $list,"resize_keyboard" => false,"one_time_keyboard" => false); 
$encodedMarkup = json_encode($replyMarkup);