2016-09-12 91 views
1

我是Telegram Bot的新手。我知道如何使用方法通过PHP或cURL中的file_get_contents方法发送消息或其他消息,但我对TYPE的知识不够。虽然我在电报网页上看过,但它被误解了。所以我不知道如何在我的Bot中使用TYPE。我想为我的Bot创建一个键盘,所以我认为当我使用cURL时,我应该使用参数发送TYPE。所以我写了下面的代码:如何在Telegram Bot API中使用TYPE?

$Params = array (
    'chat_id' => $ChatID, 
    'text' => 'Hello !', 
    'ReplyKeyboardMarkup' => array (
     'keyboard' => array(array('Hello', 'Hi')) 
    ) 
); 

它向我发送消息时,我使用curl:

$Curl = curl_init("https://api.telegram.org/bot".$APIToken."/sendMessage"); 
curl_setopt($Curl, CURLOPT_HEADER, true); 
curl_setopt($Curl, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($Curl, CURLOPT_POST, 1); 
curl_setopt($Curl, CURLOPT_POSTFIELDS, ($Params)); 
curl_setopt($Curl, CURLOPT_SSL_VERIFYPEER, false); 
curl_exec($Curl); 
curl_close($Curl); 

,但它不显示我的键盘...,什么是我的错?

回答

1

您需要与ReplyKeyboardMarkup

$ReplyKeyboardMarkup = array(
    "keyboard" => array(
     array("1st row left", "1st row right"), 
     array("2nd row left", "2nd row right") 
    ) 
); 

$Params = array (
    'chat_id' => $ChatID, 
    'text' => 'Hello !', 
    'reply_markup' => json_encode($ReplyKeyboardMarkup) 
); 
+0

大的格式添加键值reply_markup!谢谢我的朋友......,我知道关于重新调整或...的ReplyKeyboard参数,但我不知道如何声明键盘的位置或电话......,你能举个例子吗? –

+1

只需将按钮文本替换为KeyboardButton格式的另一个数组:'array(“text”=>“Send Location”,“request_location”=> true)' – Maak

+0

感谢我的朋友......,非常感谢。 .. –