parse withdraw rcv
This commit is contained in:
parent
338d7660c3
commit
cd38dc3933
12
bot.go
12
bot.go
@ -45,6 +45,15 @@ func BotHandlers(b *tb.Bot) {
|
|||||||
b.Handle("/get_item_id", botGetItemId)
|
b.Handle("/get_item_id", botGetItemId)
|
||||||
b.Handle("/clients", botGetClients)
|
b.Handle("/clients", botGetClients)
|
||||||
|
|
||||||
|
b.Handle("/vault", botVaultHelp)
|
||||||
|
b.Handle("/vault_all", botVault)
|
||||||
|
b.Handle("/vault_res", botVault)
|
||||||
|
b.Handle("/vault_alch", botVault)
|
||||||
|
b.Handle("/vault_misc", botVault)
|
||||||
|
b.Handle("/vault_rec", botVault)
|
||||||
|
b.Handle("/vault_part", botVault)
|
||||||
|
b.Handle("/vault_other", botVault)
|
||||||
|
|
||||||
b.Handle(tb.OnPhoto, botPhoto)
|
b.Handle(tb.OnPhoto, botPhoto)
|
||||||
b.Handle(tb.OnChannelPost, botChannelPost)
|
b.Handle(tb.OnChannelPost, botChannelPost)
|
||||||
b.Handle(tb.OnQuery, botQuery)
|
b.Handle(tb.OnQuery, botQuery)
|
||||||
@ -112,7 +121,8 @@ func botHelp(m *tb.Message) {
|
|||||||
/get_item_id <string> - identify item_id from string
|
/get_item_id <string> - identify item_id from string
|
||||||
/clients - list all connected clients
|
/clients - list all connected clients
|
||||||
/g_deposit_all - deposit all res to vault
|
/g_deposit_all - deposit all res to vault
|
||||||
/g_withdraw <item> <qty> .. - withdraw items`,
|
/g_withdraw <item> <qty> .. - withdraw items
|
||||||
|
/vault - Deposit and withdrawal stats`,
|
||||||
FromMsgID64: int64(m.ID),
|
FromMsgID64: int64(m.ID),
|
||||||
FromChatID64: m.Chat.ID,
|
FromChatID64: m.Chat.ID,
|
||||||
}
|
}
|
||||||
|
5
def.go
5
def.go
@ -124,6 +124,11 @@ type ChatWarsMessageGStock struct {
|
|||||||
ItemList []ChatWarsItems `json:"item_list"`
|
ItemList []ChatWarsItems `json:"item_list"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ChatWarsMessageWithdrawRcv struct {
|
||||||
|
Msg *ChatWarsMessage `json:"msg"`
|
||||||
|
ItemList []ChatWarsItems `json:"item_list"`
|
||||||
|
}
|
||||||
|
|
||||||
type ChatWarsMessageGDepositReq struct {
|
type ChatWarsMessageGDepositReq struct {
|
||||||
Msg *ChatWarsMessage `json:"msg"`
|
Msg *ChatWarsMessage `json:"msg"`
|
||||||
ItemID64 int64 `json:"item_id"`
|
ItemID64 int64 `json:"item_id"`
|
||||||
|
19
msg.go
19
msg.go
@ -219,6 +219,25 @@ func parseSubTypeMessageAuctionAnnounce(m *ChatWarsMessage, r *regexp.Regexp) (*
|
|||||||
return &cwm, nil
|
return &cwm, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cwm.ItemList = items
|
||||||
|
return &cwm, nil
|
||||||
|
}
|
||||||
|
|
||||||
func parseSubTypeMessageGStockAnyAck(m *ChatWarsMessage, r *regexp.Regexp) (*ChatWarsMessageGStock, error) {
|
func parseSubTypeMessageGStockAnyAck(m *ChatWarsMessage, r *regexp.Regexp) (*ChatWarsMessageGStock, error) {
|
||||||
cwm := ChatWarsMessageGStock{}
|
cwm := ChatWarsMessageGStock{}
|
||||||
items := []ChatWarsItems{}
|
items := []ChatWarsItems{}
|
||||||
|
20
sql.go
20
sql.go
@ -546,6 +546,10 @@ func initDB() {
|
|||||||
,(` + strconv.Itoa(objSubTypeMessageOrderbookSearch) + `, "orderbook_search", "Orderbook search", ` + strconv.Itoa(objTypeMessage) + `)
|
,(` + strconv.Itoa(objSubTypeMessageOrderbookSearch) + `, "orderbook_search", "Orderbook search", ` + strconv.Itoa(objTypeMessage) + `)
|
||||||
,(` + strconv.Itoa(objSubTypeMessageQuestReq) + `, "quest_req", "Quest Req", ` + strconv.Itoa(objTypeMessage) + `)
|
,(` + strconv.Itoa(objSubTypeMessageQuestReq) + `, "quest_req", "Quest Req", ` + strconv.Itoa(objTypeMessage) + `)
|
||||||
,(` + strconv.Itoa(objSubTypeMessageQuestAck) + `, "quest_ack", "Quest Ack", ` + strconv.Itoa(objTypeMessage) + `)
|
,(` + strconv.Itoa(objSubTypeMessageQuestAck) + `, "quest_ack", "Quest Ack", ` + strconv.Itoa(objTypeMessage) + `)
|
||||||
|
,(` + strconv.Itoa(objSubTypeMessageBattle) + `, "battle", "Battle", ` + strconv.Itoa(objTypeMessage) + `)
|
||||||
|
,(` + strconv.Itoa(objSubTypeMessageOrderCancelReq) + `, "order_cancel_req", "Order Cancel Req", ` + strconv.Itoa(objTypeMessage) + `)
|
||||||
|
,(` + strconv.Itoa(objSubTypeMessageOrderCancelAck) + `, "order_cancel_ack", "Order Cancel Ack", ` + strconv.Itoa(objTypeMessage) + `)
|
||||||
|
,(` + strconv.Itoa(objSubTypeMessageStaminaRestored) + `, "stamina_restored", "Stamina Restored", ` + strconv.Itoa(objTypeMessage) + `)
|
||||||
,(` + strconv.Itoa(objSubTypeJobPillage) + `, "job_pillage", "Pillage job", ` + strconv.Itoa(objTypeJob) + `)
|
,(` + strconv.Itoa(objSubTypeJobPillage) + `, "job_pillage", "Pillage job", ` + strconv.Itoa(objTypeJob) + `)
|
||||||
,(` + strconv.Itoa(objSubTypeJobTribute) + `, "job_tribute", "Tribute job", ` + strconv.Itoa(objTypeJob) + `)
|
,(` + strconv.Itoa(objSubTypeJobTribute) + `, "job_tribute", "Tribute job", ` + strconv.Itoa(objTypeJob) + `)
|
||||||
,(` + strconv.Itoa(objSubTypeJobGWithdraw) + `, "job_gwithdraw", "GWithdrawal job", ` + strconv.Itoa(objTypeJob) + `)
|
,(` + strconv.Itoa(objSubTypeJobGWithdraw) + `, "job_gwithdraw", "GWithdrawal job", ` + strconv.Itoa(objTypeJob) + `)
|
||||||
@ -580,6 +584,22 @@ func initDB() {
|
|||||||
log.Println("initDB : Database set up")
|
log.Println("initDB : Database set up")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func insertMsgItem(objId int64, itemId int64, quantity int64) error {
|
||||||
|
stmt, err := db.Prepare(`INSERT INTO obj_msg_item (obj_id, item_id, quantity)
|
||||||
|
VALUES (?, ?, ?);`)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer stmt.Close()
|
||||||
|
|
||||||
|
_, err = stmt.Exec(objId, itemId, quantity)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func insertMsgReport(objId int64, war_date int32, atk int32, def int32, exp int32, gold int32, stock int32, crit bool, stamina bool) error {
|
func insertMsgReport(objId int64, war_date int32, atk int32, def int32, exp int32, gold int32, stock int32, crit bool, stamina bool) error {
|
||||||
objSubTypeId, err := getObjSubTypeId(objId)
|
objSubTypeId, err := getObjSubTypeId(objId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -362,6 +362,8 @@ func SQLIdentifyMsgWorker(id int, objIds <-chan int64) {
|
|||||||
case objSubTypeMessageWithdrawReq:
|
case objSubTypeMessageWithdrawReq:
|
||||||
case objSubTypeMessageWithdrawCode:
|
case objSubTypeMessageWithdrawCode:
|
||||||
case objSubTypeMessageWithdrawRcv:
|
case objSubTypeMessageWithdrawRcv:
|
||||||
|
_, err := parseSubTypeMessageWithdrawRcv(m, rule.re)
|
||||||
|
logOnError(err, "SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Parsing objSubTypeMessageWithdrawRcv.")
|
||||||
case objSubTypeMessageStockReq:
|
case objSubTypeMessageStockReq:
|
||||||
case objSubTypeMessageMiscReq:
|
case objSubTypeMessageMiscReq:
|
||||||
case objSubTypeMessageGStockResReq:
|
case objSubTypeMessageGStockResReq:
|
||||||
@ -461,8 +463,10 @@ func SQLIdentifyMsgWorker(id int, objIds <-chan int64) {
|
|||||||
_, err := parseSubTypeMessageGDepositReq(m, rule.re)
|
_, err := parseSubTypeMessageGDepositReq(m, rule.re)
|
||||||
logOnError(err, "SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Parsing objSubTypeMessageGDepositReq.")
|
logOnError(err, "SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Parsing objSubTypeMessageGDepositReq.")
|
||||||
case objSubTypeMessageGDepositAck:
|
case objSubTypeMessageGDepositAck:
|
||||||
_, err := parseSubTypeMessageGDepositAck(m, rule.re)
|
cwm, err := parseSubTypeMessageGDepositAck(m, rule.re)
|
||||||
logOnError(err, "SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Parsing objSubTypeMessageGDepositAck.")
|
logOnError(err, "SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Parsing objSubTypeMessageGDepositAck.")
|
||||||
|
err = insertMsgItem(cwm.Msg.ObjID64, cwm.ItemID64, cwm.Quantity)
|
||||||
|
logOnError(err, "SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Inserting objSubTypeMessageGDepositAck.")
|
||||||
case objSubTypeMessageStockAnyAck:
|
case objSubTypeMessageStockAnyAck:
|
||||||
_, err := parseSubTypeMessageStockAnyAck(m, rule.re)
|
_, err := parseSubTypeMessageStockAnyAck(m, rule.re)
|
||||||
logOnError(err, "SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Parsing objSubTypeMessageStockAnyAck.")
|
logOnError(err, "SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Parsing objSubTypeMessageStockAnyAck.")
|
||||||
|
Loading…
Reference in New Issue
Block a user