```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful

feat(user): 用户名转换为小写并优化QQ绑定错误消息处理

- 在BindQQ方法中将用户名转换为小写以确保一致性
- 修改bindqq控制器中的错误消息发送方式,使用私信发送绑定结果
- 避免在群聊中显示敏感的绑定错误信息

refactor(robot): 优化扭蛋物品列表展示逻辑

- 引入samber/lo库用于数组去重操作
This commit is contained in:
昔念
2026-03-25 11:18:18 +08:00
parent 6702649cac
commit d995a63ff9
4 changed files with 11 additions and 8 deletions

View File

@@ -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

View File

@@ -10,6 +10,7 @@ import (
)
func init() {
zero.OnCommand("CDK").
Handle(func(ctx *zero.Ctx) {

View File

@@ -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)

View File

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