douqingzhi0980 2018-06-27 09:44
浏览 135
已采纳

如何创建一个按钮,发出一个http请求,而无需在电报机器人上发送链接

I'm trying to create a bot that shows a button. once the button is clicked I want the request to be done without user having to actually visit the link.

This is the current function I've.

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条回答 默认 最新

  • doxrxwn2252 2018-06-27 13:38
    关注

    Impossible to accomplish on user's side for obvious security reasons.

    However, you can create a button with "callback_data" (instead of "url") that does this request on your server (you will have to handle it yourself). Just remember that you can't pass long links through callback data field as it's size is limited to only 64 bytes, you will either have to shorten the links or use ID system.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog