Files
bl/modules/player/controller/robot/bindqq.go

44 lines
1.0 KiB
Go
Raw Normal View History

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, "绑定成功")
}
}
})
}