// NewFirstPlugin creates a new FirstPlugin with the Plugin interface func New(b bot.Bot) *FirstPlugin { if b.DBVersion() == 1 { _, err := b.DB().Exec(`create table if not exists first ( id integer primary key, day integer, time integer, body string, nick string );`) if err != nil { log.Fatal("Could not create first table: ", err) } } log.Println("First plugin initialized with day:", midnight(time.Now())) first, err := getLastFirst(b.DB()) if err != nil { log.Fatal("Could not initialize first plugin: ", err) } return &FirstPlugin{ Bot: b, db: b.DB(), First: first, } }
// NewCounterPlugin creates a new CounterPlugin with the Plugin interface func New(bot bot.Bot) *CounterPlugin { if bot.DBVersion() == 1 { if _, err := bot.DB().Exec(`create table if not exists counter ( id integer primary key, nick string, item string, count integer );`); err != nil { log.Fatal(err) } } return &CounterPlugin{ Bot: bot, DB: bot.DB(), } }
// NewDowntimePlugin creates a new DowntimePlugin with the Plugin interface func New(bot bot.Bot) *DowntimePlugin { p := DowntimePlugin{ Bot: bot, db: bot.DB(), } if bot.DBVersion() == 1 { _, err := p.db.Exec(`create table if not exists downtime ( id integer primary key, nick string, lastSeen integer );`) if err != nil { log.Fatal("Error creating downtime table: ", err) } } return &p }
// NewBeersPlugin creates a new BeersPlugin with the Plugin interface func New(bot bot.Bot) *BeersPlugin { if bot.DBVersion() == 1 { if _, err := bot.DB().Exec(`create table if not exists untappd ( id integer primary key, untappdUser string, channel string, lastCheckin integer, chanNick string );`); err != nil { log.Fatal(err) } } p := BeersPlugin{ Bot: bot, db: bot.DB(), } p.LoadData() for _, channel := range bot.Config().Untappd.Channels { go p.untappdLoop(channel) } return &p }