Lazy loaded image
部署教程
img-up-bot部署教程
Words 2896Read Time 8 min
2026-2-16
2026-2-19
type
Post
status
Published
date
Feb 16, 2026
slug
imgupbot2
summary
部署 Cloudflare Worker 方法: 方法一:通过 Cloudflare Dashboard 导入 GitHub 仓库 (推荐)
tags
cloudflare
category
部署教程
icon
password
网址

🛠️ 部署与配置步骤

  1. 创建 Telegram Bot:
      • 发送 /newbot 命令,按照提示设置机器人的名称和用户名。
      • 记下 BotFather 返回的 HTTP API token,这就是您的 BOT_TOKEN
  1. 准备图床信息:
      • 确定您的图床或对象存储服务的上传接口 URL。这将是 IMG_BED_URL 的值,需要包含完整的上传路径(例如 https://your.domain/upload)。
      • 如果上传需要认证码,获取该认证码。这将是 AUTH_CODE 的值。如果不需要认证,则此项为空。
  1. 创建 KV 命名空间(用于统计功能):
      • 点击 "Workers & Pages" -> "KV" -> "创建命名空间"
      • 输入名称,例如 "STATS_STORAGE"
      • 创建后,记下命名空间 ID,稍后需要将其添加到配置中
  1. Fork本项目:
      • Fork本仓库。
  1. 部署 Cloudflare Worker 方法:
    1. 方法一:通过 Cloudflare Dashboard 导入 GitHub 仓库 (推荐)
      • 点击计算(Workers)-->Workers 和 PAGES-->创建
      • 选择Workers-->导入存储库--> 选择刚刚fork的仓库
      • 在"构建设置"部分:
        • 构建命令:留空
        • 构建输出目录:留空
        • 根目录:留空
      • 在"环境变量"部分添加必要的变量(见下面的第6步)
      • 点击"保存并部署"
      • 部署完成后,记下您的 Worker URL(例如 https://img-up-bot-xxxx.pages.dev
      方法二:使用 Wrangler CLI
      • 登录 Cloudflare:wrangler login
      • 克隆您 fork 的仓库:git clone https://github.com/你的用户名/img-up-bot.git
      • 进入项目目录:cd img-up-bot
      • 修改项目中的 wrangler.toml 文件:
        • 设置您自己的 Worker 名称
        • 更新 KV 命名空间配置,将之前创建的命名空间 ID 填入:
      • 部署 Worker:wrangler deploy
      方法三:通过 Cloudflare Dashboard 手动创建
      • 登录 Cloudflare -> Workers & Pages -> 创建应用程序 -> 创建Worker
      • 将 worker.js 文件的内容复制到编辑器中
      • 点击"部署"
      • 记下部署成功后的 Worker URL(例如 https://your-worker-name.your-subdomain.workers.dev
  1. 设置环境变量 (关键步骤):
    1. 通过 Cloudflare Dashboard
      • 登录 Cloudflare -> Workers & Pages -> 您的 Worker -> 设置 -> 变量 -> 添加变量
      • 添加以下变量(选择Secret类型):
        • BOT_TOKEN: 您的Telegram Bot Token
        • IMG_BED_URL: 您的图床上传URL
        • AUTH_CODE: 您的图床认证码(如果需要)
        • ADMIN_USERS: 管理员用户ID列表,多个ID用逗号分隔(例如:123456789,987654321
      • 添加 KV 命名空间绑定:
        • 变量名:STATS_STORAGE
        • KV 命名空间:选择之前创建的命名空间
      • 点击"保存并部署"
  1. 设置 Telegram Webhook:
    1. 方法一:使用内置的Webhook设置功能 (推荐)
      • 在浏览器中访问:https://your-worker-name.your-subdomain.workers.dev/setup-webhook
      • 如果看到"Webhook设置成功"的消息,说明配置已完成
      方法二:手动设置
      • 在浏览器中访问以下链接(替换对应的值):
        • 如果显示 {"ok":true,"result":true,"description":"Webhook was set"} 或类似信息,则表示设置成功。

    💬 使用说明

    1. 发送 /start 启动机器人(仅首次需要)。
    1. 直接发送图片、视频、音频、文档或其他文件,机器人会自动处理上传。
    1. 要添加文件备注,在发送文件时添加文字描述(在 Telegram 中发送文件时直接输入描述文字即可)。
    1. 支持最大20Mb的文件上传(受Telegram Bot限制)。
    1. 支持400多种文件格式,包括常见的图片、视频、音频、文档、压缩包、可执行文件等。
    1. 使用 /formats 命令查看支持的文件格式类别。
    1. 使用 /analytics 命令查看所有统计分析功能(支持多种参数)。
    1. 使用 /history 命令管理您的上传历史记录:
        • /history search:关键词 - 可按文件名或备注内容搜索
        • /history desc:关键词 - 专门按备注内容搜索
    1. 使用分片上传功能上传大文件(超过20MB):
        • 首先将大文件分割成多个小于20MB的分片(可使用文件分割工具如7-Zip、WinRAR等)
        • 发送命令:/chunk_upload 5 large_video.mp4 这是我的大视频
          • 5是分片数量
          • large_video.mp4是最终文件名
          • "这是我的大视频"是文件描述(可选)
        • 按照机器人的提示,逐个发送所有分片
        • 等待机器人合并和上传文件
        • 获取最终的URL
        • 随时可以使用 /chunk_cancel 取消正在进行的分片上传

    📊 统计分析功能

    本机器人内置了完整的统计分析功能,可帮助用户了解他们的文件上传历史和存储使用情况:
    统一的分析命令
    使用统一的 /analytics 命令可以查看所有类型的统计信息:
    • /analytics - 显示综合统计信息和命令帮助
    • /analytics storage - 显示存储使用情况
    • /analytics report - 显示月度使用报告
    • /analytics daily - 显示日报告
    • /analytics weekly - 显示周报告
    • /analytics monthly - 显示月报告
    • /analytics success - 显示上传成功率分析
    统计功能详情
    1. 综合统计信息
        • 总上传文件数量
        • 总存储空间使用量
        • 成功/失败上传数量
        • 上传成功率
        • 按文件类型的分布统计
    1. 存储使用情况
        • 总存储空间
        • 平均文件大小
        • 存储使用趋势
    1. 使用报告(日/周/月)
        • 显示指定时间段内的上传数量和大小
        • 日报告:当天数据
        • 周报告:过去7天数据
        • 月报告:过去30天数据
    1. 上传成功率分析
        • 总体成功率
        • 按文件类型分类的上传数量
        • 使用频率趋势
    技术实现
    • 统计数据存储在 Cloudflare KV 中,按用户ID分开保存
    • 每次文件上传完成后自动更新统计数据
    • 跟踪文件类型、大小、上传成功/失败状态
    • 按日期记录使用数据,保留最近60天的记录

    📋 上传历史管理

    本机器人内置上传历史管理功能,能够帮助用户快速查找、管理之前上传的所有文件:
    基本功能
    • /history - 查看所有上传历史记录
    • /history page2 - 查看第2页历史记录(每页显示5条记录)
    • /history image - 只查看图片类型的历史记录
    • /history video - 只查看视频类型的历史记录
    • /history search:关键词 - 按文件名或备注搜索历史记录
    • /history desc:关键词 - 专门按备注内容搜索历史记录
    • /history delete_记录ID - 删除指定ID的历史记录
    历史记录信息
    每条历史记录会显示以下信息:
    • 文件名
    • 文件类型(带图标标识)
    • 备注信息(如果有)
    • 上传时间(精确到分钟)
    • 文件大小
    • 文件URL链接
    • 记录ID(用于删除操作)
    技术实现
    • 历史记录存储在 Cloudflare KV 中,按用户ID分开保存
    • 每次成功上传文件后自动添加到历史记录
    • 最多保存最近100条记录,超过后自动清理最早的记录
    • 支持按文件类型和文件名关键词筛选
    • 支持专门按备注内容搜索
    • 分页显示,避免消息过长

    👮‍♂️ 管理员功能

    本机器人提供完整的管理员模式,让管理员可以控制机器人的使用权限,监控使用情况并与用户互动。管理员功能受到严格的权限控制,只有在环境变量中配置的管理员用户ID才能访问。
    管理员设置
    在环境变量中设置 ADMIN_USERS 变量,填入管理员的 Telegram 用户ID,多个ID用逗号分隔,例如:
    管理员命令
    • /admin - 显示管理员命令面板
    用户权限管理
    • /admin ban [用户ID] - 限制指定用户使用机器人
    • /admin unban [用户ID] - 解除对指定用户的限制
    • /admin list - 查看所有被限制的用户
    用户监控
    • /admin users [页码] - 查看所有使用过机器人的用户(带分页功能)
      • 显示用户ID、用户名、首次使用时间、最后使用时间
      • 每个用户的上传统计和存储使用情况
      • 显示用户状态(正常/已限制)
    系统统计
    • /admin stats - 查看机器人使用统计
      • 总用户数
      • 总上传文件数
      • 总上传大小
      • 被限制用户数
    消息广播
    • /admin broadcast [消息] - 向所有用户广播消息
      • 可用于发布通知、更新信息或维护预告
    自动清理功能
    • /admin autoclean [天数] - 设置自动删除多少天前的内容
      • 设置为0可禁用自动清理功能
      • 系统会每隔6小时自动检查并执行清理操作
      • 设置后会立即执行一次清理并显示结果
    • /admin autoclean status - 查看当前自动清理设置
      • 显示是否启用、设置的天数、上次更新时间等信息
    安全措施
    • 管理员命令权限验证 - 只有配置的管理员用户ID才能使用管理员命令
    • 被限制的用户无法使用机器人功能,但管理员不受此限制
    • 用户操作日志记录,便于审计和排查问题

    设置机器人命令菜单 (可选)

    为了让用户在 Telegram 中更方便地使用命令,您可以通过 BotFather 设置命令列表:
    1. 在 Telegram 中再次与 @BotFather 对话。
    1. 发送 /setcommands 命令。
    1. 按照提示,选择您刚刚部署配置好的机器人。
    1. 直接发送以下文本
      1. 设置成功后,用户在与您的机器人对话时,点击 / 按钮就能看到这些预设的命令选项了。

      常见问题排查

      1. 机器人不响应命令
          • 确认环境变量是否正确设置
          • 访问 /setup-webhook 端点重新配置Webhook
          • 检查 Cloudflare Worker 的日志以查看详细错误信息
      1. 上传失败
          • 确认图床URL是否正确,并已包含完整的上传路径
          • 验证认证码是否有效
          • 检查图床服务是否有文件大小或类型限制
      1. 需要更新机器人
          • 修改代码后,重新部署Worker:wrangler deploy
          • 检查环境变量是否需要更新
      版权说明
      本项目为原创项目,开源协议遵循 MIT License。
      如需对本项目进行二次修改或分发,请遵循以下要求:
      1. 保留原项目的版权信息
      1. 在文档中标明原项目地址:https://github.com/uki0xc/img-up-bot
      1. 标明修改内容与原作者信息
      作者:@uki0x
      邮箱:a@vki.im
      Telegram:@uki0x
      上一篇
      cmliu/edgetunnel
      下一篇
      uki0xc/img-up-bot