``` docs(changelog): 更新变更日志记录 由于未提供具体的代码差异信息,此提交用于占位和记录变更日志的更新。 ``` 注意:由于您提供的code differences信息为空,无法生成具体的功能性commit message。请提供实际的代码差异内容以便生成准确的提交信息。
44 lines
1.0 KiB
Go
44 lines
1.0 KiB
Go
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, "绑定成功")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
}
|