From d995a63ff9b90afbb4a3002f24e84128ad16286b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=94=E5=BF=B5?= <12574910+72wo@users.noreply.github.com> Date: Wed, 25 Mar 2026 11:18:18 +0800 Subject: [PATCH] =?UTF-8?q?```=20feat(user):=20=E7=94=A8=E6=88=B7=E5=90=8D?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E4=B8=BA=E5=B0=8F=E5=86=99=E5=B9=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96QQ=E7=BB=91=E5=AE=9A=E9=94=99=E8=AF=AF=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在BindQQ方法中将用户名转换为小写以确保一致性 - 修改bindqq控制器中的错误消息发送方式,使用私信发送绑定结果 - 避免在群聊中显示敏感的绑定错误信息 refactor(robot): 优化扭蛋物品列表展示逻辑 - 引入samber/lo库用于数组去重操作 --- modules/base/service/base_sys_user.go | 2 +- modules/config/controller/robot/cdk.go | 1 + modules/config/controller/robot/eggitem.go | 10 +++++----- modules/player/controller/robot/bindqq.go | 6 ++++-- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/modules/base/service/base_sys_user.go b/modules/base/service/base_sys_user.go index f1d77aac..5cef7dec 100644 --- a/modules/base/service/base_sys_user.go +++ b/modules/base/service/base_sys_user.go @@ -78,7 +78,7 @@ func (s *BaseSysUserService) DuihuanGold(userId uint32, gold, free int64) { func (s *BaseSysUserService) BindQQ(username string, passworid string, qq int64) (err error) { var res *model.BaseSysUser cool.DBM(s.Model).Where("qq", qq).Scan(&res) - + username = strings.ToLower(username) if res != nil { err = gerror.New("该QQ已绑定其他账号" + gconv.String(res.ID)) return diff --git a/modules/config/controller/robot/cdk.go b/modules/config/controller/robot/cdk.go index 5be2d96c..3d629df7 100644 --- a/modules/config/controller/robot/cdk.go +++ b/modules/config/controller/robot/cdk.go @@ -10,6 +10,7 @@ import ( ) func init() { + zero.OnCommand("CDK"). Handle(func(ctx *zero.Ctx) { diff --git a/modules/config/controller/robot/eggitem.go b/modules/config/controller/robot/eggitem.go index f02984ff..fafc0b3d 100644 --- a/modules/config/controller/robot/eggitem.go +++ b/modules/config/controller/robot/eggitem.go @@ -7,6 +7,7 @@ import ( "strings" "time" + "github.com/samber/lo" zero "github.com/wdvxdr1123/ZeroBot" "github.com/wdvxdr1123/ZeroBot/message" ) @@ -15,15 +16,14 @@ func init() { zero.OnCommand("扭蛋物品"). Handle(func(ctx *zero.Ctx) { - var buf strings.Builder + var buf []string for _, v := range service.NewItemService().AllEgg() { - - buf.WriteString(xmlres.ItemsMAP[int(v.ItemID)].Name + "\n") + buf = append(buf, xmlres.ItemsMAP[int(v.ItemID)].Name) } - - msg := ctx.SendChain(message.At(ctx.Event.Sender.ID), message.Reply(ctx.Event.MessageID), message.Text(buf.String())) + buf = lo.Union(buf) + msg := ctx.SendChain(message.At(ctx.Event.Sender.ID), message.Reply(ctx.Event.MessageID), message.Text(strings.Join(buf, "\n"))) cool.Cron.AfterFunc(30*time.Second, func() { ctx.DeleteMessage(ctx.Event.MessageID) ctx.DeleteMessage(msg) diff --git a/modules/player/controller/robot/bindqq.go b/modules/player/controller/robot/bindqq.go index 1f26934b..8e32cb7e 100644 --- a/modules/player/controller/robot/bindqq.go +++ b/modules/player/controller/robot/bindqq.go @@ -15,9 +15,11 @@ func init() { err := service.NewBaseSysUserService().BindQQ(msgs[1], msgs[2], ctx.Event.Sender.ID) if err != nil { - ctx.Send(err.Error()) + ctx.SendPrivateMessage(ctx.Event.Sender.ID, err.Error()) + } else { - ctx.Send("绑定成功") + ctx.SendPrivateMessage(ctx.Event.Sender.ID, "绑定成功") + } }