grim/wasdead

Parents ee9941e69b19
Children 052f0fba0be0
Redid the database to make it so you can add custom database's to it now, i plan on adding redis support next
  • +11 -25
    main.go
  • --- 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 @@
    "syscall"
    "time"
    + "bitbucket.org/TheToyz/nowdead/database"
    +
    "github.com/dustin/go-humanize"
    "github.com/bwmarrin/discordgo"
    "github.com/nicklaw5/helix"
    - "github.com/prologic/bitcask"
    )
    var (
    DiscordToken string
    TwitchToken string
    - DatabasePath string
    + DatabaseType string
    TwitchClient *helix.Client
    logger *log.Logger
    startTime time.Time
    - database *bitcask.Bitcask
    + db database.Database
    )
    func init() {
    @@ -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)")
    flag.Parse()
    }
    @@ -62,6 +63,8 @@
    }
    func main() {
    + 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)
    - defer database.Close()
    -
    client, err := helix.NewClient(&helix.Options{
    ClientID: TwitchToken,
    })
    @@ -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)
    if channel != "" {
    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 != "" {
    if channel != m.ChannelID {
    return
    @@ -154,7 +154,7 @@
    return
    }
    - channel := getguild2channel(m.GuildID)
    + channel := db.GetChannel(m.GuildID)
    if channel != "" {
    if channel != m.ChannelID {
    return
    @@ -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 @@
    }
    return true
    }
    -
    -func getguild2channel(guild string) string {
    - data, err := database.Get(guild)
    -
    - if err != nil {
    - return ""
    - }
    -
    - return string(data)
    -}
    -
    -func setguild2channel(guild, channel string) {
    - database.Put(guild, []byte(channel))
    -}