2017-10-04 17:56:18 +04:00
|
|
|
|
// i2_bot – Instinct PokememBro Bot
|
|
|
|
|
// Copyright (c) 2017 Vladimir "fat0troll" Hodakov
|
|
|
|
|
|
|
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
import (
|
2017-10-07 19:58:14 +04:00
|
|
|
|
"github.com/go-telegram-bot-api/telegram-bot-api"
|
2017-10-26 18:17:58 +04:00
|
|
|
|
"lab.pztrn.name/fat0troll/i2_bot/lib/appcontext"
|
2017-11-19 22:16:11 +04:00
|
|
|
|
"lab.pztrn.name/fat0troll/i2_bot/lib/chatter"
|
2017-11-14 03:44:21 +04:00
|
|
|
|
"lab.pztrn.name/fat0troll/i2_bot/lib/forwarder"
|
2017-10-26 18:17:58 +04:00
|
|
|
|
"lab.pztrn.name/fat0troll/i2_bot/lib/getters"
|
|
|
|
|
"lab.pztrn.name/fat0troll/i2_bot/lib/migrations"
|
|
|
|
|
"lab.pztrn.name/fat0troll/i2_bot/lib/parsers"
|
2017-11-14 03:44:21 +04:00
|
|
|
|
"lab.pztrn.name/fat0troll/i2_bot/lib/pinner"
|
2017-10-26 18:17:58 +04:00
|
|
|
|
"lab.pztrn.name/fat0troll/i2_bot/lib/router"
|
2017-11-19 22:16:11 +04:00
|
|
|
|
"lab.pztrn.name/fat0troll/i2_bot/lib/squader"
|
2017-10-26 18:17:58 +04:00
|
|
|
|
"lab.pztrn.name/fat0troll/i2_bot/lib/talkers"
|
2017-11-13 22:51:50 +04:00
|
|
|
|
"lab.pztrn.name/fat0troll/i2_bot/lib/welcomer"
|
2017-11-14 03:44:21 +04:00
|
|
|
|
"time"
|
2017-10-04 17:56:18 +04:00
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
var (
|
|
|
|
|
c *appcontext.Context
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
|
c := appcontext.New()
|
|
|
|
|
c.Init()
|
|
|
|
|
router.New(c)
|
2017-10-06 02:56:06 +04:00
|
|
|
|
migrations.New(c)
|
|
|
|
|
c.RunDatabaseMigrations()
|
2017-11-14 03:44:21 +04:00
|
|
|
|
forwarder.New(c)
|
2017-10-06 02:56:06 +04:00
|
|
|
|
parsers.New(c)
|
2017-11-14 03:44:21 +04:00
|
|
|
|
pinner.New(c)
|
2017-10-07 02:23:25 +04:00
|
|
|
|
talkers.New(c)
|
2017-10-13 00:31:12 +04:00
|
|
|
|
getters.New(c)
|
2017-11-13 22:51:50 +04:00
|
|
|
|
welcomer.New(c)
|
2017-11-19 22:16:11 +04:00
|
|
|
|
chatter.New(c)
|
|
|
|
|
squader.New(c)
|
2017-10-04 17:56:18 +04:00
|
|
|
|
|
2017-11-14 03:44:21 +04:00
|
|
|
|
c.Log.Info("=======================")
|
|
|
|
|
c.Log.Info("= i2_bot initialized. =")
|
|
|
|
|
c.Log.Info("=======================")
|
|
|
|
|
|
2017-10-04 17:56:18 +04:00
|
|
|
|
u := tgbotapi.NewUpdate(0)
|
|
|
|
|
u.Timeout = 60
|
|
|
|
|
|
|
|
|
|
updates, _ := c.Bot.GetUpdatesChan(u)
|
|
|
|
|
|
|
|
|
|
for update := range updates {
|
2017-10-06 02:56:06 +04:00
|
|
|
|
if update.Message == nil || update.Message.From == nil {
|
2017-10-04 17:56:18 +04:00
|
|
|
|
continue
|
|
|
|
|
} else if update.Message.Date < (int(time.Now().Unix()) - 1) {
|
|
|
|
|
// Ignore old messages
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
|
2017-11-14 03:44:21 +04:00
|
|
|
|
c.Router.RouteRequest(&update)
|
2017-10-04 17:56:18 +04:00
|
|
|
|
}
|
|
|
|
|
}
|