From b871a80e4b1a2fac867aed03fb7e9b30975bdce5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E6=9F=B3=E7=85=9C?= <101934327+fangliuyu@users.noreply.github.com> Date: Fri, 17 Jun 2022 21:40:27 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=8A=B1=E5=90=8D?= =?UTF-8?q?=E5=86=8C=E4=BC=9A=E6=98=BE=E7=A4=BA=E5=8D=95=E8=BA=AB=E8=B4=B5?= =?UTF-8?q?=E6=97=8F=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugin/qqwife/qqmapwife.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/plugin/qqwife/qqmapwife.go b/plugin/qqwife/qqmapwife.go index 17c49d373d..d806571ebc 100644 --- a/plugin/qqwife/qqmapwife.go +++ b/plugin/qqwife/qqmapwife.go @@ -168,6 +168,9 @@ func (sql *婚姻登记) 花名册(gid int64) (list [][4]string, number int, err var info userinfo list = make([][4]string, 0, number) err = sql.db.FindFor(gidstr, &info, "GROUP BY user", func() error { + if info.Target == 0 { + return nil + } dbinfo := [4]string{ info.Username, strconv.FormatInt(info.User, 10), @@ -177,18 +180,21 @@ func (sql *婚姻登记) 花名册(gid int64) (list [][4]string, number int, err list = append(list, dbinfo) return nil }) + if len(list) == 0 { + number = 0 + } return } func slicename(name string, canvas *gg.Context) (resultname string) { - usermane := []rune(name) // 将每个字符单独放置 + usermane := []rune(name) //将每个字符单独放置 widthlen := 0 numberlen := 0 for i, v := range usermane { - width, _ := canvas.MeasureString(string(v)) // 获取单个字符的宽度 + width, _ := canvas.MeasureString(string(v)) //获取单个字符的宽度 widthlen += int(width) if widthlen > 350 { - break // 总宽度不能超过350 + break //总宽度不能超过350 } numberlen = i } @@ -659,13 +665,13 @@ func iscding(ctx *zero.Ctx) { // 注入判断 是否为单身 func checkdog(ctx *zero.Ctx) bool { - // 得先判断用户是否存在才行在,再重置 + //得先判断用户是否存在才行在,再重置 fiancee, err := strconv.ParseInt(ctx.State["regex_matched"].([]string)[2], 10, 64) if err != nil { ctx.SendChain(message.Text("额,你的target好像不存在?")) return false } - // 判断是否需要重置 + //判断是否需要重置 gid := ctx.Event.GroupID updatetime, err := 民政局.checkupdate(gid) switch { From 3e5e06be79e4376fe48c7d4bff66ed3e04677e75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E6=9F=B3=E7=85=9C?= <101934327+fangliuyu@users.noreply.github.com> Date: Fri, 17 Jun 2022 21:43:26 +0800 Subject: [PATCH 2/3] Update qqmapwife.go --- plugin/qqwife/qqmapwife.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugin/qqwife/qqmapwife.go b/plugin/qqwife/qqmapwife.go index d806571ebc..46430bb594 100644 --- a/plugin/qqwife/qqmapwife.go +++ b/plugin/qqwife/qqmapwife.go @@ -187,14 +187,14 @@ func (sql *婚姻登记) 花名册(gid int64) (list [][4]string, number int, err } func slicename(name string, canvas *gg.Context) (resultname string) { - usermane := []rune(name) //将每个字符单独放置 + usermane := []rune(name) // 将每个字符单独放置 widthlen := 0 numberlen := 0 for i, v := range usermane { - width, _ := canvas.MeasureString(string(v)) //获取单个字符的宽度 + width, _ := canvas.MeasureString(string(v)) // 获取单个字符的宽度 widthlen += int(width) if widthlen > 350 { - break //总宽度不能超过350 + break // 总宽度不能超过350 } numberlen = i } @@ -665,13 +665,13 @@ func iscding(ctx *zero.Ctx) { // 注入判断 是否为单身 func checkdog(ctx *zero.Ctx) bool { - //得先判断用户是否存在才行在,再重置 + // 得先判断用户是否存在才行在,再重置 fiancee, err := strconv.ParseInt(ctx.State["regex_matched"].([]string)[2], 10, 64) if err != nil { ctx.SendChain(message.Text("额,你的target好像不存在?")) return false } - //判断是否需要重置 + // 判断是否需要重置 gid := ctx.Event.GroupID updatetime, err := 民政局.checkupdate(gid) switch { From f3fd850326b6a883ff089aa979c9ac9bee3ab75f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E6=9F=B3=E7=85=9C?= <101934327+fangliuyu@users.noreply.github.com> Date: Sat, 18 Jun 2022 07:13:10 +0800 Subject: [PATCH 3/3] Update qqmapwife.go --- plugin/qqwife/qqmapwife.go | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/plugin/qqwife/qqmapwife.go b/plugin/qqwife/qqmapwife.go index 46430bb594..a902b59638 100644 --- a/plugin/qqwife/qqmapwife.go +++ b/plugin/qqwife/qqmapwife.go @@ -191,7 +191,7 @@ func slicename(name string, canvas *gg.Context) (resultname string) { widthlen := 0 numberlen := 0 for i, v := range usermane { - width, _ := canvas.MeasureString(string(v)) // 获取单个字符的宽度 + width, _ := canvas.MeasureString(string(v)) //获取单个字符的宽度 widthlen += int(width) if widthlen > 350 { break // 总宽度不能超过350 @@ -403,16 +403,16 @@ func init() { uid := ctx.Event.UserID gid := ctx.Event.GroupID if uid == fiancee { // 如果是自己 - switch rand.Intn(2) { // 二分之一概率浪费技能 - case 0: - ctx.SendChain(message.Text("今日获得成就:自恋狂")) - default: + switch rand.Intn(3) { + case 1: err := 民政局.登记(gid, uid, 0, "", "") if err != nil { ctx.SendChain(message.Text("数据库发生问题力,请联系bot管理员\n[error]", err)) return } ctx.SendChain(message.Text("今日获得成就:单身贵族")) + default: + ctx.SendChain(message.Text("今日获得成就:自恋狂")) } return } @@ -689,25 +689,26 @@ func checkdog(ctx *zero.Ctx) bool { // 获取用户信息 uidtarget, uidstatus, err1 := 民政局.查户口(gid, uid) fianceeinfo, fianceestatus, err2 := 民政局.查户口(gid, fiancee) - if uidstatus == 2 || fianceestatus == 2 { + switch { + case uidstatus == 2 || fianceestatus == 2: ctx.SendChain(message.Text("数据库发生问题力,请联系bot管理员\n[error]", err1, "\n", err2)) return false - } - if uidstatus == 3 && fianceestatus == 3 { // 必须是两个单身 + case uidstatus == 3 && fianceestatus == 3: // 必须是两个单身 return true - } - switch { case uidtarget.Target == fiancee: // 如果本就是一块 ctx.SendChain(message.Text("笨蛋~你们明明已经在一起了啊w")) return false + case uidstatus != 3 && uidtarget.Target == 0: // 如果是单身贵族 + ctx.SendChain(message.Text("今天的你是单身贵族噢")) + return false case uidstatus == 1: // 如果如为攻 ctx.SendChain(message.Text("笨蛋~你家里还有个吃白饭的w")) return false case uidstatus == 0: // 如果为受 ctx.SendChain(message.Text("该是0就是0,当0有什么不好")) return false - case uidstatus != 3 && uidtarget.Target == 0: // 如果是单身贵族 - ctx.SendChain(message.Text("今天的你是单身贵族噢")) + case fianceestatus != 3 && fianceeinfo.Target == 0: + ctx.SendChain(message.Text("今天的ta是单身贵族噢")) return false case fianceestatus == 1: // 如果如为攻 ctx.SendChain(message.Text("他有别的女人了,你该放下了")) @@ -715,9 +716,6 @@ func checkdog(ctx *zero.Ctx) bool { case fianceestatus == 0: // 如果为受 ctx.SendChain(message.Text("这是一个纯爱的世界,拒绝NTR")) return false - case fianceestatus != 3 && fianceeinfo.Target == 0: - ctx.SendChain(message.Text("今天的ta是单身贵族噢")) - return false } return true } @@ -745,11 +743,8 @@ func checkcp(ctx *zero.Ctx) bool { ctx.SendChain(message.Text("额,你的对象好像不存在?")) return false } - uid := ctx.Event.UserID - if fiancee == uid { - return true - } // 检查用户是否登记过 + uid := ctx.Event.UserID userinfo, uidstatus, err := 民政局.查户口(gid, uid) switch { case uidstatus == 2: @@ -761,6 +756,8 @@ func checkcp(ctx *zero.Ctx) bool { case uidstatus != 3 && userinfo.Target == 0: // 如果是单身贵族 ctx.SendChain(message.Text("今天的你是单身贵族哦")) return false + case fiancee == uid: //自我攻略 + return true case uidstatus == 1: // 如果如为攻 ctx.SendChain(message.Text("打灭,不给纳小妾!")) return false