Skip to content

Instantly share code, notes, and snippets.

@Silvea12
Created November 19, 2016 23:15
Show Gist options
  • Save Silvea12/8ec4a73e8fbc4c42a2685e3f39c3ade5 to your computer and use it in GitHub Desktop.
Save Silvea12/8ec4a73e8fbc4c42a2685e3f39c3ade5 to your computer and use it in GitHub Desktop.
Countdown bot for 24 hour game jam
package main
import (
"time"
"github.com/bwmarrin/discordgo"
)
type dur struct {
Duration time.Duration
Text string
}
func main() {
dg, err := discordgo.New("Bot key.removed")
if err != nil {
panic(err)
}
err = dg.Open()
dg.ChannelMessageSend("249257131683872769", "Connected!")
endTime := time.Unix(1479610800, 0)
durations := []dur{
dur{time.Hour * 3, "3 hours left!"},
dur{time.Hour * 2, "2 hours left!"},
dur{time.Hour * 1, "1 hour left!"},
dur{time.Minute * 45, "45 minutes left!"},
dur{time.Minute * 30, "30 minutes left!"},
dur{time.Minute * 15, "15 minutes left!"},
dur{time.Minute * 10, "10 minutes left!"},
dur{time.Minute * 5, "5 minutes left!"},
dur{0, "Time's up!"},
}
for _, v := range durations {
now := time.Now()
if now.Add(v.Duration).After(endTime) {
continue
}
time.Sleep(endTime.Sub(now.Add(v.Duration)))
dg.ChannelMessageSend("249257131683872769", "@here: "+v.Text)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment