--- a/main.go Fri Mar 22 11:11:01 2019 -0700
+++ b/main.go Fri Mar 22 15:08:56 2019 -0700
@@ -12,22 +12,23 @@
+ "bitbucket.org/TheToyz/nowdead/database" "github.com/dustin/go-humanize"
"github.com/bwmarrin/discordgo"
"github.com/nicklaw5/helix"
- "github.com/prologic/bitcask"
TwitchClient *helix.Client
- database *bitcask.Bitcask
@@ -36,7 +37,7 @@
flag.StringVar(&DiscordToken, "t", "", "Discord Bot Token")
flag.StringVar(&TwitchToken, "tcid", "", "Twitch Client ID")
- flag.StringVar(&DatabasePath, "db", "./db", "Database Path")
+ flag.StringVar(&DatabaseType, "db_type", "bitcask", "Database type to use (default: bitcask)") @@ -62,6 +63,8 @@
+ db = database.Get(DatabaseType) if len(DiscordToken) <= 0 || len(TwitchToken) <= 0 {
logPanic("Discord Token and Twitch Client ID must be set")
@@ -69,9 +72,6 @@
logDebug("Discord Token:", DiscordToken)
logDebug("Twitch Token:", TwitchToken)
- database, _ = bitcask.Open(DatabasePath)
client, err := helix.NewClient(&helix.Options{
@@ -112,7 +112,7 @@
if evt.Game.Type == discordgo.GameTypeStreaming {
pURL, _ := url.Parse(evt.Game.URL)
- channel := getguild2channel(evt.GuildID)
+ channel := db.GetChannel(evt.GuildID) err := processPresenceUpdate(sess, channel, strings.TrimLeft(pURL.Path, "/"), evt.Game.URL)
@@ -133,7 +133,7 @@
if strings.EqualFold(commandItems[0], "!uptime") {
duration := time.Now().Sub(startTime)
- channel := getguild2channel(m.GuildID)
+ channel := db.GetChannel(m.GuildID) if channel != m.ChannelID {
@@ -154,7 +154,7 @@
- channel := getguild2channel(m.GuildID)
+ channel := db.GetChannel(m.GuildID) if channel != m.ChannelID {
@@ -173,7 +173,7 @@
if strings.EqualFold(commandItems[0], "!init") {
sendMessage(s, m.ChannelID, "All set up to talk in this channel!")
- setguild2channel(m.GuildID, m.ChannelID)
+ db.SetChannel(m.GuildID, m.ChannelID) @@ -248,17 +248,3 @@
-func getguild2channel(guild string) string {
- data, err := database.Get(guild)
-func setguild2channel(guild, channel string) {
- database.Put(guild, []byte(channel))