48 lines
1000 B
Go
48 lines
1000 B
Go
package robot
|
|
|
|
import (
|
|
"blazing/cool"
|
|
"blazing/modules/config/service"
|
|
dict "blazing/modules/dict/service"
|
|
"strings"
|
|
"time"
|
|
|
|
"github.com/gogf/gf/v2/util/gconv"
|
|
zero "github.com/wdvxdr1123/ZeroBot"
|
|
)
|
|
|
|
func init() {
|
|
zero.OnCommand("野怪").
|
|
Handle(func(ctx *zero.Ctx) {
|
|
msgs := strings.Fields(ctx.Event.Message.String())
|
|
maps := dict.NewDictInfoService().GetData("mapid")
|
|
pets := dict.NewDictInfoService().GetNameData("pet")
|
|
|
|
if len(msgs) > 1 {
|
|
var count uint32 = 0
|
|
t, ok := pets[msgs[1]]
|
|
if ok {
|
|
count = uint32(t.Value)
|
|
} else {
|
|
count = gconv.Uint32(msgs[1])
|
|
}
|
|
if count != 0 {
|
|
var cdks []string
|
|
for _, v := range service.NewMapPitService().GetPet(count) {
|
|
|
|
cdks = append(cdks, gconv.String(maps[uint32(v.MapID)].Name))
|
|
|
|
}
|
|
|
|
msg := ctx.Send(strings.Join(cdks, "\n"))
|
|
cool.Cron.AfterFunc(10*time.Second, func() {
|
|
ctx.DeleteMessage(ctx.Event.MessageID)
|
|
ctx.DeleteMessage(msg)
|
|
})
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
}
|