如何在Telegram Bot API中使用TYPE?

时间:2016-09-12 18:34:04

标签: php curl telegram telegram-bot

我是Telegram Bot的新手。我知道如何使用METHODs通过PHP或cURL中的file_get_contents方法发送消息或其他人,但我对TYPEs知之甚少。虽然我在Telegram Page中读到,但却被误解了。所以我不知道如何在我的机器人中使用TYPE。我想为我的机器人创建一个键盘,所以我想当我使用cURL时,我应该发送带有参数的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 个答案:

答案 0 :(得分:1)

您需要添加格式为ReplyKeyboardMarkup

的密钥reply_markup
$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)
);