diff --git a/bot.go b/bot.go index bd1bddf..f026026 100644 --- a/bot.go +++ b/bot.go @@ -19,12 +19,10 @@ func StartBot() { Poller: &tb.LongPoller{Timeout: 10 * time.Second}, }) - if err != nil { - log.Fatal(err) - return - } + failOnError(err, "StartBot") b.Handle("/hello", botHello) + b.Handle("/rescan_msg", botRescanMsg) b.Handle(tb.OnPhoto, botPhoto) b.Handle(tb.OnChannelPost, botChannelPost) b.Handle(tb.OnQuery, botQuery) @@ -34,12 +32,14 @@ func StartBot() { } func botPhoto(m *tb.Message) { - fmt.Println("OnPhoto :", m.Text) + fmt.Println("botPhoto :", m.Text) // photos only } func botHello(m *tb.Message) { + fmt.Println("botHello :", m.Text) if !m.Private() { + fmt.Println("botHello : !m.Private()") return } // fmt.Println("Hello payload :", m.Payload) // @@ -48,18 +48,30 @@ func botHello(m *tb.Message) { } func botChannelPost(m *tb.Message) { - fmt.Println("OnChannelPost :", m.Text) + fmt.Println("botChannelPost :", m.Text) PrintText(m) // channel posts only } func botQuery(q *tb.Query) { - fmt.Println("Query ?") + fmt.Println("botQuery") // incoming inline queries } func botText(m *tb.Message) { + fmt.Println("botText :", m.Text) PrintText(m) // all the text messages that weren't // captured by existing handlers } + +func botRescanMsg(m *tb.Message) { + fmt.Println("botRescanMsg :", m.Text) + if !m.Private() { + fmt.Println("botRescanMsg : !m.Private()") + return + } + // fmt.Println("Hello payload :", m.Payload) // + PrintText(m) + b.Send(m.Sender, "rescan") +} diff --git a/def.go b/def.go index 21991db..4260a89 100644 --- a/def.go +++ b/def.go @@ -61,6 +61,8 @@ const ( objSubTypeMessagePillageAck = 314 objSubTypeMessageTributeAck = 315 objSubTypeMessageAuctionAnnounce = 316 + objSubTypeMessageAuctionUpdReq = 317 + objSubTypeMessageAcutionUpdAck = 318 objSubTypeMessageTime = 317 objSubTypeJobPillage = 601 objSubTypeJobTribute = 602 diff --git a/sql.go b/sql.go index 949dda9..730055e 100644 --- a/sql.go +++ b/sql.go @@ -155,6 +155,22 @@ func initDB() { ) ENGINE = InnoDB CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci;`) failOnError(err, "initDB : create table obj_msg_auction_announce") + _, err = db.Exec(`CREATE TABLE obj_msg_auction_upd_req ( + obj_id BIGINT UNSIGNED NOT NULL + ,lot_id BIGINT UNSIGNED NOT NULL + ,FOREIGN KEY (obj_id) REFERENCES obj(id) ON DELETE CASCADE + ) ENGINE = InnoDB CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci;`) + failOnError(err, "initDB : create table obj_msg_auction_upd_req") + + _, err = db.Exec(`CREATE TABLE obj_msg_auction_upd_ack ( + obj_id BIGINT UNSIGNED NOT NULL + ,seller VARCHAR(32) + ,buyer VARCHAR(32) + ,item VARCHAR(80) + ,FOREIGN KEY (obj_id) REFERENCES obj(id) ON DELETE CASCADE + ) ENGINE = InnoDB CHARSET=utf8mb4 COLLATE utf8mb4_unicode_ci;`) + failOnError(err, "initDB : create table obj_msg_auction_upd_req") + _, err = db.Exec(`CREATE TABLE msg_rules ( id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT ,prio SMALLINT NOT NULL