From 0f8fddf5555c21e98d6bb0b0785e262d3f9b1479 Mon Sep 17 00:00:00 2001 From: shoopea Date: Mon, 13 May 2019 14:15:53 +0800 Subject: [PATCH] test --- msg.go | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 msg.go diff --git a/msg.go b/msg.go new file mode 100644 index 0000000..5d21dab --- /dev/null +++ b/msg.go @@ -0,0 +1,38 @@ +package main + +import ( + "fmt" + "regexp" + "strconv" + "time" +) + +func parseSubTypeMessageMiniWar(m *ChatWarsMessage, r *regexp.Regexp) (*ChatWarsMessageMiniWar, err) { + t, err := time.Parse("02/01/06 15:04", r.ReplaceAllString(m.Text, "${Time}")) + logOnError(err, "parseSubTypeMessageMiniWar : parsing time : "+r.ReplaceAllString(m.Text, "${Time}")) + cwm := ChatWarsMessageMiniWar{ + Time: t, + Report: make(map[string]*ChatWarsMessageMiniWarCastle), + } + for i := 1; i <= 7; i++ { + loot := fmt.Sprintf("${Loot%d}", i) + gardian := fmt.Sprintf("${Gardian%d}", i) + result := fmt.Sprintf("${Result%d}", i) + gold := fmt.Sprintf("${Gold%d}", i) + stock := fmt.Sprintf("${Stock%d}", i) + rep := ChatWarsMessageMiniWarCastle{ + Gardian: r.ReplaceAllString(m.Text, gardian), + Result: r.ReplaceAllString(m.Text, result), + } + rep.Gold, err = strconv.ParseInt(r.ReplaceAllString(m.Text, gold), 10, 64) + rep.Stock, err = strconv.ParseInt(r.ReplaceAllString(m.Text, stock), 10, 64) + cwm.Report[r.ReplaceAllString(m.Text, loot)] = &rep + } + for i := 1; i <= 7; i++ { + score := fmt.Sprintf("${Score%d}", i) + points := fmt.Sprintf("${Points%d}", i) + cwm.Report[r.ReplaceAllString(m.Text, score)].Points, err = strconv.ParseInt(r.ReplaceAllString(m.Text, points), 10, 64) + } + + return cwm, err +}