--- a/database/database.go Sun Apr 07 00:37:54 2019 -0500
+++ b/database/database.go Sun Apr 07 01:26:12 2019 -0500
@@ -19,3 +19,14 @@
func Get(name string) Database {
+func Supported() []string { + ret := make([]string, len(supported)) + for n, _ := range supported { --- a/go.mod Sun Apr 07 00:37:54 2019 -0500
+++ b/go.mod Sun Apr 07 01:26:12 2019 -0500
@@ -3,6 +3,9 @@
+ github.com/alecthomas/kingpin v2.2.6+incompatible + github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc // indirect + github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf // indirect github.com/bwmarrin/discordgo v0.19.0
github.com/dustin/go-humanize v1.0.0
github.com/go-redis/redis v6.15.2+incompatible
--- a/go.sum Sun Apr 07 00:37:54 2019 -0500
+++ b/go.sum Sun Apr 07 01:26:12 2019 -0500
@@ -1,5 +1,11 @@
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
+github.com/alecthomas/kingpin v2.2.6+incompatible h1:5svnBTFgJjZvGKyYBtMB0+m5wvrbUHiqye8wRJMlnYI= +github.com/alecthomas/kingpin v2.2.6+incompatible/go.mod h1:59OFYbFVLKQKq+mqrL6Rw5bR0c3ACQaawgXx0QYndlE= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc h1:cAKDfWh5VpdgMhJosfJnn5/FoN2SRZ4p7fJNX58YPaU= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf h1:qet1QNfXsQxTZqLG4oE62mJzwPIB8+Tee4RNCL9ulrY= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
github.com/bwmarrin/discordgo v0.19.0 h1:kMED/DB0NR1QhRcalb85w0Cu3Ep2OrGAqZH1R5awQiY=
github.com/bwmarrin/discordgo v0.19.0/go.mod h1:O9S4p+ofTFwB02em7jkpkV8M3R0/PUVOwN61zSZ0r4Q=
--- a/main.go Sun Apr 07 00:37:54 2019 -0500
+++ b/main.go Sun Apr 07 01:26:12 2019 -0500
@@ -1,13 +1,13 @@
+ "github.com/alecthomas/kingpin" log "github.com/sirupsen/logrus"
"bitbucket.org/TheToyz/nowdead/database"
@@ -16,11 +16,18 @@
"bitbucket.org/TheToyz/nowdead/twitch"
+ app = kingpin.New("nowdead", "discord auto announce streaming bot").Version(version) + discordToken = app.Flag("discord-token", "The bot token for discord").Short('d').Envar("NOWDEAD_DISCORD_TOKEN").Required().String() + twitchClientID = app.Flag("twitch-client-id", "The client id").Short('t').Envar("NOWDEAD_TWITCH_CLIENT_ID").Required().String() + databaseType = app.Flag("database", "The database engine to use").Default("bitcask").Enum(database.Supported()...) @@ -28,23 +35,19 @@
log.SetLevel(log.DebugLevel)
- flag.StringVar(&DiscordToken, "t", "", "Discord Bot Token")
- flag.StringVar(&TwitchToken, "tcid", "", "Twitch Client ID")
- flag.StringVar(&DatabaseType, "db_type", "bitcask", "Database type to use (default: bitcask)")
- db = database.Get(DatabaseType)
- if len(DiscordToken) <= 0 || len(TwitchToken) <= 0 {
- log.Panic("Discord Token and Twitch Client ID must be set")
+ _, err := app.Parse(os.Args[1:]) + fmt.Printf("error: %v\n", err) - if len(TwitchToken) > 0 {
- provider, err := twitch.New(TwitchToken)
+ db = database.Get(*databaseType) + if len(*twitchClientID) > 0 { + provider, err := twitch.New(*twitchClientID) @@ -57,7 +60,7 @@
errChan := make(chan error, 1)
// create the discord client
- dc, err := discord.New(DiscordToken, db)
+ dc, err := discord.New(*discordToken, db) fmt.Println("error creating Discord session,", err)