Lazy loaded image
uki0xc/img-up-bot
Words 1109Read Time 3 min
2026-2-16
2026-2-19
type
Post
status
Published
date
Feb 16, 2026
slug
imgupbot1
summary
这是一个部署在 Cloudflare Workers 上的 Telegram 机器人。它可以接收您发送到 Telegram 的图片、视频、音频、文档等多种文件,并将它们自动上传到您指定的图床或对象存储服务(需要有公开的上传接口),然后将生成的公开链接返回给您。
tags
github
cloudflare
category
开源分享
icon
password
网址
Telegram 图床上传机器人 (基于 Cloudflare Workers)
部署教程
 
这是一个部署在 Cloudflare Workers 上的 Telegram 机器人。它可以接收您发送到 Telegram 的图片、视频、音频、文档等多种文件,并将它们自动上传到您指定的图床或对象存储服务(需要有公开的上传接口),然后将生成的公开链接返回给您。
本项目利用 Cloudflare Workers 的 Serverless 特性,可以实现低成本甚至免费(在 Cloudflare 免费额度内)运行。
✨ 功能特性
  • 自动上传: 直接向机器人发送文件即可触发上传。
  • 多种文件支持: 支持400多种文件格式,包括常见的图片、视频、音频、文档、压缩包、可执行文件等。
  • 文件大小限制: 支持最大20Mb的文件上传(受Telegram Bot自身限制)。
  • 分片上传功能:
    • 突破Telegram 20MB的文件大小限制
    • 通过分割大文件为多个分片上传后合并
    • 支持断点续传和取消上传
    • 使用 /chunk_upload 命令启动分片上传
  • 文件备注功能: 在发送文件时添加描述文字作为备注,方便后续查找和整理。
  • 配置灵活: 通过 Cloudflare 环境变量和 Secrets 配置图床地址、Bot Token 和可选的认证信息。
  • 部署简单: 基于 Cloudflare Workers,部署流程相对简单。
  • 低成本: 利用 Cloudflare 的免费套餐额度。
  • 安全: 敏感信息(如 Bot Token、认证代码)通过 Secrets 管理,更加安全。
  • 一键设置Webhook: 内置Webhook配置端点,简化机器人设置过程。
  • 上传历史管理: 支持查看、搜索和删除历史上传记录,并提供文件类型筛选和分页浏览功能。
  • 统计分析功能:
    • 用户上传文件数量和总大小统计
    • 每日/每周/每月使用报告
    • 图床存储使用情况监控
    • 上传成功率分析
  • 管理员模式:
    • 用户权限控制(限制/解除限制用户)
    • 用户列表管理与监控
    • 机器人使用统计查看
    • 管理员广播消息功能
    • 自动清理旧内容功能(可设置天数)
📋 支持的文件格式类别
  • 🖼️ 图像: jpg, png, gif, webp, svg, bmp, tiff, heic, raw...
  • 🎬 视频: mp4, avi, mov, mkv, webm, flv, rmvb, m4v...
  • 🎵 音频: mp3, wav, ogg, flac, aac, m4a, wma, opus...
  • 📝 文档: pdf, doc(x), xls(x), ppt(x), txt, md, epub...
  • 🗜️ 压缩: zip, rar, 7z, tar, gz, xz, bz2...
  • ⚙️ 可执行: exe, msi, apk, ipa, deb, rpm, dmg...
  • 🌐 网页/代码: html, css, js, ts, py, java, php, go...
  • 🎨 3D/设计: obj, fbx, blend, stl, psd, ai, sketch...
  • 📊 数据/科学: mat, hdf5, parquet, csv, json, xml...
总计支持超过400种文件格式!
🚀 工作原理
  1. 用户在 Telegram 中向此机器人发送文件(图片、视频、音频、文档等)。
  1. Telegram 将包含文件信息的更新(Update)通过 Webhook 发送到 Cloudflare Worker 的 URL。
  1. Cloudflare Worker 脚本被触发,解析收到的更新。
  1. Worker 使用 Telegram Bot API 下载用户发送的文件。
  1. Worker 将下载的文件上传到在环境变量 IMG_BED_URL 中配置的图床地址,(如果配置了 AUTH_CODE)会携带相应的认证参数。
  1. Worker 解析图床返回的响应,提取公开的文件链接。
  1. Worker 使用 Telegram Bot API 将获取到的文件链接发送回给用户。
  1. Worker 将上传统计数据存储到 KV 存储中,用于生成统计报告。
🔧 环境要求一个 Telegram Bot: 需要通过 BotFather 创建,并获取其 Bot Token。 • 一个图床/对象存储服务: ◦ 需要提供一个公开的 文件上传接口 URL (IMG_BED_URL)。 ◦ 如果该接口需要认证,需要获取相应的 认证代码 (AUTH_CODE)。支持URL参数和Bearer Token认证方式。 • 一个 Cloudflare 账户: 免费账户即可开始。 • Cloudflare KV 存储: 用于存储用户统计数据(如需使用统计功能)。
 
 
 
 
 
 
 
 
 
上一篇
img-up-bot部署教程
下一篇
CloudNav-abcd部署教程