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

104 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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](https://t.me/BotFather) 申请)。
* 运行环境Golang 1.21+ (若使用 Docker 则无需关心此项)。
### 2. 配置文件设定
复制示例环境变量文件:
```bash
cp .env.example .env
```
编辑 `.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
```bash
# 假如你已经配置好 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. 本地编译运行
```bash
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.