2016-09-06 68 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);