如何在PHP Bot Telegram中创建内联按钮
发布时间:2020-12-13 21:57:13 所属栏目:PHP教程 来源:网络整理
导读:由于公司需要,我必须在php中编程…但我第一次使用php …这是我第一次使用电报机器人:'( 在某种程度上,之前,当我运行命令/ start和doWork时,一切正常…… 但现在我必须修改机器人,所有命令都隐藏在某个电报按钮后面…这里我是如何编辑我的php页面的: if(str
由于公司需要,我必须在php中编程…但我第一次使用php …这是我第一次使用电报机器人:'(
在某种程度上,之前,当我运行命令/ start和doWork时,一切正常…… 但现在我必须修改机器人,所有命令都隐藏在某个电报按钮后面…这里我是如何编辑我的php页面的: if(strpos($text,"/start") === 0) { $response = "Ciao $firstname,benvenuto!"; $keyboard = [ 'inline_keyboard' => [ [ ['text' => 'forward me to groups'] ] ] ]; $encodedKeyboard = json_encode($keyboard); $parameters = array( 'chat_id' => $chatId,'text' => $response,'reply_markup' => $encodedKeyboard ); $parameters["method"] = "sendMessage"; echo json_encode($parameters); } 有了BotFather,我也运行了命令/ setinline …… 所以我想我正在研究我的参数数组..有谁可以帮我吗? Ps.:(如果任何人都可以建议我也是一个与我合作的IDE …我现在正在使用记事本) 谢谢你们 解决方法
首先,您不需要在botFather中使用/ setinline命令.当您在正常聊天模式下使用inline_keyboard时,此命令用于“内联模式”,这是一个自定义键盘.
你还需要在键盘数组中为每个按钮提供一个callback_data: $keyboard = [ 'inline_keyboard' => [ [ ['text' => 'forward me to groups','callback_data' => 'someString'] ] ] ]; $encodedKeyboard = json_encode($keyboard); $parameters = array( 'chat_id' => $chatId,'reply_markup' => $encodedKeyboard ); send('sendMessage',$parameters); // function description Below 最后你需要通过curl发送它.这是我在我的代码中使用的函数: function send($method,$data) { $url = "https://api.telegram.org/bot<Bot-Token>". "/" . $method; if (!$curld = curl_init()) { exit; } curl_setopt($curld,CURLOPT_POST,true); curl_setopt($curld,CURLOPT_POSTFIELDS,$data); curl_setopt($curld,CURLOPT_URL,$url); curl_setopt($curld,CURLOPT_RETURNTRANSFER,true); $output = curl_exec($curld); curl_close($curld); return $output; } 附:我个人使用PhpStorm,它很好;) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |