package main import ( "log" "ncatbot-command-server/command" "ncatbot-command-server/config" // 统一加载所有插件 _ "ncatbot-command-server/plugins" "github.com/gin-gonic/gin" ) func main() { if err := config.Load(".env"); err != nil { log.Fatalf("load config: %v", err) } // 注册内置命令 command.Init() // 初始化所有插件 command.InitAll() r := gin.Default() r.POST("/", handleCommand) log.Printf("server starting on %s", config.Cfg.ServerAddr) if err := r.Run(config.Cfg.ServerAddr); err != nil { log.Fatalf("failed to start server: %v", err) } } func handleCommand(c *gin.Context) { var req command.Req if err := c.ShouldBindJSON(&req); err != nil { c.JSON(400, gin.H{"error": err.Error()}) return } log.Printf("request: command=%s user=%s group=%s", req.Command, req.UserID, req.GroupID) resp := command.Handle(&req) c.JSON(200, resp) }