diff --git a/def.go b/def.go index cb83490..20b3360 100644 --- a/def.go +++ b/def.go @@ -207,6 +207,11 @@ const ( objSubTypeMessageSellReq = 337 // /wts_xx (done) objSubTypeMessageOrderbookReq = 338 // /t_xx (done) objSubTypeMessageOrderbookAck = 339 // orderbook summary (not done) + objSubTypeMessageWithdrawReq = 340 // /g_withdraw (not done) + objSubTypeMessageWithdrawCode = 341 // code to receive (not done) + objSubTypeMessageWithdrawRcv = 342 // Received msg (not done) + objSubTypeMessageDepositReq = 343 // /g_deposit (not done) + objSubTypeMessageDepositAck = 344 // Deposited successfully (not done) objSubTypeJobPillage = 601 objSubTypeJobTribute = 602 objSubTypeJobStatus = 603 diff --git a/rules.go b/rules.go index 4f27638..762c921 100644 --- a/rules.go +++ b/rules.go @@ -59,6 +59,37 @@ func resetMsgParsingRules() { ,(5000, ` + strconv.Itoa(objSubTypeMessageBuyReq) + `, "Buy request", "^/wtb_(?P[0-9]+)(_(?P[0-9]+)){0,1}$") ,(5000, ` + strconv.Itoa(objSubTypeMessageSellReq) + `, "Sell request", "^/wts_(?P[0-9]+)(_(?P[0-9]+)(_(?P[0-9]+)){0,1}){0,1}$") ,(5000, ` + strconv.Itoa(objSubTypeMessageOrderbookReq) + `, "Orderbook request", "^/t_(?P[0-9]+)$") + ,(5000, ` + strconv.Itoa(objSubTypeMessageOrderbookAck) + `, "Orderbook request", "^$") + ,(5000, ` + strconv.Itoa(objSubTypeMessageWithdrawReq) + `, "Withdraw Req", "^/g_withdraw( )+(?P[a-z0-9]+)( )+(?P[0-9]+)` + + `(( )+(?P[a-z0-9]+)( )+(?P[0-9]+)){0,1}` + + `(( )+(?P[a-z0-9]+)( )+(?P[0-9]+)){0,1}` + + `(( )+(?P[a-z0-9]+)( )+(?P[0-9]+)){0,1}` + + `(( )+(?P[a-z0-9]+)( )+(?P[0-9]+)){0,1}` + + `(( )+(?P[a-z0-9]+)( )+(?P[0-9]+)){0,1}` + + `(( )+(?P[a-z0-9]+)( )+(?P[0-9]+)){0,1}` + + `(( )+(?P[a-z0-9]+)( )+(?P[0-9]+)){0,1}$") + ,(5000, ` + strconv.Itoa(objSubTypeMessageWithdrawCode) + `, "Withdraw Code", "^Withdrawing:\\n$` + + `(?P.*) x (?P.*)\\n` + + `((?P.*) x (?P.*)\\n){0,1}` + + `((?P.*) x (?P.*)\\n){0,1}` + + `((?P.*) x (?P.*)\\n){0,1}` + + `((?P.*) x (?P.*)\\n){0,1}` + + `((?P.*) x (?P.*)\\n){0,1}` + + `((?P.*) x (?P.*)\\n){0,1}` + + `((?P.*) x (?P.*)\\n){0,1}` + + `Recipient shall send to bot:\\n` + + `/g_receive [a-z0-9]+$") + ,(5000, ` + strconv.Itoa(objSubTypeMessageWithdrawRcv) + `, "Withdraw Code", "^Received:\\n$` + + `(?P.*) x (?P.*)\\n` + + `((?P.*) x (?P.*)\\n){0,1}` + + `((?P.*) x (?P.*)\\n){0,1}` + + `((?P.*) x (?P.*)\\n){0,1}` + + `((?P.*) x (?P.*)\\n){0,1}` + + `((?P.*) x (?P.*)\\n){0,1}` + + `((?P.*) x (?P.*)\\n){0,1}` + + `((?P.*) x (?P.*)\\n){0,1}$") + ,(5000, ` + strconv.Itoa(objSubTypeMessageDepositReq) + `, "Deposit Req", "^/g_deposit (?P[a-z0-9]+) (?P[0-9]+)$") + ,(5000, ` + strconv.Itoa(objSubTypeMessageDepositAck) + `, "Deposit Ack", "^Deposited successfully: (?P.*) \\((?P[0-9]+)\\)$") ;`) failOnError(err, "resetMsgParsingRules : populate table msg_rules") } diff --git a/sql.go b/sql.go index e1a8a58..8f8f5fc 100644 --- a/sql.go +++ b/sql.go @@ -358,7 +358,13 @@ func initDB() { ,(` + strconv.Itoa(objSubTypeMessageMenu) + `, "menu", "Menu", ` + strconv.Itoa(objTypeMessage) + `) ,(` + strconv.Itoa(objSubTypeMessageBuyReq) + `, "buy_req", "Sell Req", ` + strconv.Itoa(objTypeMessage) + `) ,(` + strconv.Itoa(objSubTypeMessageSellReq) + `, "sell_req", "Buy Req", ` + strconv.Itoa(objTypeMessage) + `) - ,(` + strconv.Itoa(objSubTypeMessageOrderbookReq) + `, "orderbook_req", "Buy Req", ` + strconv.Itoa(objTypeMessage) + `) + ,(` + strconv.Itoa(objSubTypeMessageOrderbookReq) + `, "orderbook_req", "Orderbook Req", ` + strconv.Itoa(objTypeMessage) + `) + ,(` + strconv.Itoa(objSubTypeMessageOrderbookAck) + `, "orderbook_acl", "Orderbook Ack", ` + strconv.Itoa(objTypeMessage) + `) + ,(` + strconv.Itoa(objSubTypeMessageWithdrawReq) + `, "withdraw_req", "Withdraw Req", ` + strconv.Itoa(objTypeMessage) + `) + ,(` + strconv.Itoa(objSubTypeMessageWithdrawCode) + `, "withdraw_code", "Withdraw Code", ` + strconv.Itoa(objTypeMessage) + `) + ,(` + strconv.Itoa(objSubTypeMessageWithdrawRcv) + `, "withdraw_rcv", "Withdraw Received", ` + strconv.Itoa(objTypeMessage) + `) + ,(` + strconv.Itoa(objSubTypeMessageDepositReq) + `, "deposit_req", "Deposit Req", ` + strconv.Itoa(objTypeMessage) + `) + ,(` + strconv.Itoa(objSubTypeMessageDepositAck) + `, "deposit_ack", "Deposit Ack", ` + strconv.Itoa(objTypeMessage) + `) ,(` + strconv.Itoa(objSubTypeJobPillage) + `, "job_pillage", "Pillage job", ` + strconv.Itoa(objTypeJob) + `) ,(` + strconv.Itoa(objSubTypeJobTribute) + `, "job_tribute", "Tribute job", ` + strconv.Itoa(objTypeJob) + `) ,(` + strconv.Itoa(objSubTypeJobWithdrawal) + `, "job_withdraw", "Withdrawal job", ` + strconv.Itoa(objTypeJob) + `) diff --git a/workers.go b/workers.go index 00fb095..6ac0d78 100644 --- a/workers.go +++ b/workers.go @@ -193,6 +193,24 @@ func SQLIdentifyMsgWorker(id int, objIds <-chan int64) { case objSubTypeMessageOrderbookReq: err = setObjSubTypeId(objId, objSubTypeMessageOrderbookReq) logOnError(err, "SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : setObjSubTypeId(OrderbookReq)") + case objSubTypeMessageOrderbookAck: + err = setObjSubTypeId(objId, objSubTypeMessageSellReq) + logOnError(err, "SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : setObjSubTypeId(SellReq)") + case objSubTypeMessageWithdrawReq: + err = setObjSubTypeId(objId, objSubTypeMessageWithdrawReq) + logOnError(err, "SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : setObjSubTypeId(WithdrawReq)") + case objSubTypeMessageWithdrawCode: + err = setObjSubTypeId(objId, objSubTypeMessageWithdrawCode) + logOnError(err, "SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : setObjSubTypeId(WithdrawCode)") + case objSubTypeMessageWithdrawRcv: + err = setObjSubTypeId(objId, objSubTypeMessageWithdrawRcv) + logOnError(err, "SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : setObjSubTypeId(WithdrawRcv)") + case objSubTypeMessageDepositReq: + err = setObjSubTypeId(objId, objSubTypeMessageDepositReq) + logOnError(err, "SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : setObjSubTypeId(DepositReq)") + case objSubTypeMessageDepositAck: + err = setObjSubTypeId(objId, objSubTypeMessageDepositAck) + logOnError(err, "SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : setObjSubTypeId(DepositAck)") case objSubTypeMessageAuctionAnnounce: cwm := ChatWarsMessageAuctionAnnounce{ ObjID64: objId,