运行时依赖
无特殊依赖
安装命令
点击复制官方npx clawhub@latest install tg-file-sender
镜像加速npx clawhub@latest install tg-file-sender --registry https://cn.longxiaskill.com 镜像可用
技能文档
📤 Telegram 文件发送器 通过 Telegram Bot API 将本地文件直接发送到聊天窗口。Bot Token 从环境变量 TG_BOT_TOKEN 读取,绝不硬编码或写入日志。
前提条件
- 需设置 TG_BOT_TOKEN 环境变量
- 需安装 curl
- 目标聊天对象需已与 bot 有过对话
使用方法 第一步:解析文件路径
- 接收用户提供的路径,相对于工作目录解析:FILE_PATH="/<用户提供的路径>"
- 安全检查:
第二步:识别文件类型
- 根据扩展名选择发送方式:
第三步:通过 Bot API 发送
- BOT_TOKEN="$TG_BOT_TOKEN"
- CHAT_ID="<目标聊天ID>"
- FILE_PATH="<解析后的绝对路径>"
- CAPTION="<可选描述>"
- 对于文档:curl -s -X POST "https://api.telegram.org/bot${BOT_TOKEN}/sendDocument" \ -F chat_id="$CHAT_ID" \ -F document=@"$FILE_PATH" \ -F caption="$CAPTION"
- 对于照片:curl -s -X POST "https://api.telegram.org/bot${BOT_TOKEN}/sendPhoto" \ -F chat_id="$CHAT_ID" \ -F photo=@"$FILE_PATH" \ -F caption="$CAPTION"
第四步:处理响应
- 解析 JSON 响应:
隐私与安全规范
- Token 保护:绝不打印、记录或显示 bot token。仅在 API 调用 URL 中使用 $TG_BOT_TOKEN
- 路径穿越防护:始终用 realpath 解析,验证结果以工作目录开头
- 不记录内容:不读取或记录文件内容
- 大小限制:上限 50MB
- 大文件提醒:大于 10MB 时提醒用户
- Chat ID:从会话上下文获取,不向用户询问
- 临时文件:/tmp 下的文件发送后清理
行为规则
- TG_BOT_TOKEN 未设置 → "请先设置 TG_BOT_TOKEN 环境变量"
- 文件不存在 → "文件不存在,请检查路径"
- 路径不在工作目录内 → "路径不在工作目录范围内,已拒绝"
- 文件超过 50MB → "文件超过 50MB,Telegram 不支持发送"
- API 返回错误 → 将错误描述展示给用户