package main import ( "log" "github.com/gempir/go-twitch-irc" stats "ilotterytea/tinystats/internal" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := stats.NewDatabaseConnection("mysql", "kochan:kochan@/stats") if err != nil { log.Panicf("Failed to establish a database connection: %v\n", err) } defer db.Close() client := twitch.NewClient("justinfan65432", "12345") client.OnConnect(func() { log.Println("Connected to Twitch IRC!") }) client.OnNewMessage(func(channel string, user twitch.User, message twitch.Message) { go stats.HandleMessageEvent(channel, user, message, db) }) channels, _ := db.Query("SELECT alias_name FROM channels WHERE opted_out_at IS NULL") for _, c := range channels { log.Printf("Joining #%s...\n", c["alias_name"]) client.Join(c["alias_name"]) } if err := client.Connect(); err != nil { log.Panicf("Failed to connect Twitch IRC: %v\n", err) } }