func main() { bot := ircx.WithLogin(server, *user, *user, *pass) if err := bot.Connect(); err != nil { log.Panicln("Unable to dial IRC Server ", err) } RegisterHandlers(bot) bot.HandleLoop() log.Println("Exiting...") }
func main() { var err error db, err = bolt.Open("twitch.db", 0600, &bolt.Options{Timeout: 1 * time.Second}) if err != nil { log.Fatal(err) } defer db.Close() tx, err := db.Begin(true) if err != nil { log.Fatal(err) } defer tx.Rollback() b, err := tx.CreateBucketIfNotExists([]byte(*channel)) if err != nil { log.Fatal(err) } _, err = b.CreateBucketIfNotExists([]byte(users)) if err != nil { log.Fatal(err) } _, err = b.CreateBucketIfNotExists([]byte(messages)) if err != nil { log.Fatal(err) } if err = tx.Commit(); err != nil { log.Fatal(err) } c := make(chan os.Signal, 1) signal.Notify(c, os.Interrupt) signal.Notify(c, syscall.SIGTERM) go func() { <-c db.View(func(tx *bolt.Tx) error { b := tx.Bucket([]byte(*channel)) bu := b.Bucket([]byte(users)) bm := b.Bucket([]byte(messages)) bu.ForEach(func(k, v []byte) error { fmt.Printf("key=%s, value=%v\n", k, ByteToUint64(v)) return nil }) bm.ForEach(func(k, v []byte) error { fmt.Printf("key=%s, value=%v\n", k, ByteToUint64(v)) return nil }) return nil }) os.Exit(1) }() bot := ircx.WithLogin(*server, *name, *user, *password) if err := bot.Connect(); err != nil { log.Panicln("Unable to dial IRC Server ", err) } RegisterHandlers(bot) bot.HandleLoop() }