Add command to post random mixes
parent
ed09ca153c
commit
8ff9042596
30
commands.go
30
commands.go
|
@ -1,11 +1,13 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/json"
|
||||||
"github.com/bwmarrin/discordgo"
|
"github.com/bwmarrin/discordgo"
|
||||||
"github.com/bwmarrin/disgord/x/mux"
|
"github.com/bwmarrin/disgord/x/mux"
|
||||||
"github.com/nishanths/go-xkcd"
|
"github.com/nishanths/go-xkcd"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"log"
|
"log"
|
||||||
|
"math/rand"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
"regexp"
|
"regexp"
|
||||||
|
@ -59,6 +61,34 @@ func postMixes(s *discordgo.Session, m *discordgo.Message, ctx *mux.Context) {
|
||||||
s.ChannelMessageSend(m.ChannelID, resp)
|
s.ChannelMessageSend(m.ChannelID, resp)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Post a link to a random mix
|
||||||
|
func getRandomMix(s *discordgo.Session, m *discordgo.Message, ctx *mux.Context) {
|
||||||
|
|
||||||
|
//Define mix details
|
||||||
|
type Mix struct {
|
||||||
|
Name string `json:"name"`
|
||||||
|
Type string `json:"type"`
|
||||||
|
Mtime string `json:"mtime"`
|
||||||
|
Size int `json:"size"`
|
||||||
|
}
|
||||||
|
|
||||||
|
mixresp, err := http.Get("https://maki.jawa.moe/mixesjson/")
|
||||||
|
if err != nil {
|
||||||
|
resp := "Error fetching mixes: " + err.Error()
|
||||||
|
s.ChannelMessageSend(m.ChannelID, resp)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer mixresp.Body.Close()
|
||||||
|
|
||||||
|
if mixresp.StatusCode == http.StatusOK {
|
||||||
|
var mixes []*Mix
|
||||||
|
err = json.NewDecoder(mixresp.Body).Decode(&mixes)
|
||||||
|
rmix := mixes[rand.Intn(len(mixes))]
|
||||||
|
resp := "https://maki.jawa.moe/mixes/" + rmix.Name
|
||||||
|
s.ChannelMessageSend(m.ChannelID, resp)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//Post XKCD comic!
|
//Post XKCD comic!
|
||||||
func getXKCD(s *discordgo.Session, m *discordgo.Message, ctx *mux.Context) {
|
func getXKCD(s *discordgo.Session, m *discordgo.Message, ctx *mux.Context) {
|
||||||
resp := ""
|
resp := ""
|
||||||
|
|
|
@ -56,6 +56,7 @@ func main() {
|
||||||
Router.Route("maki", "It's Maki Monday my dudes!", makiMonday)
|
Router.Route("maki", "It's Maki Monday my dudes!", makiMonday)
|
||||||
Router.Route("monday", "It's Maki Monday my dudes!", makiMonday)
|
Router.Route("monday", "It's Maki Monday my dudes!", makiMonday)
|
||||||
Router.Route("mixes", "Post the link to my fire mixtapes!", postMixes)
|
Router.Route("mixes", "Post the link to my fire mixtapes!", postMixes)
|
||||||
|
Router.Route("rmix", "Post a random mix!", getRandomMix)
|
||||||
Router.Route("xkcd", "Post a specific, random, or the latest XKCD comic", getXKCD)
|
Router.Route("xkcd", "Post a specific, random, or the latest XKCD comic", getXKCD)
|
||||||
Router.Route("restart", "Restart the bot.", restartBot)
|
Router.Route("restart", "Restart the bot.", restartBot)
|
||||||
Router.Route("kill", "Restart the bot.", restartBot)
|
Router.Route("kill", "Restart the bot.", restartBot)
|
||||||
|
|
Loading…
Reference in New Issue