From 7dfba868ed7851a0e04360af914544b5227da642 Mon Sep 17 00:00:00 2001 From: shoopea Date: Fri, 23 Aug 2019 14:03:22 +0800 Subject: [PATCH] update items and jobs --- bot.go | 28 ++++++++++++++++++++++++++++ client.go | 6 ++++++ def.go | 3 ++- items.go | 15 +++++++++++++++ job.go | 25 ++++++++++++++++++++++++- 5 files changed, 75 insertions(+), 2 deletions(-) diff --git a/bot.go b/bot.go index b9da6dd..8b45239 100644 --- a/bot.go +++ b/bot.go @@ -21,6 +21,7 @@ func BotHandlers(b *tb.Bot) { }) b.Handle("/test", botTest) + b.Handle("/test_delay", botTestDelay) b.Handle("/test_html", botTestHTML) b.Handle("/msg_rescan", botMsgRescan) b.Handle("/msg_rescan_all", botMsgRescanAll) @@ -163,6 +164,33 @@ func botTest(m *tb.Message) { return } +func botTestDelay(m *tb.Message) { + if !m.Private() { + return + } + if clt, ok := getLockedClient(m.Chat.ID, false); ok { + clt.Mux.Unlock() + clientSendCWMsgDelay(m.Chat.ID, "🏅Me", 5) + + c := TGCommand{ + Type: commandReplyMsg, + Text: "Test sent", + FromMsgID64: int64(m.ID), + FromChatID64: m.Chat.ID, + } + TGCmdQueue <- c + } else { + c := TGCommand{ + Type: commandReplyMsg, + Text: "Client not registered", + FromMsgID64: int64(m.ID), + FromChatID64: m.Chat.ID, + } + TGCmdQueue <- c + } + return +} + func botGetClients(m *tb.Message) { if !m.Private() { return diff --git a/client.go b/client.go index ee2870c..8b19933 100644 --- a/client.go +++ b/client.go @@ -30,11 +30,16 @@ func getLockedClient(id int64, createMissing bool) (*ChirpClient, bool) { } func clientSendCWMsg(userID64 int64, s string) { + clientSendCWMsgDelay(userID64, s, 0) +} + +func clientSendCWMsgDelay(userID64 int64, s string, delay int64) { c := TGCommand{ Type: commandSendMsg, Text: s, FromUserID64: userID64, ToChatID64: userID64ChtWrsBot, + Delay: d, } MQTGCmdQueue <- c } @@ -45,6 +50,7 @@ func clientRefreshCWMsg(userID64 int64, chatID64 int64, msgID64 int64) { FromUserID64: userID64, FromChatID64: chatID64, FromMsgID64: msgID64, + Delay: 0, } MQTGCmdQueue <- c } diff --git a/def.go b/def.go index 2516162..9a22a2a 100644 --- a/def.go +++ b/def.go @@ -56,6 +56,7 @@ type TGCommand struct { Text string `json:"text"` Document tb.Document `json:"document"` ParseMode int64 `json:"parse_mode"` + Delay int64 `json:"delay"` } type ChatWarsCastle struct { @@ -386,7 +387,7 @@ const ( objSubTypeMessageStockReq = 345 // /stock (done) objSubTypeMessageStockAck = 346 // result from /stock (not done) objSubTypeMessageMiscReq = 347 // /misc (done) - objSubTypeMEssageMiscAck = 348 // result from /misc (not done) + objSubTypeMessageMiscAck = 348 // result from /misc (not done) objSubTypeMessageUnionWar = 349 // from Chat Wars Reports (not done) objSubTypeMessageTUReportReq = 350 // /tu_report (not done) objSubTypeMessageTUReportAck = 351 // result from /tu_report (not done) diff --git a/items.go b/items.go index 24e93f5..6fee32a 100644 --- a/items.go +++ b/items.go @@ -41,12 +41,16 @@ func resetObjItem() { reloadObjItem(`06`, `Charcoal`, objSubTypeItemResource, 1, true, false) reloadObjItem(`07`, `Powder`, objSubTypeItemResource, 1, true, false) reloadObjItem(`08`, `Iron Ore`, objSubTypeItemResource, 2, true, false) + reloadObjItem(`08`, `Iron ore`, objSubTypeItemResource, 2, true, false) reloadObjItem(`09`, `Cloth`, objSubTypeItemResource, 1, true, false) reloadObjItem(`10`, `Silver Ore`, objSubTypeItemResource, 2, true, false) + reloadObjItem(`10`, `Silver ore`, objSubTypeItemResource, 2, true, false) reloadObjItem(`100`, `Pouch of Gold`, objSubTypeItemResource, 0, false, false) reloadObjItem(`11`, `Bauxite`, objSubTypeItemResource, 2, true, false) reloadObjItem(`12`, `Cord`, objSubTypeItemResource, 2, false, false) reloadObjItem(`13`, `Magic Stone`, objSubTypeItemResource, 1, true, false) + reloadObjItem(`13`, `Magic stone`, objSubTypeItemResource, 1, true, false) + reloadObjItem(`14`, `Wooden Shaft`, objSubTypeItemResource, 2, false, false) reloadObjItem(`14`, `Wooden shaft`, objSubTypeItemResource, 2, false, false) reloadObjItem(`15`, `Sapphire`, objSubTypeItemResource, 2, true, false) reloadObjItem(`16`, `Solvent`, objSubTypeItemResource, 2, true, false) @@ -55,19 +59,30 @@ func resetObjItem() { reloadObjItem(`19`, `Steel`, objSubTypeItemResource, 2, true, false) reloadObjItem(`20`, `Leather`, objSubTypeItemResource, 1, true, false) reloadObjItem(`21`, `Bone Powder`, objSubTypeItemResource, 1, true, false) + reloadObjItem(`21`, `Bone powder`, objSubTypeItemResource, 1, true, false) reloadObjItem(`22`, `String`, objSubTypeItemResource, 1, true, false) reloadObjItem(`23`, `Coke`, objSubTypeItemResource, 1, true, false) reloadObjItem(`24`, `Purified Powder`, objSubTypeItemResource, 1, false, false) + reloadObjItem(`24`, `Purified powder`, objSubTypeItemResource, 1, false, false) reloadObjItem(`25`, `Silver Alloy`, objSubTypeItemResource, 3, false, false) + reloadObjItem(`25`, `Silver alloy`, objSubTypeItemResource, 3, false, false) reloadObjItem(`27`, `Steel Mold`, objSubTypeItemResource, 2, false, false) + reloadObjItem(`27`, `Steel mold`, objSubTypeItemResource, 2, false, false) reloadObjItem(`28`, `Silver Mold`, objSubTypeItemResource, 2, false, false) + reloadObjItem(`28`, `Silver mold`, objSubTypeItemResource, 2, false, false) reloadObjItem(`29`, `Blacksmith Frame`, objSubTypeItemResource, 3, false, false) + reloadObjItem(`29`, `Blacksmith frame`, objSubTypeItemResource, 3, false, false) reloadObjItem(`30`, `Artisan Frame`, objSubTypeItemResource, 3, false, false) + reloadObjItem(`30`, `Artisan frame`, objSubTypeItemResource, 3, false, false) reloadObjItem(`31`, `Rope`, objSubTypeItemResource, 1, true, false) reloadObjItem(`32`, `Silver Frame`, objSubTypeItemResource, 2, false, false) + reloadObjItem(`32`, `Silver frame`, objSubTypeItemResource, 2, false, false) + reloadObjItem(`33`, `Metal Plate`, objSubTypeItemResource, 2, true, false) reloadObjItem(`33`, `Metal Plate`, objSubTypeItemResource, 2, true, false) reloadObjItem(`34`, `Metallic Fiber`, objSubTypeItemResource, 2, true, false) + reloadObjItem(`34`, `Metallic fiber`, objSubTypeItemResource, 2, true, false) reloadObjItem(`35`, `Crafted Leather`, objSubTypeItemResource, 1, true, false) + reloadObjItem(`35`, `Crafted leather`, objSubTypeItemResource, 1, true, false) reloadObjItem(`36`, `Quality Cloth`, objSubTypeItemResource, 2, false, false) reloadObjItem(`37`, `Blacksmith Mold`, objSubTypeItemResource, 3, false, false) reloadObjItem(`38`, `Artisan Mold`, objSubTypeItemResource, 3, false, false) diff --git a/job.go b/job.go index 84b86b5..b9bc95c 100644 --- a/job.go +++ b/job.go @@ -713,11 +713,34 @@ func jobGDeposit(j Job) { logOnError(err, "jobGDeposit : Unmarshal payload") if p.Status == 0 { /* handle remaining resources to be stored */ + var res, misc, alch, craft, equip bool = false, false, false, false, false if len(p.ResObjID64) > 0 { obj, err := getObjItem(p.ResObjID64[0]) logOnError(err, "jobGDeposit : getObjItem") - if err == nil { + + switch obj.ItemTypeID { + case objSubTypeItemResource: + res = true + case objSubTypeItemAlch: + alch = true + case objSubTypeItemMisc: + misc = true + case objSubTypeItemRecipe: + craft = true + case objSubTypeItemPart: + craft = true + case objSubTypeItemOther: + equip = true + case objSubTypeItemUnique: + equip = true + default: + } + } + } + + + p2 := JobPayloadGDeposit{ MsgID64: p.MsgID64, ChatID64: p.ChatID64,