0

我正在尝试创建一个显示按钮的机器人。单击按钮后,我希望在用户不必实际访问链接的情况下完成请求。

这是我目前的功能。

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);

}

4

1 回答 1

0

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

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

于 2018-06-27T13:38:13.900 回答