faf4308f7f04f562b7be568f47c40ee23cd1866d
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 本地运行,也可通过 Docker 和 docker-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.
Description
Languages
Go
99.6%
Dockerfile
0.4%