You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Telegram频道按钮打开网页应用?解决BUTTON_TYPE_INVALID报错

问题解答

核心原因

Telegram频道不支持使用web_app类型的内联按钮,这是官方明确的功能限制。web_app按钮仅允许在私人聊天(用户与机器人一对一对话)、普通群组/超级群组中使用,频道消息里使用该类型按钮会直接触发BUTTON_TYPE_INVALID错误。

替代解决方案

如果需要在频道内引导用户打开网页或应用,可采用以下两种方式:

  1. 使用url类型内联按钮
    将按钮类型替换为url,用户点击后会通过Telegram内置浏览器或系统浏览器打开目标网页,代码修改如下:

    $telegram = new Telegram($bot_api_key, $bot_username);
    
    $keyboard = [
        "inline_keyboard" => [
            [
                 [
                   'text' => 'Open App',
                   'url' => 'https://test.com/bot.php', // 替换为url类型
                 ]
            ]
        ]
    ];
    $result = Request::sendMessage([
      'chat_id' => $chat_id,
      'parse_mode' => 'markdown',
      'text'    => 'Test message',
      'reply_markup' => $keyboard
    ]);
    
  2. 引导用户进入私人对话打开Web App
    先用url按钮引导用户点击后跳转到与机器人的私人聊天(可使用https://t.me/你的机器人用户名?start=xxx格式的链接),然后在私人聊天中发送带web_app按钮的消息,即可正常打开内嵌网页应用。

内容的提问来源于stack exchange,提问作者Идентикон

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 06:15:39