如何创建一个发出http请求的按钮而无需访问电报bot上的链接

时间:2018-06-27 09:44:29

标签: php telegram-bot php-telegram-bot telegram-webhook

我正在尝试创建一个显示按钮的机器人。 单击该按钮后,我希望无需用户实际访问链接即可完成请求。

这是我目前拥有的功能。

function show_button($db, $chatID, $id) {

$cols = $db->query("SELECT id, text FROM `texts` where id = '" . $id . "'");

$arry = array();

$chunks = array();
foreach($cols as $key => $value) {
    array_push($chunks, $value['id']);
}

$chunk_array = array_chunk($chunks, 1);

$arr = array(
    "inline_keyboard" => array()
);

foreach($chunk_array as $key => $value) {
    foreach($value as $nvalue) {
        array_push($arry, array(
            "text" => "Forward this:", //str_replace(' ', '%20', $nvalue)
            "url" => "www.somewebsite.org/huge.php")); //"I|" . str_replace(' ', '%20', $nvalue)
    }
    array_push($arr["inline_keyboard"], $arry);
    $arry = array();
}

$msg="Here is the button";

send_buttons($chatID, $msg, $arr);

}

1 个答案:

答案 0 :(得分:0)

出于明显的安全原因,不可能在用户端完成

但是,您可以使用“ callback_data”(而不是“ url”)创建一个按钮来在服务器上执行此请求(您必须自己处理)。请记住,您不能通过回调数据字段传递长链接,因为它的大小仅限于64个字节,您将不得不缩短链接或使用ID系统。