2016-09-12 118 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

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