diff --git a/def.go b/def.go index 58839bd..d35ee99 100644 --- a/def.go +++ b/def.go @@ -33,6 +33,7 @@ const ( objTypeWar = 4 objTypeWarReport = 5 objTypeJob = 6 + objTypeItem = 7 objSubTypeMessageUnknown = 301 objSubTypeMessageWar = 302 @@ -56,6 +57,12 @@ const ( objSubTypeJobStatus = 603 objSubTypeJobWithdrawal = 604 objSubTypeJobGStock = 605 + objSubTypeItemResource = 701 + objSubTypeItemAlch = 702 + objSubTypeItemMisc = 703 + objSubTypeItemRecipe = 704 + objSubTypeItemPart = 705 + objSubTypeItemOther = 706 MQGetMsgWorkers = 3 SQLCWMsgWorkers = 6 @@ -100,14 +107,14 @@ var ( func fromChatWarsDate(d string) (t time.Time, err error) { r := regexp.MustCompile(`(?P[0-9]{2}) (?P(Wintar|Hornung|Lenzin|Ōstar|Winni|Brāh|Hewi|Aran|Witu|Wīndume|Herbist|Hailag)) (?P[0-9]{4})( (?P[0-9]{2}):(?P[0-9]{2})){0,1}`) if r.FindStringSubmatch(d) != nil { - log.Printf("fromChatWarsDate : Day : %s\n", r.ReplaceAllString(d, "${Day}")) - day, _ := strconv.Atoi(r.ReplaceAllString(d, "${Day}")) - log.Printf("fromChatWarsDate : Month : %s\n", r.ReplaceAllString(d, "${Month}")) - log.Printf("fromChatWarsDate : Year : %s\n", r.ReplaceAllString(d, "${Year}")) + // log.Printf("fromChatWarsDate : Day : %s\n", r.ReplaceAllString(d, "${Day}")) + // log.Printf("fromChatWarsDate : Month : %s\n", r.ReplaceAllString(d, "${Month}")) + // log.Printf("fromChatWarsDate : Year : %s\n", r.ReplaceAllString(d, "${Year}")) + // log.Printf("fromChatWarsDate : Hour : %s\n", r.ReplaceAllString(d, "${Hour}")) + // log.Printf("fromChatWarsDate : Minute : %s\n", r.ReplaceAllString(d, "${Minute}")) year, _ := strconv.Atoi(r.ReplaceAllString(d, "${Year}")) - log.Printf("fromChatWarsDate : Hour : %s\n", r.ReplaceAllString(d, "${Hour}")) + day, _ := strconv.Atoi(r.ReplaceAllString(d, "${Day}")) hour, _ := strconv.Atoi(r.ReplaceAllString(d, "${Hour}")) - log.Printf("fromChatWarsDate : Minute : %s\n", r.ReplaceAllString(d, "${Minute}")) minute, _ := strconv.Atoi(r.ReplaceAllString(d, "${Minute}")) days := int(0) for i := 1059; i < year; i++ { diff --git a/sql.go b/sql.go index 002b3e5..2a91b70 100644 --- a/sql.go +++ b/sql.go @@ -164,6 +164,16 @@ func initDB() { ) ENGINE = InnoDB CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci;`) failOnError(err, "initDB : create table msg_rules") + _, err = db.Exec(`CREATE TABLE obj_item ( + obj_id BIGINT UNSIGNED NOT NULL + ,intl_id VARCHAR(32) + ,name VARCHAR(80) + ,weight SMALLINT NOT NULL + ,FOREIGN KEY (obj_id) REFERENCES obj(id) ON DELETE CASCADE + ,UNIQUE KEY (intl_id) + ) ENGINE = InnoDB CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci;`) + failOnError(err, "initDB : create table obj_auction_announce") + _, err = db.Exec(`INSERT INTO code_obj_type (id, intl_id, name) VALUES (` + strconv.Itoa(objTypeUser) + `, "user", "User") ,(` + strconv.Itoa(objTypeGuild) + `, "guild", "Guild") @@ -171,6 +181,7 @@ func initDB() { ,(` + strconv.Itoa(objTypeWar) + `, "war", "War") ,(` + strconv.Itoa(objTypeWarReport) + `, "war_report", "War Report") ,(` + strconv.Itoa(objTypeJob) + `, "job", "Job") + ,(` + strconv.Itoa(objTypeItem) + `, "item", "Item") ;`) failOnError(err, "initDB : populate table code_obj_type") @@ -191,7 +202,14 @@ func initDB() { ,(` + 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) + `) - ,(` + strconv.Itoa(objSubTypeMessageTime) + `, "time", "Time", ` + strconv.Itoa(objTypeMessage) + `);`) + ,(` + strconv.Itoa(objSubTypeMessageTime) + `, "time", "Time", ` + strconv.Itoa(objTypeMessage) + `) + ,(` + strconv.Itoa(objSubTypeItemResource) + `, "item_res", "Time", ` + strconv.Itoa(objTypeItem) + `) + ,(` + strconv.Itoa(objSubTypeItemAlch) + `, "item_alch", "Time", ` + strconv.Itoa(objTypeItem) + `) + ,(` + strconv.Itoa(objSubTypeItemMisc) + `, "item_misc", "Time", ` + strconv.Itoa(objTypeItem) + `) + ,(` + strconv.Itoa(objSubTypeItemRecipe) + `, "item_recipe", "Time", ` + strconv.Itoa(objTypeItem) + `) + ,(` + strconv.Itoa(objSubTypeItemPart) + `, "item_part", "Time", ` + strconv.Itoa(objTypeItem) + `) + ,(` + strconv.Itoa(objSubTypeItemOther) + `, "item_other", "Time", ` + strconv.Itoa(objTypeItem) + `) + ;`) failOnError(err, "initDB : populate table code_obj_sub_type") _, err = db.Exec(`INSERT INTO msg_rules (prio, msg_type_id, descn, rule) @@ -200,6 +218,483 @@ func initDB() { ,(5000, ` + strconv.Itoa(objSubTypeMessageTime) + `, "Time", "^In Chat Wars world now\\n(?P