https://github.com/matthieugrieger/mumbledj/issues/182: Added back track/playlist submitter immediate skipping
This commit is contained in:
parent
e1e3a334cd
commit
a1c5399223
File diff suppressed because one or more lines are too long
|
@ -196,6 +196,7 @@ func SetDefaultConfig() {
|
||||||
viper.SetDefault("commands.skip.description", "Places a vote to skip the current track.")
|
viper.SetDefault("commands.skip.description", "Places a vote to skip the current track.")
|
||||||
viper.SetDefault("commands.skip.messages.already_voted_error", "You have already voted to skip this track.")
|
viper.SetDefault("commands.skip.messages.already_voted_error", "You have already voted to skip this track.")
|
||||||
viper.SetDefault("commands.skip.messages.voted", "<b>%s</b> has voted to skip the current track.")
|
viper.SetDefault("commands.skip.messages.voted", "<b>%s</b> has voted to skip the current track.")
|
||||||
|
viper.SetDefault("commands.skip.messages.submitter_voted", "<b>%s</b>, the submitter of this track, has voted to skip. Skipping immediately.")
|
||||||
|
|
||||||
viper.SetDefault("commands.skipplaylist.aliases", []string{"skipplaylist", "sp"})
|
viper.SetDefault("commands.skipplaylist.aliases", []string{"skipplaylist", "sp"})
|
||||||
viper.SetDefault("commands.skipplaylist.is_admin", false)
|
viper.SetDefault("commands.skipplaylist.is_admin", false)
|
||||||
|
@ -203,6 +204,7 @@ func SetDefaultConfig() {
|
||||||
viper.SetDefault("commands.skipplaylist.messages.no_playlist_error", "The current track is not part of a playlist.")
|
viper.SetDefault("commands.skipplaylist.messages.no_playlist_error", "The current track is not part of a playlist.")
|
||||||
viper.SetDefault("commands.skipplaylist.messages.already_voted_error", "You have already voted to skip this playlist.")
|
viper.SetDefault("commands.skipplaylist.messages.already_voted_error", "You have already voted to skip this playlist.")
|
||||||
viper.SetDefault("commands.skipplaylist.messages.voted", "<b>%s</b> has voted to skip the current playlist.")
|
viper.SetDefault("commands.skipplaylist.messages.voted", "<b>%s</b> has voted to skip the current playlist.")
|
||||||
|
viper.SetDefault("commands.skipplaylist.messages.submitter_voted", "<b>%s</b>, the submitter of this playlist, has voted to skip. Skipping immediately.")
|
||||||
|
|
||||||
viper.SetDefault("commands.toggleshuffle.aliases", []string{"toggleshuffle", "toggleshuf", "togshuf", "tsh"})
|
viper.SetDefault("commands.toggleshuffle.aliases", []string{"toggleshuffle", "toggleshuf", "togshuf", "tsh"})
|
||||||
viper.SetDefault("commands.toggleshuffle.is_admin", true)
|
viper.SetDefault("commands.toggleshuffle.is_admin", true)
|
||||||
|
|
|
@ -47,6 +47,11 @@ func (c *SkipCommand) Execute(user *gumble.User, args ...string) (string, bool,
|
||||||
if DJ.Queue.Length() == 0 {
|
if DJ.Queue.Length() == 0 {
|
||||||
return "", true, errors.New(viper.GetString("commands.common_messages.no_tracks_error"))
|
return "", true, errors.New(viper.GetString("commands.common_messages.no_tracks_error"))
|
||||||
}
|
}
|
||||||
|
if DJ.Queue.GetTrack(0).GetSubmitter() == user.Name {
|
||||||
|
// The user who submitted the track is skipping, this means we skip this track immediately.
|
||||||
|
DJ.Queue.StopCurrent()
|
||||||
|
return fmt.Sprintf(viper.GetString("commands.skip.messages.submitter_voted"), user.Name), false, nil
|
||||||
|
}
|
||||||
if err := DJ.Skips.AddTrackSkip(user); err != nil {
|
if err := DJ.Skips.AddTrackSkip(user); err != nil {
|
||||||
return "", true, errors.New(viper.GetString("commands.skip.messages.already_voted_error"))
|
return "", true, errors.New(viper.GetString("commands.skip.messages.already_voted_error"))
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,6 +58,10 @@ func (c *SkipPlaylistCommand) Execute(user *gumble.User, args ...string) (string
|
||||||
if playlist := currentTrack.GetPlaylist(); playlist == nil {
|
if playlist := currentTrack.GetPlaylist(); playlist == nil {
|
||||||
return "", true, errors.New(viper.GetString("commands.skipplaylist.messages.no_playlist_error"))
|
return "", true, errors.New(viper.GetString("commands.skipplaylist.messages.no_playlist_error"))
|
||||||
}
|
}
|
||||||
|
if currentTrack.GetPlaylist().GetSubmitter() == user.Name {
|
||||||
|
DJ.Queue.SkipPlaylist()
|
||||||
|
return fmt.Sprintf(viper.GetString("commands.skipplaylist.messages.submitter_voted"), user.Name), false, nil
|
||||||
|
}
|
||||||
if err := DJ.Skips.AddPlaylistSkip(user); err != nil {
|
if err := DJ.Skips.AddPlaylistSkip(user); err != nil {
|
||||||
return "", true, errors.New(viper.GetString("commands.skipplaylist.messages.already_voted_error"))
|
return "", true, errors.New(viper.GetString("commands.skipplaylist.messages.already_voted_error"))
|
||||||
}
|
}
|
||||||
|
|
|
@ -374,6 +374,7 @@ commands:
|
||||||
messages:
|
messages:
|
||||||
already_voted_error: "You have already voted to skip this track."
|
already_voted_error: "You have already voted to skip this track."
|
||||||
voted: "<b>%s</b> has voted to skip the current track."
|
voted: "<b>%s</b> has voted to skip the current track."
|
||||||
|
submitter_voted: "<b>%s</b>, the submitter of this track, has voted to skip. Skipping immediately."
|
||||||
|
|
||||||
skipplaylist:
|
skipplaylist:
|
||||||
aliases:
|
aliases:
|
||||||
|
@ -385,6 +386,7 @@ commands:
|
||||||
no_playlist_error: "The current track is not part of a playlist."
|
no_playlist_error: "The current track is not part of a playlist."
|
||||||
already_voted_error: "You have already voted to skip this playlist."
|
already_voted_error: "You have already voted to skip this playlist."
|
||||||
voted: "<b>%s</b> has voted to skip the current playlist."
|
voted: "<b>%s</b> has voted to skip the current playlist."
|
||||||
|
submitter_voted: "<b>%s</b>, the submitter of this playlist, has voted to skip. Skipping immediately."
|
||||||
|
|
||||||
toggleshuffle:
|
toggleshuffle:
|
||||||
aliases:
|
aliases:
|
||||||
|
|
Reference in a new issue