Compare commits
2 commits
bf458fdea9
...
48a59a9ec7
Author | SHA1 | Date | |
---|---|---|---|
48a59a9ec7 | |||
c0469667b1 |
3 changed files with 77 additions and 63 deletions
5
Makefile
5
Makefile
|
@ -5,7 +5,10 @@ BUILD_DATE := $(shell date -u +.%Y%m%d.%H%M%S)
|
|||
CGO_ENABLED=0
|
||||
|
||||
default:
|
||||
CGO_ENABLED=$(CGO_ENABLED) go build -o out/engibot -trimpath -ldflags "-s -w -X main.gitCommit=$(GIT_COMMIT)" main.go
|
||||
CGO_ENABLED=$(CGO_ENABLED) go build -o out/engibot -trimpath -ldflags "-s -w -X main.gitCommit=$(GIT_COMMIT)" .
|
||||
|
||||
debug:
|
||||
go build -o out/ -ldflags "-X main.gitCommit=$(GIT_COMMIT)" main.go
|
||||
|
||||
run:
|
||||
go run . --token $(TOKEN)
|
||||
|
|
62
commands.go
Normal file
62
commands.go
Normal file
|
@ -0,0 +1,62 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"time"
|
||||
|
||||
"github.com/bwmarrin/discordgo"
|
||||
)
|
||||
|
||||
func ping(s *discordgo.Session, i *discordgo.InteractionCreate) {
|
||||
if i.Interaction.Member != nil {
|
||||
log.Printf("%s#%s invoked ping command", i.Interaction.Member.User.Username, i.Interaction.Member.User.Discriminator)
|
||||
} else if i.Interaction.User != nil {
|
||||
log.Printf("%s#%s invoked ping command", i.Interaction.User.Username, i.Interaction.User.Discriminator)
|
||||
}
|
||||
s.InteractionRespond(i.Interaction, &discordgo.InteractionResponse{
|
||||
Type: discordgo.InteractionResponseChannelMessageWithSource,
|
||||
Data: &discordgo.InteractionResponseData{
|
||||
//Flags: 1 << 6, // Only lets issuer see initial response
|
||||
Content: "Pong!",
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
func sping(s *discordgo.Session, i *discordgo.InteractionCreate) {
|
||||
if i.Interaction.Member != nil {
|
||||
log.Printf("%s#%s invoked ping command", i.Interaction.Member.User.Username, i.Interaction.Member.User.Discriminator)
|
||||
} else if i.Interaction.User != nil {
|
||||
log.Printf("%s#%s invoked ping command", i.Interaction.User.Username, i.Interaction.User.Discriminator)
|
||||
}
|
||||
s.InteractionRespond(i.Interaction, &discordgo.InteractionResponse{
|
||||
Type: discordgo.InteractionResponseChannelMessageWithSource,
|
||||
Data: &discordgo.InteractionResponseData{
|
||||
Flags: 1 << 6, // Only lets issuer see initial response
|
||||
Content: "Pong!",
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
func slowping(s *discordgo.Session, i *discordgo.InteractionCreate) {
|
||||
if i.Interaction.Member != nil {
|
||||
log.Printf("%s#%s invoked ping command", i.Interaction.Member.User.Username, i.Interaction.Member.User.Discriminator)
|
||||
} else if i.Interaction.User != nil {
|
||||
log.Printf("%s#%s invoked ping command", i.Interaction.User.Username, i.Interaction.User.Discriminator)
|
||||
}
|
||||
s.InteractionRespond(i.Interaction, &discordgo.InteractionResponse{
|
||||
Type: discordgo.InteractionResponseChannelMessageWithSource,
|
||||
Data: &discordgo.InteractionResponseData{
|
||||
//Flags: 1 << 6, // Only lets issuer see initial response
|
||||
Content: "...",
|
||||
},
|
||||
})
|
||||
|
||||
time.Sleep(time.Second * 10)
|
||||
|
||||
_, err := s.FollowupMessageCreate(i.Interaction, true, &discordgo.WebhookParams{
|
||||
Content: "Pong!",
|
||||
})
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
}
|
73
main.go
73
main.go
|
@ -10,7 +10,6 @@ import (
|
|||
"strings"
|
||||
"regexp"
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/bwmarrin/discordgo"
|
||||
"github.com/wader/goutubedl"
|
||||
|
@ -18,7 +17,13 @@ import (
|
|||
)
|
||||
|
||||
func main() {
|
||||
// Variables used for command line parameters
|
||||
// Lazyinator 9001
|
||||
var (
|
||||
s *discordgo.Session
|
||||
err error
|
||||
)
|
||||
|
||||
// Variables used for registering slash commands
|
||||
var (
|
||||
commands = []*discordgo.ApplicationCommand {
|
||||
{
|
||||
|
@ -35,66 +40,10 @@ func main() {
|
|||
},
|
||||
}
|
||||
commandHandlers = map[string]func(s *discordgo.Session, i *discordgo.InteractionCreate) {
|
||||
"ping": func(s *discordgo.Session, i *discordgo.InteractionCreate) {
|
||||
if i.Interaction.Member != nil {
|
||||
log.Printf("%s#%s invoked ping command", i.Interaction.Member.User.Username, i.Interaction.Member.User.Discriminator)
|
||||
} else if i.Interaction.User != nil {
|
||||
log.Printf("%s#%s invoked ping command", i.Interaction.User.Username, i.Interaction.User.Discriminator)
|
||||
"ping": ping,
|
||||
"sping": sping,
|
||||
"slowping": slowping,
|
||||
}
|
||||
s.InteractionRespond(i.Interaction, &discordgo.InteractionResponse{
|
||||
Type: discordgo.InteractionResponseChannelMessageWithSource,
|
||||
Data: &discordgo.InteractionResponseData{
|
||||
//Flags: 1 << 6, // Only lets issuer see initial response
|
||||
Content: "Pong!",
|
||||
},
|
||||
})
|
||||
},
|
||||
|
||||
"sping": func(s *discordgo.Session, i *discordgo.InteractionCreate) {
|
||||
if i.Interaction.Member != nil {
|
||||
log.Printf("%s#%s invoked ping command", i.Interaction.Member.User.Username, i.Interaction.Member.User.Discriminator)
|
||||
} else if i.Interaction.User != nil {
|
||||
log.Printf("%s#%s invoked ping command", i.Interaction.User.Username, i.Interaction.User.Discriminator)
|
||||
}
|
||||
s.InteractionRespond(i.Interaction, &discordgo.InteractionResponse{
|
||||
Type: discordgo.InteractionResponseChannelMessageWithSource,
|
||||
Data: &discordgo.InteractionResponseData{
|
||||
Flags: 1 << 6, // Only lets issuer see initial response
|
||||
Content: "Pong!",
|
||||
},
|
||||
})
|
||||
},
|
||||
|
||||
"slowping": func(s *discordgo.Session, i *discordgo.InteractionCreate) {
|
||||
if i.Interaction.Member != nil {
|
||||
log.Printf("%s#%s invoked ping command", i.Interaction.Member.User.Username, i.Interaction.Member.User.Discriminator)
|
||||
} else if i.Interaction.User != nil {
|
||||
log.Printf("%s#%s invoked ping command", i.Interaction.User.Username, i.Interaction.User.Discriminator)
|
||||
}
|
||||
s.InteractionRespond(i.Interaction, &discordgo.InteractionResponse{
|
||||
Type: discordgo.InteractionResponseChannelMessageWithSource,
|
||||
Data: &discordgo.InteractionResponseData{
|
||||
//Flags: 1 << 6, // Only lets issuer see initial response
|
||||
Content: "No problem.",
|
||||
},
|
||||
})
|
||||
|
||||
time.Sleep(time.Second * 10)
|
||||
|
||||
_, err := s.FollowupMessageCreate(i.Interaction, true, &discordgo.WebhookParams{
|
||||
Content: "Pong!",
|
||||
})
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
}
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
// Lazyinator 9001
|
||||
var (
|
||||
s *discordgo.Session
|
||||
err error
|
||||
)
|
||||
|
||||
// Bot params
|
||||
|
@ -193,7 +142,7 @@ func messageCreate(s *discordgo.Session, m *discordgo.MessageCreate) {
|
|||
Files: []*discordgo.File{},
|
||||
}
|
||||
|
||||
log.Println("URLs detected!")
|
||||
log.Printf("Message %s has URLs!", m.ID)
|
||||
|
||||
respond := false
|
||||
|
||||
|
|
Loading…
Reference in a new issue