diff --git a/msg.go b/msg.go index b990881..2ec047c 100644 --- a/msg.go +++ b/msg.go @@ -222,20 +222,18 @@ func parseSubTypeMessageAuctionAnnounce(m *ChatWarsMessage, r *regexp.Regexp) (* func parseSubTypeMessageWithdrawRcv(m *ChatWarsMessage, r *regexp.Regexp) (*ChatWarsMessageWithdrawRcv, error) { cwm := ChatWarsMessageWithdrawRcv{} items := []ChatWarsItems{} - /* - re := regexp.MustCompile(`(.*) x (.*)`) - for _, l := range re.FindAllStringSubmatch(m.Text, -1) { - i := getObjItemID(``, l[1]) - q, _ := strconv.ParseInt(l[2], 10, 64) - if i != 0 { - item := ChatWarsItems{ - ItemID64: i, - Quantity: q, - } - items = append(items, item) + re := regexp.MustCompile(`(.*) x (.*)`) + for _, l := range re.FindAllStringSubmatch(m.Text, -1) { + i := getObjItemID(``, l[1]) + q, _ := strconv.ParseInt(l[2], 10, 64) + if i != 0 { + item := ChatWarsItems{ + ItemID64: i, + Quantity: q, } + items = append(items, item) } - */ + } cwm.ItemList = items return &cwm, nil } diff --git a/rules.go b/rules.go index 665c52e..1b50c93 100644 --- a/rules.go +++ b/rules.go @@ -90,16 +90,8 @@ func resetMsgParsingRules() { `((?P.*) x (?P.*)\\n){0,1}` + `Recipient shall send to bot:\\n` + `/g_receive [a-z0-9]+$") - ,(5000, ` + strconv.Itoa(objSubTypeMessageWithdrawRcv) + `, "Withdraw Received #1", "^Received (?P.*) x (?P.*)$") - ,(5000, ` + strconv.Itoa(objSubTypeMessageWithdrawRcv) + `, "Withdraw Received #2", "^Received:` + - `(\\n(?P.*) x (?P.*))` + - `(\\n(?P.*) x (?P.*)){0,1}` + - `(\\n(?P.*) x (?P.*)){0,1}` + - `(\\n(?P.*) x (?P.*)){0,1}` + - `(\\n(?P.*) x (?P.*)){0,1}` + - `(\\n(?P.*) x (?P.*)){0,1}` + - `(\\n(?P.*) x (?P.*)){0,1}` + - `(\\n(?P.*) x (?P.*)){0,1}$") + ,(5000, ` + strconv.Itoa(objSubTypeMessageWithdrawRcv) + `, "Withdraw Received #1", "^Received (?P(.*) x (.*))$") + ,(5000, ` + strconv.Itoa(objSubTypeMessageWithdrawRcv) + `, "Withdraw Received #2", "^Received:(?P(\\n(.*) x (.*))*)$") ,(5000, ` + strconv.Itoa(objSubTypeMessageStockReq) + `, "Stock Req", "^/stock$") ,(5000, ` + strconv.Itoa(objSubTypeMessageStockAck) + `, "Stock Ack", "^📦Storage \\((?P[0-9]+)\\/(?P[0-9]+)\\):` + `(?P(\\n[a-zA-Z ]+ \\([0-9]+\\))*)$") diff --git a/workers.go b/workers.go index 92ddcc5..f8d4751 100644 --- a/workers.go +++ b/workers.go @@ -362,8 +362,12 @@ func SQLIdentifyMsgWorker(id int, objIds <-chan int64) { case objSubTypeMessageWithdrawReq: case objSubTypeMessageWithdrawCode: case objSubTypeMessageWithdrawRcv: - _, err := parseSubTypeMessageWithdrawRcv(m, rule.re) + cwm, err := parseSubTypeMessageWithdrawRcv(m, rule.re) logOnError(err, "SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Parsing objSubTypeMessageWithdrawRcv.") + for _, i := range cwm.ItemList { + err = insertMsgItem(cwm.Msg.ObjID64, i.ItemID64, i.Quantity) + logOnError(err, "SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Inserting objSubTypeMessageWithdrawRcv.") + } case objSubTypeMessageStockReq: case objSubTypeMessageMiscReq: case objSubTypeMessageGStockResReq: