我是Telegram Bot的新手。我知道如何在PHP或cURL中使用方法通过file_get_contents方法发送消息或其他消息,但我对类型的了解还不够。虽然我在Telegram Page上读过,但它被误解了。所以我不知道如何在我的Bot中使用类型。我想为我的机器人创建一个键盘,所以我认为当我使用cURL时,我应该发送带有参数的类型。所以我写了下面的代码:
$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);
但是它没有给我显示键盘...,我的错误是什么?
发布于 2016-09-12 22:14:05
您需要添加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)
);
https://stackoverflow.com/questions/39456614
复制