// Package quan qq权重查询 package quan import ( "fmt" "strconv" "strings" "github.com/FloatTech/floatbox/web" ctrl "github.com/FloatTech/zbpctrl" "github.com/FloatTech/zbputils/control" zero "github.com/wdvxdr1123/ZeroBot" "github.com/wdvxdr1123/ZeroBot/message" "github.com/wdvxdr1123/ZeroBot/utils/helper" ) const ( quan = "http://tc.tfkapi.top/API/qqqz.php?qq=%v" // api ) func init() { // 主函数 en := control.Register("quan", &ctrl.Options[*zero.Ctx]{ DisableOnDefault: false, Brief: "QQ权重查询", Help: "权重查询方式\n" + "- 权重查询+@xxx" + "- 权重查询+QQ号(可以不写,默认本人)", }) en.OnRegex(`^权重查询\s*(\[CQ:at,qq=)?(\d+)?`).SetBlock(true).Handle(func(ctx *zero.Ctx) { str := ctx.State["regex_matched"].([]string)[2] // 获取uid if str == "" { // user str = strconv.FormatInt(ctx.Event.UserID, 10) } es, err := web.GetData(fmt.Sprintf(quan, str)) // 将网站返回结果赋值 if err != nil { ctx.SendChain(message.Text("出现错误捏:", err)) return } if len(helper.BytesToString(es)) <= 24 { ctx.SendChain(message.Text("网站维护中")) // 输出结果 return } f := helper.BytesToString(es)[24:] _, err = strconv.Atoi(f) if err != nil { ctx.SendChain(message.Text("网站维护中")) // 输出结果 return } var msg strings.Builder msg.WriteString("查询账号:") msg.WriteString(str) msg.WriteString("\n") msg.WriteString("查询状态:成功\n") msg.WriteString("您的权重为:") msg.WriteString(f) ctx.SendChain(message.Text(msg.String())) // 输出结果 }) }