From 7a5cdfedf25bb92635725512a89588bb7afc3803 Mon Sep 17 00:00:00 2001 From: Daniel Aberger Date: Thu, 3 Aug 2017 18:50:20 +0200 Subject: [PATCH] new attempt to add clearQueue() --- main.go | 12 ++++++++++++ webserver.go | 6 +++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/main.go b/main.go index fde5ed9..2b70546 100644 --- a/main.go +++ b/main.go @@ -20,6 +20,7 @@ import ( log "github.com/Sirupsen/logrus" "github.com/bwmarrin/discordgo" humanize "github.com/dustin/go-humanize" + "os/user" ) var ( @@ -369,6 +370,17 @@ func playSound(play *Play, vc *discordgo.VoiceConnection) (err error) { return nil } +func clearQueue(user *discordgo.User) { + log.WithFields(log.Fields{ + "user": user, + }).Info(user.Username + " triggered queue clearing") + for key, _ := range queues { + delete(queues, key) + } + discord.Close() + discord.Open() +} + func onReady(s *discordgo.Session, event *discordgo.Ready) { log.Info("Received READY payload.") } diff --git a/webserver.go b/webserver.go index b668aeb..2ba50c9 100644 --- a/webserver.go +++ b/webserver.go @@ -90,7 +90,11 @@ func handlePlaySound(w http.ResponseWriter, r *http.Request) { } if user != nil && guild != nil && soundCollection != nil { if sound != nil { - go enqueuePlay(user, guild, soundCollection, sound) + if sound.Name == "clearqueue" && soundCollection.Prefix == "1" { + clearQueue() + } else { + go enqueuePlay(user, guild, soundCollection, sound) + } } else { go enqueuePlay(user, guild, soundCollection, soundCollection.Random()) }