This commit is contained in:
shoopea 2019-05-11 11:29:09 +08:00
parent b3247eaa0a
commit 17352c8bfb
2 changed files with 17 additions and 31 deletions

21
bot.go
View File

@ -8,20 +8,9 @@ import (
"time" "time"
) )
var ( var ()
b *tb.Bot
)
func StartBot() {
// Registering bot
b, err := tb.NewBot(tb.Settings{
Token: cfg.Telegram.Token,
URL: cfg.Telegram.URL,
Poller: &tb.LongPoller{Timeout: 10 * time.Second},
})
failOnError(err, "StartBot")
func BotHandlers() {
b.Handle("/hello", func(m *tb.Message) { b.Handle("/hello", func(m *tb.Message) {
s, err := botHello(m) s, err := botHello(m)
logOnError(err, "/hello") logOnError(err, "/hello")
@ -43,12 +32,6 @@ func StartBot() {
b.Handle(tb.OnQuery, botQuery) b.Handle(tb.OnQuery, botQuery)
b.Handle(tb.OnText, botText) b.Handle(tb.OnText, botText)
u := tb.User{
ID: 32173684,
}
b.Send(&u, "test")
b.Start() b.Start()
} }

27
main.go
View File

@ -42,6 +42,7 @@ var (
initdb = flag.Bool("initdb", false, "initialize bot database") initdb = flag.Bool("initdb", false, "initialize bot database")
db *sql.DB db *sql.DB
b *tb.Bot
cfg Config cfg Config
MQCWMsgQueue chan ChatWarsMessage MQCWMsgQueue chan ChatWarsMessage
@ -61,28 +62,21 @@ func main() {
flag.Parse() flag.Parse()
err := gcfg.ReadFileInto(&cfg, *config) err := gcfg.ReadFileInto(&cfg, *config)
if err != nil { failOnError(err, "Parsing config")
log.Fatalf("Failed to parse gcfg data: %s", err)
}
// Connecting to DB // Connecting to DB
switch cfg.SQL.Driver { switch cfg.SQL.Driver {
case "mysql": case "mysql":
db, err = sql.Open("mysql", cfg.SQL.Username+":"+cfg.SQL.Password+"@"+cfg.SQL.Type+"("+cfg.SQL.Address+")/"+cfg.SQL.Database+"?parseTime=true") db, err = sql.Open("mysql", cfg.SQL.Username+":"+cfg.SQL.Password+"@"+cfg.SQL.Type+"("+cfg.SQL.Address+")/"+cfg.SQL.Database+"?parseTime=true")
if err != nil { failOnError(err, "Opening MySQL connection")
log.Fatal(err)
}
defer db.Close() defer db.Close()
} }
// Check if any issue // Check if any issue
err = db.Ping() err = db.Ping()
if err != nil { failOnError(err, "Checking MySQL connection")
log.Fatal(err) log.Println("SQL connection initialized")
} else {
log.Println("SQL connection initialized")
}
if *initdb { if *initdb {
initDB() initDB()
@ -91,7 +85,16 @@ func main() {
msgParsingRules, err = loadMsgParsingRules() msgParsingRules, err = loadMsgParsingRules()
logOnError(err, "Message parsing rules") logOnError(err, "Message parsing rules")
go StartBot() // Registering bot
b, err := tb.NewBot(tb.Settings{
Token: cfg.Telegram.Token,
URL: cfg.Telegram.URL,
Poller: &tb.LongPoller{Timeout: 10 * time.Second},
})
failOnError(err, "Registering bot")
log.Println("Bot registered")
go BotHandlers()
MQCWMsgQueue = make(chan ChatWarsMessage, 100) MQCWMsgQueue = make(chan ChatWarsMessage, 100)
SQLMsgIdentifyQueue = make(chan int64, 100) SQLMsgIdentifyQueue = make(chan int64, 100)