diff --git a/def.go b/def.go index 8085328..4892b71 100644 --- a/def.go +++ b/def.go @@ -240,9 +240,8 @@ const ( objSubTypeMessageMiscReq = 347 // /misc (done) objSubTypeMEssageMiscAck = 348 // result from /misc (not done) objSubTypeMessageUnionWar = 349 // from Chat Wars Reports (not done) - objSubTypeMessageFairWar = 350 // from Chat Wars Reports (not done) - objSubTypeMessageTUReportReq = 351 // /tu_report (not done) - objSubTypeMessageTUReportAck = 352 // result from /tu_report (not done) + objSubTypeMessageTUReportReq = 350 // /tu_report (not done) + objSubTypeMessageTUReportAck = 351 // result from /tu_report (not done) objSubTypeJobPillage = 601 objSubTypeJobTribute = 602 objSubTypeJobStatus = 603 diff --git a/rules.go b/rules.go index aa165d0..8acfb32 100644 --- a/rules.go +++ b/rules.go @@ -100,7 +100,12 @@ func resetMsgParsingRules() { ,(5000, ` + strconv.Itoa(objSubTypeMessageUnionWar) + `, "Union war report", "^(🏠Trade union news:\\n){0,1}` + `(((?P[A-Z][a-z]+ [A-Z][a-z]+) was (?P(easily defended|defended successfully|breached.|easily breached.|closely breached.))(Attackers have pillage union for (?[0-9]+) stock):\\n` + `(πŸŽ–Attack leaders: (?P[πŸ‰πŸ¦…πŸΊπŸ¦ˆπŸ¦ŒπŸ₯”πŸŒ‘])(?P[^,]+)(,(?P[πŸ‰πŸ¦…πŸΊπŸ¦ˆπŸ¦ŒπŸ₯”πŸŒ‘])(?P[^,]+)){0,1}(,(?P[πŸ‰πŸ¦…πŸΊπŸ¦ˆπŸ¦ŒπŸ₯”πŸŒ‘])(?P[^,]+)){0,1}(,(?P[πŸ‰πŸ¦…πŸΊπŸ¦ˆπŸ¦ŒπŸ₯”πŸŒ‘])(?P[^,]+)){0,1}){0,1}(\\n){0,1}` + - `(πŸŽ–Defense leaders: (?P[πŸ‰πŸ¦…πŸΊπŸ¦ˆπŸ¦ŒπŸ₯”πŸŒ‘])(?P[^,]+)(,(?P[πŸ‰πŸ¦…πŸΊπŸ¦ˆπŸ¦ŒπŸ₯”πŸŒ‘])(?P[^,]+)){0,1}(,(?P[πŸ‰πŸ¦…πŸΊπŸ¦ˆπŸ¦ŒπŸ₯”πŸŒ‘])(?P[^,]+)){0,1}(,(?P[πŸ‰πŸ¦…πŸΊπŸ¦ˆπŸ¦ŒπŸ₯”πŸŒ‘])(?P[^,]+)){0,1}){0,1}(\\n){0,1})(\\n)*)+$") + `(πŸŽ–Defense leaders: (?P[πŸ‰πŸ¦…πŸΊπŸ¦ˆπŸ¦ŒπŸ₯”πŸŒ‘])(?P[^,]+)(,(?P[πŸ‰πŸ¦…πŸΊπŸ¦ˆπŸ¦ŒπŸ₯”πŸŒ‘])(?P[^,]+)){0,1}(,(?P[πŸ‰πŸ¦…πŸΊπŸ¦ˆπŸ¦ŒπŸ₯”πŸŒ‘])(?P[^,]+)){0,1}(,(?P[πŸ‰πŸ¦…πŸΊπŸ¦ˆπŸ¦ŒπŸ₯”πŸŒ‘])(?P[^,]+)){0,1}){0,1}(\\n){0,1})(\\n)*)*` + + `(πŸŽͺState of exclusive rights:\\n){0,1}` + + `(((?P[A-Z][a-z]+ [A-Z][a-z]+) (?P(was protected|belongs to)( (?P[A-Z][a-z]+ [A-Z][a-z]+):)\\n` + + `(πŸŽ–Attack leaders: (?P[πŸ‰πŸ¦…πŸΊπŸ¦ˆπŸ¦ŒπŸ₯”πŸŒ‘])(?P[^,]+)(,(?P[πŸ‰πŸ¦…πŸΊπŸ¦ˆπŸ¦ŒπŸ₯”πŸŒ‘])(?P[^,]+)){0,1}(,(?P[πŸ‰πŸ¦…πŸΊπŸ¦ˆπŸ¦ŒπŸ₯”πŸŒ‘])(?P[^,]+)){0,1}(,(?P[πŸ‰πŸ¦…πŸΊπŸ¦ˆπŸ¦ŒπŸ₯”πŸŒ‘])(?P[^,]+)){0,1}){0,1}(\\n){0,1}` + + `(πŸŽ–Defense leaders: (?P[πŸ‰πŸ¦…πŸΊπŸ¦ˆπŸ¦ŒπŸ₯”πŸŒ‘])(?P[^,]+)(,(?P[πŸ‰πŸ¦…πŸΊπŸ¦ˆπŸ¦ŒπŸ₯”πŸŒ‘])(?P[^,]+)){0,1}(,(?P[πŸ‰πŸ¦…πŸΊπŸ¦ˆπŸ¦ŒπŸ₯”πŸŒ‘])(?P[^,]+)){0,1}(,(?P[πŸ‰πŸ¦…πŸΊπŸ¦ˆπŸ¦ŒπŸ₯”πŸŒ‘])(?P[^,]+)){0,1}){0,1}(\\n){0,1})(\\n)*)*` + + `"$") ;`) failOnError(err, "resetMsgParsingRules : populate table msg_rules") } diff --git a/sql.go b/sql.go index 046a9c5..26824cb 100644 --- a/sql.go +++ b/sql.go @@ -364,7 +364,6 @@ func initDB() { ,(` + strconv.Itoa(objSubTypeMEssageMiscAck) + `, "misc_ack", "Misc Ack", ` + strconv.Itoa(objTypeMessage) + `) ,(` + strconv.Itoa(objSubTypeMessageTUReportReq) + `, "tureport_req", "Trade Union War Report Req", ` + strconv.Itoa(objTypeMessage) + `) ,(` + strconv.Itoa(objSubTypeMessageTUReportAck) + `, "tureport_ack", "Trade Union War Report Ack", ` + strconv.Itoa(objTypeMessage) + `) - ,(` + strconv.Itoa(objSubTypeMessageFairWar) + `, "fair_war", "Fair war report", ` + strconv.Itoa(objTypeMessage) + `) ,(` + strconv.Itoa(objSubTypeMessageUnionWar) + `, "union_war", "Union war report", ` + strconv.Itoa(objTypeMessage) + `) ,(` + strconv.Itoa(objSubTypeJobPillage) + `, "job_pillage", "Pillage job", ` + strconv.Itoa(objTypeJob) + `) ,(` + strconv.Itoa(objSubTypeJobTribute) + `, "job_tribute", "Tribute job", ` + strconv.Itoa(objTypeJob) + `)