diff --git a/def.go b/def.go index 8e59eed..7b49ccf 100644 --- a/def.go +++ b/def.go @@ -30,26 +30,27 @@ const ( objTypeWarReport = 5 objTypeJob = 6 - objSubTypeMessageUnknown = 301 - objSubTypeMessageWar = 302 - objSubTypeMessageMiniWar = 303 - objSubTypeMessageGuildWar = 304 - objSubTypeMessageReport = 305 - objSubTypeMessageGReport = 306 - objSubTypeMessageQuest = 307 - objSubTypeMessageFight = 308 - objSubTypeMessageHero = 309 - objSubTypeMessageMe = 310 - objSubTypeMessageInventory = 311 - objSubTypeMessagePillageInc = 312 - objSubTypeMessageTributeInc = 313 - objSubTypeMessagePillageAck = 314 - objSubTypeMessageTributeAck = 315 - objSubTypeJobPillage = 601 - objSubTypeJobTribute = 602 - objSubTypeJobStatus = 603 - objSubTypeJobWithdrawal = 604 - objSubTypeJobGStock = 605 + objSubTypeMessageUnknown = 301 + objSubTypeMessageWar = 302 + objSubTypeMessageMiniWar = 303 + objSubTypeMessageGuildWar = 304 + objSubTypeMessageReport = 305 + objSubTypeMessageGReport = 306 + objSubTypeMessageQuest = 307 + objSubTypeMessageFight = 308 + objSubTypeMessageHero = 309 + objSubTypeMessageMe = 310 + objSubTypeMessageInventory = 311 + objSubTypeMessagePillageInc = 312 + objSubTypeMessageTributeInc = 313 + objSubTypeMessagePillageAck = 314 + objSubTypeMessageTributeAck = 315 + objSubTypeMessageAuctionAnnounce = 316 + objSubTypeJobPillage = 601 + objSubTypeJobTribute = 602 + objSubTypeJobStatus = 603 + objSubTypeJobWithdrawal = 604 + objSubTypeJobGStock = 605 MQGetMsgWorkers = 3 SQLCWMsgWorkers = 6 diff --git a/sql.go b/sql.go index 0952b64..675edcd 100644 --- a/sql.go +++ b/sql.go @@ -188,12 +188,14 @@ func initDB() { ,(` + strconv.Itoa(objSubTypeMessageInventory) + `, "inv", "Inventory", ` + strconv.Itoa(objTypeMessage) + `) ,(` + strconv.Itoa(objSubTypeMessagePillageInc) + `, "pillage_inc", "Pillage incoming", ` + strconv.Itoa(objTypeMessage) + `) ,(` + strconv.Itoa(objSubTypeMessageTributeInc) + `, "tribute_inc", "Request incoming", ` + strconv.Itoa(objTypeMessage) + `) - ,(` + strconv.Itoa(objSubTypeMessagePillageAck) + `, "pillage_ack", "Pillage acknoledged", ` + strconv.Itoa(objTypeMessage) + `) - ,(` + strconv.Itoa(objSubTypeMessageTributeAck) + `, "tribute_ack", "Request acknoledged", ` + strconv.Itoa(objTypeMessage) + `);`) + ,(` + strconv.Itoa(objSubTypeMessagePillageAck) + `, "pillage_ack", "Pillage acknowledged", ` + strconv.Itoa(objTypeMessage) + `) + ,(` + strconv.Itoa(objSubTypeMessageTributeAck) + `, "tribute_ack", "Request acknowledged", ` + strconv.Itoa(objTypeMessage) + `) + ,(` + strconv.Itoa(objSubTypeMessageAuctionAnnounce) + `, "auction_announce", "Auction announce", ` + strconv.Itoa(objTypeMessage) + `);`) failOnError(err, "initDB : populate table code_obj_sub_type") - _, err = db.Exec(`INSERT INTO msg_rules (prio, descn, rule, msg_type_id) - VALUES (5000, "Player war report", "^(?P[🐉🦅🐺🦈🦌🥔🌑])(?P(\\[[A-Z]{3}\\]){0,1})(?P([A-Za-z0-9 ]*)) ⚔:(?P[0-9]+)(?P\\((-|\\+)[0-9]+\\)){0,1} 🛡:(?P[0-9]+) Lvl: (?P[0-9]+)\\nYour result on the battlefield:\\n🔥Exp: (?P[0-9]+)\\n💰Gold: (?P-{0,1}[0-9]+)\\n📦Stock: (?P-{0,1}[0-9]+)(\\n)*(?P(🔋Stamina restored)){0,1}(\\n)*(?P(⚡Critical strike)){0,1}(\\n)*(?s:.*)$", ` + strconv.Itoa(objSubTypeMessageReport) + `);`) + _, err = db.Exec(`INSERT INTO msg_rules (prio, msg_type_id, descn, rule) + VALUES (5000, ` + strconv.Itoa(objSubTypeMessageReport) + `, "Player war report", "^(?P[🐉🦅🐺🦈🦌🥔🌑])(?P(\\[[A-Z]{3}\\]){0,1})(?P([A-Za-z0-9 ]*)) ⚔:(?P[0-9]+)(?P\\((-|\\+)[0-9]+\\)){0,1} 🛡:(?P[0-9]+) Lvl: (?P[0-9]+)\\nYour result on the battlefield:\\n🔥Exp: (?P[0-9]+)\\n💰Gold: (?P-{0,1}[0-9]+)\\n📦Stock: (?P-{0,1}[0-9]+)(\\n)*(?P(🔋Stamina restored)){0,1}(\\n)*(?P(⚡Critical strike)){0,1}(\\n)*(?s:.*)$") + ,(5000, ` + strconv.Itoa(objSubTypeMessageAuctionAnnounce) + `, "Auction annouce", "^Lot #(?P[0-9]+) : (?P.*)\\nSeller: (?P.*)\\nCurrent price: (?P[0-9]+) pouch\\(es\\)\\nBuyer: (?P.*)\\nEnd At: (?P.*)\\nStatus: (?P.*)(\\n)*(?s:.*);`) failOnError(err, "initDB : populate table msg_rules") log.Println("Database set up") diff --git a/workers.go b/workers.go index ba66205..a86f634 100644 --- a/workers.go +++ b/workers.go @@ -99,6 +99,15 @@ func SQLIdentifyMsgWorker(id int, objIds <-chan int64) { log.Printf("SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Stock : %s (%d)\n", r.ReplaceAllString(m.Text, "${Stock}"), objId) log.Printf("SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Stamina : %s (%d)\n", r.ReplaceAllString(m.Text, "${Stamina}"), objId) log.Printf("SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Crit : %s (%d)\n", r.ReplaceAllString(m.Text, "${Crit}"), objId) + case objSubTypeMessageAuctionAnnounce: + log.Printf("SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Auction announce (%d)\n", objId) + log.Printf("SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Lot : %s (%d)\n", r.ReplaceAllString(m.Text, "${Lot}"), objId) + log.Printf("SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Item : %s (%d)\n", r.ReplaceAllString(m.Text, "${Item}"), objId) + log.Printf("SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Seller : %s (%d)\n", r.ReplaceAllString(m.Text, "${Seller}"), objId) + log.Printf("SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Buyer : %s (%d)\n", r.ReplaceAllString(m.Text, "${Buyer}"), objId) + log.Printf("SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Price : %s (%d)\n", r.ReplaceAllString(m.Text, "${Price}"), objId) + log.Printf("SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Status : %s (%d)\n", r.ReplaceAllString(m.Text, "${Status}"), objId) + log.Printf("SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : End : %s (%d)\n", r.ReplaceAllString(m.Text, "${End}"), objId) default: log.Printf("SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Unknwon message type in rule %d : %d (%d)\n", msgParsingRules[i].ID, msgParsingRules[i].MsgTypeID, objId) }