feat: 初始化 ChatGPT Team 管理机器人
核心功能: - 实现基于 Telegram Inline Button 交互的后台面板与用户端 - 支持通过账密登录和 RT (Refresh Token) 方式添加 ChatGPT Team 账号 - 支持管理、拉取和删除待处理邀请,支持一键清空多余邀请 - 支持按剩余容量自动生成邀请兑换码,支持分页查看与一键清空未使用兑换码 - 随机邀请功能:成功拉人后自动核销兑换码 - 定时检测 Token 状态,实现自动续订/刷新并拦截封禁账号 (处理 401/402 错误) 系统与配置: - 使用 PostgreSQL 数据库管理账号、邀请和兑换记录 - 支持在端内动态添加、移除管理员 - 完善 Docker 部署配置与 .gitignore 规则
This commit is contained in:
35
cmd/main.go
Normal file
35
cmd/main.go
Normal file
@@ -0,0 +1,35 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"go-helper/internal/bot"
|
||||
"go-helper/internal/chatgpt"
|
||||
"go-helper/internal/config"
|
||||
"go-helper/internal/database"
|
||||
"go-helper/internal/scheduler"
|
||||
)
|
||||
|
||||
func main() {
|
||||
log.SetFlags(log.LstdFlags | log.Lshortfile)
|
||||
|
||||
// Load configuration.
|
||||
cfg := config.Load()
|
||||
|
||||
// Initialise database.
|
||||
db := database.New(cfg.DatabaseURL)
|
||||
defer db.Close()
|
||||
|
||||
// Create ChatGPT API client.
|
||||
client := chatgpt.NewClient(cfg.ProxyURL)
|
||||
|
||||
// Create OAuth manager (no server needed, uses URL-paste flow).
|
||||
oauth := chatgpt.NewOAuthManager(client)
|
||||
|
||||
// Start scheduled token checker.
|
||||
scheduler.StartTokenChecker(db, client, cfg.TokenCheckInterval)
|
||||
|
||||
// Start Telegram bot (blocking).
|
||||
log.Println("[Main] 启动 Telegram Bot...")
|
||||
bot.Start(db, cfg, client, oauth)
|
||||
}
|
||||
Reference in New Issue
Block a user