Add XKCD command
parent
538db40037
commit
491f28236c
31
commands.go
31
commands.go
|
@ -3,8 +3,11 @@ package main
|
||||||
import (
|
import (
|
||||||
"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"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"regexp"
|
||||||
|
"strconv"
|
||||||
)
|
)
|
||||||
|
|
||||||
//Generate a heckin swear word
|
//Generate a heckin swear word
|
||||||
|
@ -37,3 +40,31 @@ func postMixes(s *discordgo.Session, m *discordgo.Message, ctx *mux.Context) {
|
||||||
resp := "https://maki.jawa.moe/mixes/"
|
resp := "https://maki.jawa.moe/mixes/"
|
||||||
s.ChannelMessageSend(m.ChannelID, resp)
|
s.ChannelMessageSend(m.ChannelID, resp)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Post XKCD comic!
|
||||||
|
func getXKCD(s *discordgo.Session, m *discordgo.Message, ctx *mux.Context) {
|
||||||
|
resp := ""
|
||||||
|
xkclient := xkcd.NewClient()
|
||||||
|
var err error
|
||||||
|
var comic xkcd.Comic
|
||||||
|
var arg string
|
||||||
|
if len(ctx.Fields) > 1 {
|
||||||
|
arg = ctx.Fields[1]
|
||||||
|
} else {
|
||||||
|
arg = "random"
|
||||||
|
}
|
||||||
|
matchedNum, _ := regexp.MatchString(`[0-9]+`, arg)
|
||||||
|
if arg == "latest" {
|
||||||
|
comic, err = xkclient.Latest()
|
||||||
|
} else if matchedNum {
|
||||||
|
comicNum, _ := strconv.Atoi(arg)
|
||||||
|
comic, err = xkclient.Get(comicNum)
|
||||||
|
} else {
|
||||||
|
comic, err = xkclient.Random()
|
||||||
|
}
|
||||||
|
if err != nil {
|
||||||
|
resp = err.Error()
|
||||||
|
}
|
||||||
|
resp = comic.ImageURL
|
||||||
|
s.ChannelMessageSend(m.ChannelID, 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("xkcd", "Post a specific, random, or the latest XKCD comic", getXKCD)
|
||||||
|
|
||||||
//Open a connection to Discord
|
//Open a connection to Discord
|
||||||
err = Session.Open()
|
err = Session.Open()
|
||||||
|
|
Loading…
Reference in New Issue