package robot import ( "blazing/cool" "blazing/modules/base/config" "blazing/modules/base/service" "strings" "github.com/golang-jwt/jwt/v4" zero "github.com/wdvxdr1123/ZeroBot" ) func init() { zero.OnCommand("绑定"). Handle(func(ctx *zero.Ctx) { msgs := strings.Fields(ctx.Event.Message.String()) if len(msgs) > 1 { token, err := jwt.ParseWithClaims(msgs[1], &cool.Claims{}, func(token *jwt.Token) (interface{}, error) { return []byte(config.Config.Jwt.Secret), nil }) if err != nil { ctx.SendPrivateMessage(ctx.Event.Sender.ID, err.Error()) return } if !token.Valid { ctx.SendPrivateMessage(ctx.Event.Sender.ID, "无效的token") return } admin := token.Claims.(*cool.Claims) err = service.NewBaseSysUserService().BindQQ(uint32(admin.UserId), ctx.Event.Sender.ID) if err != nil { ctx.SendPrivateMessage(ctx.Event.Sender.ID, err.Error()) } else { ctx.SendPrivateMessage(ctx.Event.Sender.ID, "绑定成功") } } }) }