Cloudflare部署Telegram-Images图床

一、引言

在这个星期五,我闲来无事登上博客看看,结果呢,不是我封面图呢,我发现我的封面图已经被删了,哇!怎么这么不近人情,直接给我删了。

好多次这样子了啊,所以我决定自己搭建一个图床来自己使用,我选择的方案是 Telegraph-Image + Cloudflare

将 Telegraph-Image 部署到 Cloudflare Pages 上,可以让 Cloudflare CDN 分布在各地,Telegram 的消息是永久保存的,根本不怕被删。


二、开始搭建

1. 在 GitHub 克隆仓库

转到项目仓库 项目地址,点击页面右上角的 Fork,创建新分支到你的仓库。

创建分支完成后,就不用管了,继续下面的步骤。


2. 创建 Telegram Bot 并获取 API Token

Telegram 的图片存储依赖于 Telegram 的 Bot API,所以我们需要先创建一个 Bot。

步骤如下:

  1. 打开 Telegram,搜索并进入 @BotFather
  2. 发送 /newbot 命令
  3. 按提示输入 Bot 的名称(如 MyImageBed)和用户名(必须以 bot 结尾,如 MyImageBedBot
  4. 创建成功后,BotFather 会返回一个 API Token,格式类似:
    1
    123456789:ABCdefGHIjklMNOpqrsTUVwxyz
  5. 务必保存好这个 Token,后面会用到

💡 小贴士:创建好 Bot 后,先给你的 Bot 发送一条消息(随便发点什么),这样 Bot 才能正常接收后续请求。


3. 创建 Telegram 频道/群组并获取 Chat ID

图片实际上是上传到一个 Telegram 频道或群组中,我们需要获取这个频道的 Chat ID。

步骤如下:

  1. 在 Telegram 中创建一个新的 频道(Channel)或 群组(Group)
  2. 将刚才创建的 Bot 添加为频道/群组的管理员
  3. 在浏览器中访问以下链接(将 <YOUR_BOT_TOKEN> 替换为你的实际 Token):
    1
    https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates
  4. 如果频道里有新消息,你会看到类似这样的 JSON 数据:
    1
    2
    3
    4
    5
    6
    7
    8
    {
    "message": {
    "chat": {
    "id": -1001234567890,
    "title": "My Image Channel"
    }
    }
    }
  5. 记下 chat.id 的值(以 -100 开头的数字),这就是 Chat ID

⚠️ 注意:如果 getUpdates 返回空数组 [],先在频道里发几条消息,再重新访问链接。


4. 在 Cloudflare 创建 Pages 项目

现在进入 Cloudflare 部署环节。

步骤如下:

  1. 登录 Cloudflare Dashboard
  2. 在左侧菜单找到 Pages,点击 “创建项目”
  3. 选择 “连接到 Git 提供商”
  4. 授权 GitHub 账号,选择你刚才 Fork 的 Telegraph-Image 仓库
  5. 点击 “开始设置”

5. 配置环境变量

在部署设置页面,需要配置以下环境变量:

变量名 说明 示例值
BOT_TOKEN Telegram Bot 的 API Token 123456789:ABCdef...
CHAT_ID Telegram 频道的 Chat ID -1001234567890

配置方法:

  1. 在 Pages 设置页面找到 “环境变量” 部分
  2. 点击 “添加变量”
  3. 添加上述两个变量,值填入你前面获取的内容
  4. 点击 “保存并部署”

6. 完成部署

  1. Cloudflare 会自动构建并部署你的项目
  2. 等待几分钟,看到 “构建成功” 的提示
  3. Cloudflare 会分配一个默认域名,类似:
    1
    https://your-project-name.pages.dev
  4. 点击访问,如果看到上传页面,说明部署成功!🎉

7. 绑定自定义域名(可选)

如果你有自己的域名,可以绑定到 Cloudflare Pages:

  1. 在 Pages 项目的 “自定义域” 选项卡中
  2. 点击 “设置自定义域”
  3. 输入你的域名(如 img.yourdomain.com
  4. 按提示添加 DNS 记录
  5. 等待 DNS 生效,SSL 证书会自动颁发

三、使用方法

部署完成后,你的图床就可以使用了:

上传图片

  • 打开你的图床页面
  • 拖拽或点击上传图片
  • 上传成功后,会返回图片的直链 URL

图片链接格式

返回的链接类似:

1
https://your-project.pages.dev/file/xxxxx.jpg

管理后台(部分版本支持)

有些 fork 版本支持后台管理,可以查看上传记录、删除图片等。访问路径通常是:

1
https://your-project.pages.dev/admin

四、常见问题

问题 解决方案
上传失败,提示 Bot 错误 检查 BOT_TOKENCHAT_ID 是否填写正确
getUpdates 返回空 先在频道/群组里发几条消息,Bot 才能获取到 Chat ID
图片加载慢 Cloudflare CDN 全球加速,国内访问可能稍慢,可配合国内 CDN 使用
图片被 Telegram 删除 只要不违反 Telegram 使用条款,图片是永久保存的

五、总结

通过 Telegraph-Image + Cloudflare Pages,我们实现了一个:

  • 免费 — 无服务器成本
  • 永久存储 — Telegram 消息不删除
  • 全球 CDN 加速 — Cloudflare 节点分发
  • 不怕图床跑路 — 数据在自己手里

如果你需要,还可以进一步配置 PicGo 等图床工具,实现一键上传,写作更方便!