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

Telegram聊天机器人展示图片时如何隐藏附带的图片URL

Telegram Bot发图隐藏URL的实现方法

问题根源

使用<a>、<image>、<img>等HTML标签嵌入图片的方案不生效,核心原因是Telegram Bot的普通文本消息接口不支持直接内嵌渲染图片:

  • 空内容的<a>标签不会触发客户端的链接预览,就算手动开启链接预览,消息区域依然会露出完整URL
  • Telegram文本消息支持的有限HTML标签集合里,根本没有<img>、<image>这类图片标签,写了也会被客户端当成普通文本解析,直接露出标签内的URL地址

具体实现步骤

  • 给program-y解释器增加自定义AIML标签解析逻辑,不要把图片URL放在普通文本字段里返回
  • 改造原有AIML代码,替换成自定义的图片发送标识,参考写法:
<category>
<pattern>SHOW ME YOUR PICTURE</pattern>
<template>Okay <bot:sendphoto src="这里替换成你的图片公网直链"/></template>
</category>
  • 在AIML模板解析层做拦截:当解析到<bot:sendphoto>标签时,提取src属性里的图片地址,不要调用普通的sendMessage文本发送接口,改为调用Telegram Bot API的sendPhoto接口:
    • 把提取到的图片直链传入接口的photo参数
    • 把标签外的普通文本(比如示例里的"Okay")传入接口的caption参数,作为图片的附带说明文字
  • 接口调用成功后,用户端只会看到说明文字+渲染完成的图片,完全不会露出图片源URL

注意:传入的图片链接必须是公网可直接访问的无防盗链直链,否则Telegram服务器无法拉取图片资源,会导致接口调用失败。

内容的提问来源于stack exchange,提问作者Paulo Evan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 02:27:23