Как создать кнопку, которая делает запрос HTTP без ссылки на бот Telegram - PullRequest
0 голосов
/ 27 июня 2018

Я пытаюсь создать бота, который показывает кнопку. как только кнопка нажата, я хочу, чтобы запрос выполнялся без фактического посещения пользователем ссылки.

Это текущая функция, которую я имею.

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 голосов
/ 27 июня 2018

Невозможно выполнить на стороне пользователя по очевидным причинам безопасности.

Однако вы можете создать кнопку с «callback_data» (вместо «url»), которая выполняет этот запрос на вашем сервере (вам придется обрабатывать его самостоятельно). Просто помните, что вы не можете передавать длинные ссылки через поле данных обратного вызова, так как его размер ограничен только 64 байтами, вам придется либо сократить ссылки, либо использовать систему ID.

...