lurk/main.go

60 lines
1.1 KiB
Go

package main
import (
"flag"
"github.com/turnage/graw"
"github.com/turnage/graw/reddit"
"go.jolheiser.com/beaver"
)
var (
configPath string
debug bool
)
func main() {
flag.StringVar(&configPath, "config", "lurk.toml", "Path to lurk's config file")
flag.BoolVar(&debug, "debug", false, "Turn on debug mode")
flag.Parse()
beaver.Console.Format = beaver.FormatOptions{
TimePrefix: true,
StackPrefix: true,
StackLimit: 15,
LevelPrefix: true,
LevelColor: true,
}
if debug {
beaver.Console.Level = beaver.DEBUG
}
cfg, err := LoadConfig()
if err != nil {
beaver.Fatal(err)
}
bot, err := reddit.NewBot(reddit.BotConfig{
Agent: cfg.UserAgent(),
App: reddit.App{
ID: cfg.ClientID,
Secret: cfg.ClientSecret,
Username: cfg.Username,
Password: cfg.Password,
},
})
if err != nil {
beaver.Fatal(err)
}
_, wait, err := graw.Run(&lurker{cfg}, bot, graw.Config{Subreddits: cfg.SubRedditNames()})
if err != nil {
beaver.Fatal(err)
}
beaver.Info("Lurk is ready to start lurking!")
if err := wait(); err != nil {
beaver.Fatal(err)
}
}