From a40c17498572e1560a9eb5f88c9bde8d6f0795b7 Mon Sep 17 00:00:00 2001 From: shoopea Date: Tue, 28 May 2019 15:00:37 +0800 Subject: [PATCH] test --- def.go | 9 ++++++-- msg.go | 68 ++++++++++++++++++++++++++++++++++++++---------------- rules.go | 9 +++++++- sql.go | 1 + workers.go | 6 +++++ 5 files changed, 70 insertions(+), 23 deletions(-) diff --git a/def.go b/def.go index c2e131c..ead712d 100644 --- a/def.go +++ b/def.go @@ -74,6 +74,10 @@ type ChatWarsMessageMeAck struct { ObjID64 int64 `json:"obj_id"` } +type ChatWarsMessageGoQuestAck struct { + ObjID64 int64 `json:"obj_id"` +} + type ChatWarsMessageDuelFight struct { ObjID64 int64 `json:"obj_id"` WinCastle string `json:"win_castle"` @@ -219,7 +223,7 @@ const ( objSubTypeMessageHeroReq = 311 // /hero (done) objSubTypeMessageHeroAck = 312 // result from /hero (not done) objSubTypeMessageMeReq = 313 // 🏅Me (done) - objSubTypeMessageMeAck = 314 // result from 🏅Me (not done) + objSubTypeMessageMeAck = 314 // result from 🏅Me (done) objSubTypeMessageInventoryReq = 315 // /inv (done) objSubTypeMessageInventoryAck = 316 // result from /inv (not done) objSubTypeMessagePillageInc = 317 // random incoming pillage (done) @@ -247,7 +251,7 @@ const ( objSubTypeMessageOrderbookAck = 339 // orderbook summary (not done) objSubTypeMessageWithdrawReq = 340 // /g_withdraw (done) objSubTypeMessageWithdrawCode = 341 // code to receive (done) - objSubTypeMessageWithdrawRcv = 342 // Received msg (done) + objSubTypeMessageWithdrawRcv = 342 // Withdraw "received" msg (done) objSubTypeMessageDepositReq = 343 // /g_deposit (done) objSubTypeMessageDepositAck = 344 // Deposited successfully (done) objSubTypeMessageStockReq = 345 // /stock (done) @@ -258,6 +262,7 @@ const ( objSubTypeMessageTUReportReq = 350 // /tu_report (not done) objSubTypeMessageTUReportAck = 351 // result from /tu_report (not done) objSubTypeMessageTimeout = 352 // generic timeout for action + objSubTypeMessageGoQuestAck = 353 // confirm quest destination/busyness (done) objSubTypeJobPillage = 601 objSubTypeJobTribute = 602 objSubTypeJobStatus = 603 diff --git a/msg.go b/msg.go index ded143e..eeacddb 100644 --- a/msg.go +++ b/msg.go @@ -29,27 +29,55 @@ func parseSubTypeMessageReportAck(m *ChatWarsMessage, r *regexp.Regexp) (*ChatWa func parseSubTypeMessageMeAck(m *ChatWarsMessage, r *regexp.Regexp) (*ChatWarsMessageMeAck, error) { cwm := ChatWarsMessageMeAck{} - log.Printf("parseSubTypeMessageReport : Me report identified\n") - log.Printf("parseSubTypeMessageReport : Player : %s\n", r.ReplaceAllString(m.Text, "${Player}")) - log.Printf("parseSubTypeMessageReport : Guild : %s\n", r.ReplaceAllString(m.Text, "${Guild}")) - log.Printf("parseSubTypeMessageReport : Class : %s\n", r.ReplaceAllString(m.Text, "${Class}")) - log.Printf("parseSubTypeMessageReport : Castle : %s\n", r.ReplaceAllString(m.Text, "${Castle}")) - log.Printf("parseSubTypeMessageReport : Level : %s\n", r.ReplaceAllString(m.Text, "${Level}")) - log.Printf("parseSubTypeMessageReport : Atk : %s\n", r.ReplaceAllString(m.Text, "${Atk}")) - log.Printf("parseSubTypeMessageReport : Def : %s\n", r.ReplaceAllString(m.Text, "${Def}")) - log.Printf("parseSubTypeMessageReport : ExpNow : %s\n", r.ReplaceAllString(m.Text, "${ExpNow}")) - log.Printf("parseSubTypeMessageReport : ExpLvl : %s\n", r.ReplaceAllString(m.Text, "${ExpLvl}")) - log.Printf("parseSubTypeMessageReport : StaminaNow : %s\n", r.ReplaceAllString(m.Text, "${StaminaNow}")) - log.Printf("parseSubTypeMessageReport : StaminaMax : %s\n", r.ReplaceAllString(m.Text, "${StaminaMax}")) - log.Printf("parseSubTypeMessageReport : Gold : %s\n", r.ReplaceAllString(m.Text, "${Gold}")) - log.Printf("parseSubTypeMessageReport : Pogs : %s\n", r.ReplaceAllString(m.Text, "${Pogs}")) - log.Printf("parseSubTypeMessageReport : Gems : %s\n", r.ReplaceAllString(m.Text, "${Gems}")) - log.Printf("parseSubTypeMessageReport : AtkGear : %s\n", r.ReplaceAllString(m.Text, "${AtkGear}")) - log.Printf("parseSubTypeMessageReport : DefGear : %s\n", r.ReplaceAllString(m.Text, "${DefGear}")) - log.Printf("parseSubTypeMessageReport : BagUsed : %s\n", r.ReplaceAllString(m.Text, "${BagUsed}")) - log.Printf("parseSubTypeMessageReport : BagDispo : %s\n", r.ReplaceAllString(m.Text, "${BagDispo}")) - log.Printf("parseSubTypeMessageReport : State : %s\n", r.ReplaceAllString(m.Text, "${State}")) + /* + log.Printf("parseSubTypeMessageReport : Me report identified\n") + log.Printf("parseSubTypeMessageReport : Player : %s\n", r.ReplaceAllString(m.Text, "${Player}")) + log.Printf("parseSubTypeMessageReport : Guild : %s\n", r.ReplaceAllString(m.Text, "${Guild}")) + log.Printf("parseSubTypeMessageReport : Class : %s\n", r.ReplaceAllString(m.Text, "${Class}")) + log.Printf("parseSubTypeMessageReport : Castle : %s\n", r.ReplaceAllString(m.Text, "${Castle}")) + log.Printf("parseSubTypeMessageReport : Level : %s\n", r.ReplaceAllString(m.Text, "${Level}")) + log.Printf("parseSubTypeMessageReport : Atk : %s\n", r.ReplaceAllString(m.Text, "${Atk}")) + log.Printf("parseSubTypeMessageReport : Def : %s\n", r.ReplaceAllString(m.Text, "${Def}")) + log.Printf("parseSubTypeMessageReport : ExpNow : %s\n", r.ReplaceAllString(m.Text, "${ExpNow}")) + log.Printf("parseSubTypeMessageReport : ExpLvl : %s\n", r.ReplaceAllString(m.Text, "${ExpLvl}")) + log.Printf("parseSubTypeMessageReport : StaminaNow : %s\n", r.ReplaceAllString(m.Text, "${StaminaNow}")) + log.Printf("parseSubTypeMessageReport : StaminaMax : %s\n", r.ReplaceAllString(m.Text, "${StaminaMax}")) + log.Printf("parseSubTypeMessageReport : Gold : %s\n", r.ReplaceAllString(m.Text, "${Gold}")) + log.Printf("parseSubTypeMessageReport : Pogs : %s\n", r.ReplaceAllString(m.Text, "${Pogs}")) + log.Printf("parseSubTypeMessageReport : Gems : %s\n", r.ReplaceAllString(m.Text, "${Gems}")) + log.Printf("parseSubTypeMessageReport : AtkGear : %s\n", r.ReplaceAllString(m.Text, "${AtkGear}")) + log.Printf("parseSubTypeMessageReport : DefGear : %s\n", r.ReplaceAllString(m.Text, "${DefGear}")) + log.Printf("parseSubTypeMessageReport : BagUsed : %s\n", r.ReplaceAllString(m.Text, "${BagUsed}")) + log.Printf("parseSubTypeMessageReport : BagDispo : %s\n", r.ReplaceAllString(m.Text, "${BagDispo}")) + log.Printf("parseSubTypeMessageReport : State : %s\n", r.ReplaceAllString(m.Text, "${State}")) + */ + return &cwm, nil +} +func parseSubTypeMessageGoQuestAck(m *ChatWarsMessage, r *regexp.Regexp) (*ChatWarsMessageGoQuestAck, error) { + cwm := ChatWarsMessageGoQuestAck{} + /* + log.Printf("parseSubTypeMessageReport : Me report identified\n") + log.Printf("parseSubTypeMessageReport : Player : %s\n", r.ReplaceAllString(m.Text, "${Player}")) + log.Printf("parseSubTypeMessageReport : Guild : %s\n", r.ReplaceAllString(m.Text, "${Guild}")) + log.Printf("parseSubTypeMessageReport : Class : %s\n", r.ReplaceAllString(m.Text, "${Class}")) + log.Printf("parseSubTypeMessageReport : Castle : %s\n", r.ReplaceAllString(m.Text, "${Castle}")) + log.Printf("parseSubTypeMessageReport : Level : %s\n", r.ReplaceAllString(m.Text, "${Level}")) + log.Printf("parseSubTypeMessageReport : Atk : %s\n", r.ReplaceAllString(m.Text, "${Atk}")) + log.Printf("parseSubTypeMessageReport : Def : %s\n", r.ReplaceAllString(m.Text, "${Def}")) + log.Printf("parseSubTypeMessageReport : ExpNow : %s\n", r.ReplaceAllString(m.Text, "${ExpNow}")) + log.Printf("parseSubTypeMessageReport : ExpLvl : %s\n", r.ReplaceAllString(m.Text, "${ExpLvl}")) + log.Printf("parseSubTypeMessageReport : StaminaNow : %s\n", r.ReplaceAllString(m.Text, "${StaminaNow}")) + log.Printf("parseSubTypeMessageReport : StaminaMax : %s\n", r.ReplaceAllString(m.Text, "${StaminaMax}")) + log.Printf("parseSubTypeMessageReport : Gold : %s\n", r.ReplaceAllString(m.Text, "${Gold}")) + log.Printf("parseSubTypeMessageReport : Pogs : %s\n", r.ReplaceAllString(m.Text, "${Pogs}")) + log.Printf("parseSubTypeMessageReport : Gems : %s\n", r.ReplaceAllString(m.Text, "${Gems}")) + log.Printf("parseSubTypeMessageReport : AtkGear : %s\n", r.ReplaceAllString(m.Text, "${AtkGear}")) + log.Printf("parseSubTypeMessageReport : DefGear : %s\n", r.ReplaceAllString(m.Text, "${DefGear}")) + log.Printf("parseSubTypeMessageReport : BagUsed : %s\n", r.ReplaceAllString(m.Text, "${BagUsed}")) + log.Printf("parseSubTypeMessageReport : BagDispo : %s\n", r.ReplaceAllString(m.Text, "${BagDispo}")) + log.Printf("parseSubTypeMessageReport : State : %s\n", r.ReplaceAllString(m.Text, "${State}")) + */ return &cwm, nil } diff --git a/rules.go b/rules.go index 8275e8b..654f0bb 100644 --- a/rules.go +++ b/rules.go @@ -119,7 +119,7 @@ func resetMsgParsingRules() { ,(4900, ` + strconv.Itoa(objSubTypeMessageUnionWar) + `, "Union war rep only union", "^(🏠Trade union news:\n)(?P(?s:.*))(🎪State of exclusive rights:\n){0}(?P(?s:.*))$") ,(4900, ` + strconv.Itoa(objSubTypeMessageUnionWar) + `, "Union war rep only fair", "^(🏠Trade union news:\n){0}(?P(?s:.*))(🎪State of exclusive rights:\n)(?P(?s:.*))$") ,(5000, ` + strconv.Itoa(objSubTypeMessageTimeout) + `, "Generic timeout", "^Too late. Action is not available.$") - ,(5000, ` + strconv.Itoa(objSubTypeMessageMeAck) + `, "Me ack", "^(?s:.*)Battle of the seven castles in .*!\\n(?s:.*)\\n` + + ,(5000, ` + strconv.Itoa(objSubTypeMessageMeAck) + `, "Me ack", "^(?s:.*)Battle(.*)of the seven castles in .*!\\n(?s:.*)\\n` + `(?P.)(\\[(?P[A-Z0-9]+)\\]){0,1}(?P.*?) ((?P(Knight|Ranger|Sentinel|Collector|Blacksmith|Alchemist)) ){0,1}of (?P[a-zA-Z]*) Castle\\n` + `.Level: (?P[0-9]+)\\n` + `.Atk: (?P[0-9]+) .Def: (?P[0-9]+)\\n` + @@ -130,6 +130,13 @@ func resetMsgParsingRules() { `🎒Bag: (?P[0-9]+)/(?P[0-9]+) /inv\\n\\n` + `State:\\n(?P.*)\\n\\n` + `More: /hero(?s:.*)$") + ,(5000, ` + strconv.Itoa(objSubTypeMessageGoQuestAck) + `, "Go Quest Ack Forest", "^In a dire need for an adventure, you went to a (?P[a-zA-Z]+). You'll be back in (?P