前情提要

授人以鱼不如授人以渔

之前自建公益图床,导致有人恶意刷流,想了想,还是不弄公开的了以防被刷流,如果有需要的可以联系我开号上传。

我看有很多使用简单图床自建图床的。因为兰空图床有快捷上传机器人,而且TG快捷上传,真的很好用,用了就回不去那种(尤其是我这种TG跟微信一样的使用频率的)

所以想着自己写一个

前置条件

  1. 安装 Docker: 确保系统中已安装 Docker(运行 docker --version 检查)。

  2. EasyImages2.0 图床: 已部署 EasyImages2.0

(参考 [GitHub](https://github.com/icret/EasyImages2.0)),获取 API URL 和 Token。

  1. Telegram 账户: 拥有 Telegram 应用并登录。

教程开始

其实也就是很简单的Docker部署

  1. 首先,你已经部署好了简单图床,登录后在左侧标签页找到API设置

记下来API调用地址Tocken

  • 接着找到图床安全API上传打开

至此,简单图床内容结束,下面是创建TG机器人和docker部署

步骤 1:创建 Telegram 机器人

1.打开 Telegram:

启动 Telegram 应用,搜索 @BotFather(Telegram 官方机器人创建工具)。

2.启动 BotFather:

  • 点击 @BotFather,发送 /start。

  • BotFather 会回复欢迎消息并列出可用命令。

3. 创建新机器人:

  • 发送 /newbot。

  • BotFather 会询问:

  • 机器人名称: 输入一个名称(例如 MyImageBot)。

  • 用户名: 输入一个唯一的用户名,以 Bot 结尾(例如 MyImageBot)。

  • 如果成功,BotFather 会返回一个 Token,形如 1234567890:ABCDEFGHIJKL。保存此 Token,后续需要用到。

4. 验证机器人:

  • 搜索你创建的用户名(例如 @MyImageBot),确认机器人已创建。

  • 发送 /start 检查是否响应。

步骤 2:部署机器人

Docker 命令行部署

拉取镜像:

  • 从 Docker Hub 拉取镜像:

docker pull xiizero/tgeasyimgebot:latest

运行容器:

  • 使用以下命令运行容器,替换为你的实际环境变量值:

docker run -d \
    -e TELEGRAM_BOT_TOKEN= \
    -e EASYIMAGE_API_URL= \
    -e EASYIMAGE_TOKEN= \
    -e ALLOWED_USERS= \
    --name tg-easyimage-bot \
    xiizero/tgeasyimgebot:latest

  • 检查日志:

docker logs tg-easyimage-bot

预期输出: [2025-03-08 12:00:00] 启动 Telegram Bot...

Docker Compose 部署

version: '3.8'
services:
  tg-easyimage-bot:
    image: xiizero/tgeasyimgebot:latest
    container_name: tg-easyimage-bot
    environment:
      - TELEGRAM_BOT_TOKEN=
      - EASYIMAGE_API_URL=
      - EASYIMAGE_TOKEN=
      - ALLOWED_USERS=
    restart: always

  • 运行以下命令启动容器:

 docker-compose up -d

环境变量含义

TELEGRAM_BOT_TOKEN:

  • 含义: Telegram 提供的 Bot Token,由 @BotFather 生成,用于认证机器人身份。

  • 示例: 1234567890:ABCDEFGHIJKL

  • 必填: 是,必须与你创建的机器人匹配。

EASYIMAGE_API_URL:

  • 含义: EasyImages2.0 图床的 API 端点,用于上传图片。

  • 示例: https://xxx.xxx.xxx/api/index.php

  • 必填: 是,必须指向你的图床服务器地址。

EASYIMAGE_TOKEN:

  • 含义: EasyImages2.0 提供的认证 Token,用于访问 API。

  • 示例: your-easyimage-token

  • 必填: 是,必须与你的图床配置一致。

ALLOWED_USERS:

  • 含义: 允许使用机器人的 Telegram 用户 ID 列表,多个 ID 用逗号分隔。如果留空,所有用户均可使用。

  • 示例: 123456789,987654321

  • 必填: 否,留空或不设置时默认开放给所有用户。

机器人效果演示:

如果对你有帮助,欢迎去Github去给我点个星星,谢谢啦

Github项目地址

鸣谢:

简单图床

兰空图床TG机器人