MCPcopy Create free account
hub / github.com/FloatTech/ZeroBot-Plugin-Playground / pickupDetail

Function pickupDetail

plugin/fgopickup/handler.go:30–61  ·  view source on GitHub ↗

以卡池id获取某一个卡池的详情

(ctx *zero.Ctx)

Source from the content-addressed store, hash-verified

28
29// 以卡池id获取某一个卡池的详情
30func pickupDetail(ctx *zero.Ctx) {
31 pickupID, err := strconv.Atoi(ctx.State["args"].(string))
32 if err != nil || pickupID <= 0 {
33 ctx.Send("参数错误!")
34 return
35 }
36
37 service := service{}
38 detail, err := service.getPickupDetail(pickupID)
39 if err != nil {
40 ctx.SendChain(message.Text("ERROR: ", err, " 解释: 查询出错!"))
41 return
42 }
43 servants := detail.Servants
44
45 days, err := service.getPickupTimeGap(pickupID)
46 if err != nil {
47 ctx.SendChain(message.Text("ERROR: ", err, " 解释: 查询出错!"))
48 return
49 }
50
51 msg := make(message.Message, len(servants)+3)
52 msg[0] = ctxext.FakeSenderForwardNode(ctx, getMsgOfSinglePickup(detail.Pickup)...)
53 msg[1] = ctxext.FakeSenderForwardNode(ctx, message.Text("距今还有", days, "天. ", "以下为UP从者"))
54
55 for i, servant := range servants {
56 avatar := message.Image(servant.Avatar)
57 name := message.Text("\n", servant.Name)
58 msg[i+2] = ctxext.FakeSenderForwardNode(ctx, avatar, name)
59 }
60 ctx.Send(msg)
61}
62
63func getServantPickups(ctx *zero.Ctx) {
64 servantID, err := strconv.Atoi(ctx.State["args"].(string))

Callers

nothing calls this directly

Calls 3

getPickupDetailMethod · 0.95
getPickupTimeGapMethod · 0.95
getMsgOfSinglePickupFunction · 0.85

Tested by

no test coverage detected