Files
bl/modules/config/controller/robot/eggitem.go
昔念 d995a63ff9
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
```
feat(user): 用户名转换为小写并优化QQ绑定错误消息处理

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

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

- 引入samber/lo库用于数组去重操作
2026-03-25 11:18:18 +08:00

52 lines
1.1 KiB
Go

package robot
import (
"blazing/common/data/xmlres"
"blazing/cool"
"blazing/modules/config/service"
"strings"
"time"
"github.com/samber/lo"
zero "github.com/wdvxdr1123/ZeroBot"
"github.com/wdvxdr1123/ZeroBot/message"
)
func init() {
zero.OnCommand("扭蛋物品").
Handle(func(ctx *zero.Ctx) {
var buf []string
for _, v := range service.NewItemService().AllEgg() {
buf = append(buf, xmlres.ItemsMAP[int(v.ItemID)].Name)
}
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)
})
})
}
func init() {
zero.OnCommand("扭蛋精灵").
Handle(func(ctx *zero.Ctx) {
var cdks []string
for _, v := range service.NewPetRewardService().AllEgg() {
cdks = append(cdks, xmlres.PetMAP[int(v.MonID)].DefName)
}
msg := ctx.Send(strings.Join(cdks, "\n"))
cool.Cron.AfterFunc(30*time.Second, func() {
ctx.DeleteMessage(ctx.Event.MessageID)
ctx.DeleteMessage(msg)
})
})
}