如何创建一个按钮,在不访问电报机器人 link 的情况下发出 http 请求
how to create a button that makes an http request without visting link on telegram bot
我正在尝试创建一个显示按钮的机器人。
单击按钮后,我希望用户无需实际访问 link.
即可完成请求
这是我当前的功能。
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);
}
出于明显的安全原因,无法在用户端完成。
但是,您可以使用 "callback_data"(而不是 "url")创建一个按钮,在您的服务器上执行此请求(您必须自己处理)。请记住,您不能通过回调数据字段传递长链接,因为它的大小仅限于 64 字节,您将不得不缩短链接或使用 ID 系统。
我正在尝试创建一个显示按钮的机器人。 单击按钮后,我希望用户无需实际访问 link.
即可完成请求这是我当前的功能。
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);
}
出于明显的安全原因,无法在用户端完成。
但是,您可以使用 "callback_data"(而不是 "url")创建一个按钮,在您的服务器上执行此请求(您必须自己处理)。请记住,您不能通过回调数据字段传递长链接,因为它的大小仅限于 64 字节,您将不得不缩短链接或使用 ID 系统。