Files
GPTTeamBOT/README.md
2026-03-04 20:27:24 +08:00

4.4 KiB
Raw Permalink Blame History

ChatGPT Team Management Bot

这是一个基于 Go 和 Telegram Inline Keyboard 交互实现的 ChatGPT Team 会费/发车账号自动管理机器人。 它可以帮助车队车长或团队管理员,全自动地实现 ChatGPT Team 成员的邀请分发、账号容量检测、过期踢人管理等一系列繁琐操作。

🌟 核心功能

  • 💳 账密 / RT 登录支持:支持直接使用账号密码登录,或通过提供 Refresh Token 导入 ChatGPT Team 账号。
  • 👥 容量自动检测与制约:根据预设的 TeamCapacity(每车容量限制,默认 6 人),机器人会自动检测当前使用人数和待处理的邀请数,确保不超卖。
  • 🎫 兑换码自动派发:能够一键生成防伪兑换码,配合发卡平台使用。在额度允许范围内计算并生成指定数量的可用邀请码。
  • 🎲 随机发车:针对没有明确邀请目标的用户,支持随机邀请功能,拉人成功后自动核销兑换码。
  • 📩 待处理邀请管理:方便地查看和取消那些长期未接受的“占位邀请”,释放车位。
  • 🛡️ Token 自动检测与踢人拦截内置定时器Cron自动检查失效或封号状态HTTP 401/402。遇到封禁会自动将其拦截保护。
  • 👑 多管理员管理:支持从配置文件设定超级管理员,同时超级管理可以在机器人端内直接添加、移除下级的动态管理员。
  • 🕹️ 纯 Inline 按钮交互彻底告别手敲命令99% 的操作(翻页、选择、删除、确认)全部通过直观的 Telegram 底部内联按钮菜单完成。

🚀 部署配置

项目支持通过 go build 本地运行,也可通过 Dockerdocker-compose 快速部署。

1. 环境准备

需要准备好以下环境:

  • PostgreSQL 数据库 实例。
  • Telegram Bot Token (通过 @BotFather 申请)。
  • 运行环境Golang 1.21+ (若使用 Docker 则无需关心此项)。

2. 配置文件设定

复制示例环境变量文件:

cp .env.example .env

编辑 .env 文件:

# 你的 PostgreSQL 数据库连接地址
DATABASE_URL=postgres://user:password@localhost:5432/dbname?sslmode=disable

# 管理员的 Telegram User ID (逗号分隔多个,拥有添加新管理员权限的超管)
ADMIN_IDS=12345678,87654321

# 机器人的 Token
TELEGRAM_BOT_TOKEN=123456789:ABCDefghIJKLxxxx_xxxx

# 代理 URL防止被 ChatGPT 屏蔽(若不需要可留空)
PROXY_URL=http://127.0.0.1:7890

# 自动检查 Token 以及账号健康度的周期 (分钟)
TOKEN_CHECK_INTERVAL=30

# 每个 Team 账号允许的最大人数容量 (包含车长自己)
TEAM_CAPACITY=6

3. 使用 Docker 部署 (推荐)

如果你熟悉 docker

# 假如你已经配置好 docker 和 docker-compose
docker build -t gpt-team-bot .
docker run -d --name gpt-team-bot --env-file .env --restart always gpt-team-bot

4. 本地编译运行

go mod tidy
go build -o bot ./cmd/
./bot

🛠️ 后台菜单介绍

打开机器人发送 /start 或者任意内容,管理员会自动看见操作主菜单。

  • 📋 账号列表后台
    • 🔑 RT添加账号 / 🔑 账密登录:导入 ChatGPT Team 账号的通道。
    • 🗑️ 删除账号 / 🔄 刷新账号:支持分页查询管理现有账号。
    • 📩 待处理邀请:列出发送过但未被接受的邀请,可一键取消。
  • 🎫 兑换码管理
    • 生成兑换码:基于当前没满的车位自动生成。
    • 📋 查看兑换码:分页查看当前所有没使用的兑换码。
    • 🗑️ 一键清空未使用:作废没用完的邀请码。
    • (可以直接在菜单里点击单条代码的垃圾桶对应删除)。
  • 🤖 系统与权限
    • 👑 管理员设置:增删可以操作面板的下级子管理。
    • 强制检测 / 🔄 强制刷新全部:忽略定时器立刻轮询所有管理的账号。

📝 开发与维护

  • 主要基于 go-telegram-bot-api/telegram-bot-api/v5 进行开发。
  • API 获取利用了 ChatGPT /backend-api/accounts/check//backend-api/team/ 接口通信,遇到风控需及时更新代理或验证机制 (internal/chatgpt)。
  • 项目数据迁移完全通过内部启动时的原始 SQL 构建 (internal/database),首次启动自动建表。

📄 License

MIT License.