60 lines
1.1 KiB
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)
|
||
|
}
|
||
|
}
|