Compare commits
No commits in common. "348cd543fcbf85afe3da65e68ff1115c7ddbad9c" and "fde109785102e680286f858c0992d2273680a560" have entirely different histories.
348cd543fc
...
fde1097851
@ -1,7 +0,0 @@
|
||||
FROM golang:latest AS build
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
RUN CGO_ENABLED=0 go build ./cmd/bb
|
||||
|
||||
FROM scratch AS bin
|
||||
COPY --from=build /src/bb /
|
8
Makefile
8
Makefile
@ -1,8 +0,0 @@
|
||||
.PHONY: build
|
||||
build:
|
||||
DOCKER_BUILDKIT=1
|
||||
docker build --target bin --output bin/ .
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm bin/bb
|
@ -15,9 +15,10 @@ import (
|
||||
"syscall"
|
||||
|
||||
"git.kill0.net/chill9/beepboop/command"
|
||||
|
||||
"github.com/bwmarrin/discordgo"
|
||||
log "github.com/sirupsen/logrus"
|
||||
|
||||
// log "github.com/golang/glog"
|
||||
"github.com/spf13/pflag"
|
||||
"github.com/spf13/viper"
|
||||
)
|
||||
@ -27,7 +28,45 @@ var (
|
||||
|
||||
defaultReactions []string = []string{"👍", "🌶️", "🤣", "😂", "🍆", "🍑", "❤️", "💦", "😍", "💩", "🔥", "🍒", "🎉", "🥳", "🎊"}
|
||||
|
||||
C Config
|
||||
commands = []*discordgo.ApplicationCommand{
|
||||
{
|
||||
Name: "poop",
|
||||
Type: discordgo.ChatApplicationCommand,
|
||||
Description: "Hot and steamy",
|
||||
},
|
||||
{
|
||||
Name: "ping",
|
||||
Type: discordgo.ChatApplicationCommand,
|
||||
Description: "Ping the bot",
|
||||
},
|
||||
{
|
||||
Name: "roll",
|
||||
Type: discordgo.ChatApplicationCommand,
|
||||
Description: "Roll a dice",
|
||||
Options: []*discordgo.ApplicationCommandOption{
|
||||
{
|
||||
Type: discordgo.ApplicationCommandOptionString,
|
||||
Name: "dice",
|
||||
Description: "Dice specification e.g. d4 or 2d6",
|
||||
Required: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "coin",
|
||||
Type: discordgo.ChatApplicationCommand,
|
||||
Description: "Flip a coin",
|
||||
},
|
||||
}
|
||||
|
||||
commandHandlers = map[string]func(s *discordgo.Session, i *discordgo.InteractionCreate){
|
||||
"ping": command.PingCommand,
|
||||
"poop": command.PoopCommand,
|
||||
"roll": command.RollCommand,
|
||||
"coin": command.CoinCommand,
|
||||
}
|
||||
|
||||
config Config
|
||||
)
|
||||
|
||||
type (
|
||||
@ -75,7 +114,7 @@ func main() {
|
||||
|
||||
Token, ok := viper.Get("discord_token").(string)
|
||||
|
||||
err = viper.Unmarshal(&C)
|
||||
err = viper.Unmarshal(&config)
|
||||
if err != nil {
|
||||
log.Fatalf("unable to decode into struct: %v", err)
|
||||
}
|
||||
@ -106,6 +145,19 @@ func main() {
|
||||
log.Fatalf("error opening connection: %v\n", err)
|
||||
}
|
||||
|
||||
for _, c := range commands {
|
||||
_, err := dg.ApplicationCommandCreate(dg.State.User.ID, "", c)
|
||||
if err != nil {
|
||||
log.Errorf("Cannot create '%v' command %v", c.Name, err)
|
||||
}
|
||||
}
|
||||
|
||||
dg.AddHandler(func(s *discordgo.Session, i *discordgo.InteractionCreate) {
|
||||
if h, ok := commandHandlers[i.ApplicationCommandData().Name]; ok {
|
||||
h(s, i)
|
||||
}
|
||||
})
|
||||
|
||||
log.Info("The bot is now running. Press CTRL-C to exit.")
|
||||
|
||||
defer dg.Close()
|
||||
@ -132,8 +184,8 @@ func reactionHandler(s *discordgo.Session, m *discordgo.MessageCreate) {
|
||||
return
|
||||
}
|
||||
|
||||
emojis := C.Handler.Reaction.Emojis
|
||||
channels := C.Handler.Reaction.Channels
|
||||
emojis := config.Handler.Reaction.Emojis
|
||||
channels := config.Handler.Reaction.Channels
|
||||
|
||||
if len(emojis) == 0 {
|
||||
log.Warning("emoji list is empty")
|
||||
|
Loading…
Reference in New Issue
Block a user