commit 1c9e1daf22b077f0c52b958fc9ff908dbc43b1ac Author: Steven Tracey Date: Mon Aug 29 07:25:09 2022 -0400 upload diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/GoBot.iml b/.idea/GoBot.iml new file mode 100644 index 0000000..5e764c4 --- /dev/null +++ b/.idea/GoBot.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..df2331d --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/GoBot.exe b/GoBot.exe new file mode 100644 index 0000000..cd63d8c Binary files /dev/null and b/GoBot.exe differ diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..14445d1 --- /dev/null +++ b/go.mod @@ -0,0 +1,10 @@ +module GoBot + +go 1.19 + +require ( + github.com/bwmarrin/discordgo v0.26.0 // indirect + github.com/gorilla/websocket v1.4.2 // indirect + golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b // indirect + golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..7bb0c10 --- /dev/null +++ b/go.sum @@ -0,0 +1,12 @@ +github.com/bwmarrin/discordgo v0.26.0 h1:/AdFmxHXSHInYAZ7K0O3VEIXlVjGpztk/nuCr9o+JCs= +github.com/bwmarrin/discordgo v0.26.0/go.mod h1:NJZpH+1AfhIcyQsPeuBKsUtYrRnjkyu0kIVMCHkZtRY= +github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b h1:7mWr3k41Qtv8XlltBkDkl8LoP3mpSgBW8BUoxtEdbXg= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 h1:nxC68pudNYkKU6jWhgrqdreuFiOQWj1Fs7T3VrH4Pjw= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= diff --git a/main.go b/main.go new file mode 100644 index 0000000..4bcfa50 --- /dev/null +++ b/main.go @@ -0,0 +1,61 @@ +package main + +import ( + "fmt" + "github.com/bwmarrin/discordgo" + "os" +) + +const botToken = "MTAxMzU4NDA1ODAxMTM2OTYwMg.GQRu8W.hH1uPAuqIq1ST7tBoMI_o2mYRZdOrp1P9qPjnU" + +var BotId string + +func main() { + fmt.Println("Bot is starting...") + + discord, err := discordgo.New("Bot " + botToken) + + checkErr(err) + + user, err := discord.User("@me") + + checkErr(err) + + BotId = user.ID + + discord.AddHandler(messageHandler) + + err = discord.Open() + + checkErr(err) + + fmt.Println("Bot is running!") + + <-make(chan struct{}) + return +} + +func messageHandler(session *discordgo.Session, message *discordgo.MessageCreate) { + if message.Author.ID == BotId { + return + } + + switch message.Content { + case "go$ping": + _, _ = session.ChannelMessageSendReply(message.ChannelID, "pong!", message.Reference()) + case "go$stop", "go$exit": + { + _, _ = session.ChannelMessageSend(message.ChannelID, "Shutting down...") + os.Exit(0) + } + } + + fmt.Println(message.Content) +} + +func checkErr(err error) { + if err != nil { + fmt.Println(err.Error()) + os.Exit(1) + } +}