我正在尝试用电报制作一个机器人,但是我无法运行电报的内联键盘,或者更好,我无法对用户按下的键进行响应......这是我的代码:
function in_keyboard($chatID, $text){
$keyboard = '{"inline_keyboard":[[{"text":"Warrior","callback_data":"data"}],[{"text":"Paladin","callback_data":"data"}],[{"text":"Assassin","callback_data":"data"}],[{"text":"Druid","callback_data":"data"}],[{"text":"Mage","callback_data":"data"}],[{"text":"Hunter","callback_data":"data"}]]}';
$url = $GLOBALS[website]."/sendMessage?&chat_id=".$chatID."parse_mode=Markdown&reply_markup=".$keyboard."&text=".urlencode($text);
file_get_contents($url);
}
答案 0 :(得分:0)
您的代码工作正常,因为它显示六个内联键盘按钮。
接下来,您需要处理用户输入。按其中一个按钮将导致向您的服务器发送请求。它包含JSON作为您可以使用的POST数据。 它看起来像这样:
{
"update_id":390709664,
"callback_query":{
"id":"717705292376918617",
"from":{
"id":12345678,
"first_name":"foo",
"username":"someName",
"language_code":"en"
},
"message":{
"message_id":78433,
"from":{
"id":210575457,
"first_name":"yourBotDisplayName",
"username":"yourBotUsername"
},
"chat":{
"id":167103785,
"first_name":"foo",
"username":"someName",
"type":"private"
},
"date":1498825165,
"text":"ok"
},
"chat_instance":"-29205973098956026374",
"data":"data"
}
}
获取您需要的任何数据(可能是data
字段),构建响应并将其发送给用户。