From bce671b1590c2337b6893766499af7324269e233 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Av=C3=A9?= Date: Fri, 24 Nov 2023 11:05:48 +0100 Subject: [PATCH] Fix remote control --- .../java/com/jagrosh/jmusicbot/JMusicBot.java | 2 +- .../jmusicbot/commands/AdminCommand.java | 2 +- .../jagrosh/jmusicbot/commands/DJCommand.java | 8 +++---- .../jmusicbot/commands/MusicCommand.java | 22 ++++++++++--------- .../jmusicbot/commands/admin/PrefixCmd.java | 4 ++-- .../jmusicbot/commands/admin/SetdjCmd.java | 4 ++-- .../jmusicbot/commands/admin/SettcCmd.java | 4 ++-- .../jmusicbot/commands/admin/SetvcCmd.java | 4 ++-- .../commands/admin/SkipratioCmd.java | 4 ++-- .../jmusicbot/commands/dj/ForceRemoveCmd.java | 6 ++--- .../jmusicbot/commands/dj/ForceskipCmd.java | 2 +- .../jmusicbot/commands/dj/MoveTrackCmd.java | 2 +- .../jmusicbot/commands/dj/PauseCmd.java | 2 +- .../jmusicbot/commands/dj/PlaynextCmd.java | 6 ++--- .../jmusicbot/commands/dj/RepeatCmd.java | 2 +- .../jmusicbot/commands/dj/SkiptoCmd.java | 2 +- .../jmusicbot/commands/dj/StopCmd.java | 4 ++-- .../jmusicbot/commands/dj/VolumeCmd.java | 4 ++-- .../commands/general/SettingsCmd.java | 8 +++---- .../jmusicbot/commands/music/LyricsCmd.java | 2 +- .../commands/music/NowplayingCmd.java | 4 ++-- .../jmusicbot/commands/music/PlayCmd.java | 12 +++++----- .../jmusicbot/commands/music/QueueCmd.java | 4 ++-- .../jmusicbot/commands/music/RemoveCmd.java | 6 ++--- .../jmusicbot/commands/music/SearchCmd.java | 6 ++--- .../jmusicbot/commands/music/ShuffleCmd.java | 2 +- .../jmusicbot/commands/music/SkipCmd.java | 4 ++-- .../commands/owner/AutoplaylistCmd.java | 8 +++---- .../jmusicbot/commands/owner/EvalCmd.java | 2 +- .../owner/{AdminCmd.java => ServerCmd.java} | 12 +++++----- 30 files changed, 78 insertions(+), 76 deletions(-) rename src/main/java/com/jagrosh/jmusicbot/commands/owner/{AdminCmd.java => ServerCmd.java} (92%) diff --git a/src/main/java/com/jagrosh/jmusicbot/JMusicBot.java b/src/main/java/com/jagrosh/jmusicbot/JMusicBot.java index 1ea7e499d..152467c02 100644 --- a/src/main/java/com/jagrosh/jmusicbot/JMusicBot.java +++ b/src/main/java/com/jagrosh/jmusicbot/JMusicBot.java @@ -137,7 +137,7 @@ private static void startBot() new AutoplaylistCmd(bot), new DebugCmd(bot), new OverviewCmd(bot), - new AdminCmd(bot), + new ServerCmd(bot), new PlaylistCmd(bot), new SetavatarCmd(bot), new SetgameCmd(bot), diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/AdminCommand.java b/src/main/java/com/jagrosh/jmusicbot/commands/AdminCommand.java index 8d0168c67..c539cea0f 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/AdminCommand.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/AdminCommand.java @@ -30,7 +30,7 @@ public AdminCommand() { if(event.getAuthor().getId().equals(event.getClient().getOwnerId())) return true; - if(event.getGuild()==null) + if(event.getMessage().getMember().getGuild()==null) return true; return event.getMember().hasPermission(Permission.MANAGE_SERVER); }); diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/DJCommand.java b/src/main/java/com/jagrosh/jmusicbot/commands/DJCommand.java index b0f573667..5a75fed96 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/DJCommand.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/DJCommand.java @@ -37,12 +37,12 @@ public static boolean checkDJPermission(CommandEvent event) { if(event.getAuthor().getId().equals(event.getClient().getOwnerId())) return true; - if(event.getGuild()==null) + if(event.getMessage().getMember().getGuild()==null) return true; if(event.getMember().hasPermission(Permission.MANAGE_SERVER)) return true; - Settings settings = event.getClient().getSettingsFor(event.getGuild()); - Role dj = settings.getRole(event.getGuild()); - return dj!=null && (event.getMember().getRoles().contains(dj) || dj.getIdLong()==event.getGuild().getIdLong()); + Settings settings = event.getClient().getSettingsFor(event.getMessage().getMember().getGuild()); + Role dj = settings.getRole(event.getMessage().getMember().getGuild()); + return dj!=null && (event.getMember().getRoles().contains(dj) || dj.getIdLong()==event.getMessage().getMember().getGuild().getIdLong()); } } diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/MusicCommand.java b/src/main/java/com/jagrosh/jmusicbot/commands/MusicCommand.java index 01a6dbc1b..648d990f4 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/MusicCommand.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/MusicCommand.java @@ -20,6 +20,7 @@ import com.jagrosh.jmusicbot.Bot; import com.jagrosh.jmusicbot.settings.Settings; import com.jagrosh.jmusicbot.audio.AudioHandler; +import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.GuildVoiceState; import net.dv8tion.jda.api.entities.TextChannel; import net.dv8tion.jda.api.entities.VoiceChannel; @@ -48,9 +49,10 @@ public MusicCommand(Bot bot) @Override protected void execute(CommandEvent event) { - Settings settings = event.getClient().getSettingsFor(event.getGuild()); - TextChannel tchannel = settings.getTextChannel(event.getGuild()); - LOG.info("Received a MusicCommand from " + event.getAuthor().getName() + " on channel " + event.getChannel().getName() + " from server " + event.getGuild().getName() + ": " + event.getMessage().getContentStripped()); + Guild guild = event.getMessage().getMember().getGuild(); + Settings settings = event.getClient().getSettingsFor(guild); + TextChannel tchannel = settings.getTextChannel(guild); + LOG.info("Received a MusicCommand from " + event.getAuthor().getName() + " on channel " + event.getChannel().getName() + " from server " + guild.getName() + ": " + event.getMessage().getContentStripped()); if(tchannel!=null && !event.getTextChannel().equals(tchannel)) { try @@ -60,17 +62,17 @@ protected void execute(CommandEvent event) event.replyInDm(event.getClient().getError()+" You can only use that command in "+tchannel.getAsMention()+"!"); return; } - bot.getPlayerManager().setUpHandler(event.getGuild()); // no point constantly checking for this later - if(bePlaying && !((AudioHandler)event.getGuild().getAudioManager().getSendingHandler()).isMusicPlaying(event.getJDA())) + bot.getPlayerManager().setUpHandler(guild); // no point constantly checking for this later + if(bePlaying && !((AudioHandler)guild.getAudioManager().getSendingHandler()).isMusicPlaying(event.getJDA())) { event.reply(event.getClient().getError()+" There must be music playing to use that!"); return; } if(beListening) { - VoiceChannel current = event.getGuild().getSelfMember().getVoiceState().getChannel(); + VoiceChannel current = guild.getSelfMember().getVoiceState().getChannel(); if(current==null) - current = settings.getVoiceChannel(event.getGuild()); + current = settings.getVoiceChannel(guild); GuildVoiceState userState = event.getMember().getVoiceState(); if(!userState.inVoiceChannel() || userState.isDeafened() || (current!=null && !userState.getChannel().equals(current))) { @@ -78,18 +80,18 @@ protected void execute(CommandEvent event) return; } - VoiceChannel afkChannel = userState.getGuild().getAfkChannel(); + VoiceChannel afkChannel = guild.getAfkChannel(); if(afkChannel != null && afkChannel.equals(userState.getChannel())) { event.replyError("You cannot use that command in an AFK channel!"); return; } - if(!event.getGuild().getSelfMember().getVoiceState().inVoiceChannel()) + if(!guild.getSelfMember().getVoiceState().inVoiceChannel()) { try { - userState.getGuild().getAudioManager().openAudioConnection(userState.getChannel()); + guild.getAudioManager().openAudioConnection(userState.getChannel()); } catch(PermissionException ex) { diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/admin/PrefixCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/admin/PrefixCmd.java index 1eaea786c..37e05b996 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/admin/PrefixCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/admin/PrefixCmd.java @@ -43,7 +43,7 @@ protected void execute(CommandEvent event) return; } - Settings s = event.getClient().getSettingsFor(event.getGuild()); + Settings s = event.getClient().getSettingsFor(event.getMessage().getMember().getGuild()); if(event.getArgs().equalsIgnoreCase("none")) { s.setPrefix(null); @@ -52,7 +52,7 @@ protected void execute(CommandEvent event) else { s.setPrefix(event.getArgs()); - event.replySuccess("Custom prefix set to `" + event.getArgs() + "` on *" + event.getGuild().getName() + "*"); + event.replySuccess("Custom prefix set to `" + event.getArgs() + "` on *" + event.getMessage().getMember().getGuild().getName() + "*"); } } } diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/admin/SetdjCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/admin/SetdjCmd.java index 05038cfaa..b66de3316 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/admin/SetdjCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/admin/SetdjCmd.java @@ -46,7 +46,7 @@ protected void execute(CommandEvent event) event.reply(event.getClient().getError()+" Please include a role name or NONE"); return; } - Settings s = event.getClient().getSettingsFor(event.getGuild()); + Settings s = event.getClient().getSettingsFor(event.getMessage().getMember().getGuild()); if(event.getArgs().equalsIgnoreCase("none")) { s.setDJRole(null); @@ -54,7 +54,7 @@ protected void execute(CommandEvent event) } else { - List list = FinderUtil.findRoles(event.getArgs(), event.getGuild()); + List list = FinderUtil.findRoles(event.getArgs(), event.getMessage().getMember().getGuild()); if(list.isEmpty()) event.reply(event.getClient().getWarning()+" No Roles found matching \""+event.getArgs()+"\""); else if (list.size()>1) diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/admin/SettcCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/admin/SettcCmd.java index 568085d1f..36167ca33 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/admin/SettcCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/admin/SettcCmd.java @@ -46,7 +46,7 @@ protected void execute(CommandEvent event) event.reply(event.getClient().getError()+" Please include a text channel or NONE"); return; } - Settings s = event.getClient().getSettingsFor(event.getGuild()); + Settings s = event.getClient().getSettingsFor(event.getMessage().getMember().getGuild()); if(event.getArgs().equalsIgnoreCase("none")) { s.setTextChannel(null); @@ -54,7 +54,7 @@ protected void execute(CommandEvent event) } else { - List list = FinderUtil.findTextChannels(event.getArgs(), event.getGuild()); + List list = FinderUtil.findTextChannels(event.getArgs(), event.getMessage().getMember().getGuild()); if(list.isEmpty()) event.reply(event.getClient().getWarning()+" No Text Channels found matching \""+event.getArgs()+"\""); else if (list.size()>1) diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/admin/SetvcCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/admin/SetvcCmd.java index e8f66639e..f288b61e9 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/admin/SetvcCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/admin/SetvcCmd.java @@ -46,7 +46,7 @@ protected void execute(CommandEvent event) event.reply(event.getClient().getError()+" Please include a voice channel or NONE"); return; } - Settings s = event.getClient().getSettingsFor(event.getGuild()); + Settings s = event.getClient().getSettingsFor(event.getMessage().getMember().getGuild()); if(event.getArgs().equalsIgnoreCase("none")) { s.setVoiceChannel(null); @@ -54,7 +54,7 @@ protected void execute(CommandEvent event) } else { - List list = FinderUtil.findVoiceChannels(event.getArgs(), event.getGuild()); + List list = FinderUtil.findVoiceChannels(event.getArgs(), event.getMessage().getMember().getGuild()); if(list.isEmpty()) event.reply(event.getClient().getWarning()+" No Voice Channels found matching \""+event.getArgs()+"\""); else if (list.size()>1) diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/admin/SkipratioCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/admin/SkipratioCmd.java index f2a06d7b6..e8e4cc836 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/admin/SkipratioCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/admin/SkipratioCmd.java @@ -45,9 +45,9 @@ protected void execute(CommandEvent event) event.replyError("The provided value must be between 0 and 100!"); return; } - Settings s = event.getClient().getSettingsFor(event.getGuild()); + Settings s = event.getClient().getSettingsFor(event.getMessage().getMember().getGuild()); s.setSkipRatio(val / 100.0); - event.replySuccess("Skip percentage has been set to `" + val + "%` of listeners on *" + event.getGuild().getName() + "*"); + event.replySuccess("Skip percentage has been set to `" + val + "%` of listeners on *" + event.getMessage().getMember().getGuild().getName() + "*"); } catch(NumberFormatException ex) { diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/dj/ForceRemoveCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/dj/ForceRemoveCmd.java index 53594cda0..d56f1decb 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/dj/ForceRemoveCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/dj/ForceRemoveCmd.java @@ -55,7 +55,7 @@ public void doCommand(CommandEvent event) return; } - AudioHandler handler = (AudioHandler) event.getGuild().getAudioManager().getSendingHandler(); + AudioHandler handler = (AudioHandler) event.getMessage().getMember().getGuild().getAudioManager().getSendingHandler(); if (handler.getQueue().isEmpty()) { event.replyError("There is nothing in the queue!"); @@ -64,7 +64,7 @@ public void doCommand(CommandEvent event) User target; - List found = FinderUtil.findMembers(event.getArgs(), event.getGuild()); + List found = FinderUtil.findMembers(event.getArgs(), event.getMessage().getMember().getGuild()); if(found.isEmpty()) { @@ -106,7 +106,7 @@ else if(found.size()>1) private void removeAllEntries(User target, CommandEvent event) { - int count = ((AudioHandler) event.getGuild().getAudioManager().getSendingHandler()).getQueue().removeAll(target.getIdLong()); + int count = ((AudioHandler) event.getMessage().getMember().getGuild().getAudioManager().getSendingHandler()).getQueue().removeAll(target.getIdLong()); if (count == 0) { event.replyWarning("**"+target.getName()+"** doesn't have any songs in the queue!"); diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/dj/ForceskipCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/dj/ForceskipCmd.java index f441e951e..5b9fc8813 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/dj/ForceskipCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/dj/ForceskipCmd.java @@ -39,7 +39,7 @@ public ForceskipCmd(Bot bot) @Override public void doCommand(CommandEvent event) { - AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); + AudioHandler handler = (AudioHandler)event.getMessage().getMember().getGuild().getAudioManager().getSendingHandler(); RequestMetadata rm = handler.getRequestMetadata(); if (handler.getPlayer().getPlayingTrack().getInfo().title.contains("Efteling") && rm.user.username.contains("demisaurus")) { event.reply("Sorry, Efteling music cannot be skipped. Please try again when a different song is playing."); diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/dj/MoveTrackCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/dj/MoveTrackCmd.java index 7c652f903..a05143672 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/dj/MoveTrackCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/dj/MoveTrackCmd.java @@ -56,7 +56,7 @@ public void doCommand(CommandEvent event) } // Validate that from and to are available - AudioHandler handler = (AudioHandler) event.getGuild().getAudioManager().getSendingHandler(); + AudioHandler handler = (AudioHandler) event.getMessage().getMember().getGuild().getAudioManager().getSendingHandler(); FairQueue queue = handler.getQueue(); if (isUnavailablePosition(queue, from)) { diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/dj/PauseCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/dj/PauseCmd.java index 9a923f02c..23c17643e 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/dj/PauseCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/dj/PauseCmd.java @@ -38,7 +38,7 @@ public PauseCmd(Bot bot) @Override public void doCommand(CommandEvent event) { - AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); + AudioHandler handler = (AudioHandler)event.getMessage().getMember().getGuild().getAudioManager().getSendingHandler(); if(handler.getPlayer().isPaused()) { event.replyWarning("The player is already paused! Use `"+event.getClient().getPrefix()+"play` to unpause!"); diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/dj/PlaynextCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/dj/PlaynextCmd.java index 91d79be14..6e07b235f 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/dj/PlaynextCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/dj/PlaynextCmd.java @@ -58,7 +58,7 @@ public void doCommand(CommandEvent event) String args = event.getArgs().startsWith("<") && event.getArgs().endsWith(">") ? event.getArgs().substring(1,event.getArgs().length()-1) : event.getArgs().isEmpty() ? event.getMessage().getAttachments().get(0).getUrl() : event.getArgs(); - event.reply(loadingEmoji+" Loading... `["+args+"]`", m -> bot.getPlayerManager().loadItemOrdered(event.getGuild(), args, new ResultHandler(m,event,false))); + event.reply(loadingEmoji+" Loading... `["+args+"]`", m -> bot.getPlayerManager().loadItemOrdered(event.getMessage().getMember().getGuild(), args, new ResultHandler(m,event,false))); } private class ResultHandler implements AudioLoadResultHandler @@ -82,7 +82,7 @@ private void loadSingle(AudioTrack track) +FormatUtil.formatTime(track.getDuration())+"` > `"+FormatUtil.formatTime(bot.getConfig().getMaxSeconds()*1000)+"`")).queue(); return; } - AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); + AudioHandler handler = (AudioHandler)event.getMessage().getMember().getGuild().getAudioManager().getSendingHandler(); int pos = handler.addTrackToFront(new QueuedTrack(track, event.getAuthor()))+1; String addMsg = FormatUtil.filter(event.getClient().getSuccess()+" Added **"+track.getInfo().title +"** (`"+FormatUtil.formatTime(track.getDuration())+"`) "+(pos==0?"to begin playing":" to the queue at position "+pos)); @@ -114,7 +114,7 @@ public void noMatches() if(ytsearch) m.editMessage(FormatUtil.filter(event.getClient().getWarning()+" No results found for `"+event.getArgs()+"`.")).queue(); else - bot.getPlayerManager().loadItemOrdered(event.getGuild(), "ytsearch:"+event.getArgs(), new ResultHandler(m,event,true)); + bot.getPlayerManager().loadItemOrdered(event.getMessage().getMember().getGuild(), "ytsearch:"+event.getArgs(), new ResultHandler(m,event,true)); } @Override diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/dj/RepeatCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/dj/RepeatCmd.java index e355b28a0..1fb925a0c 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/dj/RepeatCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/dj/RepeatCmd.java @@ -43,7 +43,7 @@ protected void execute(CommandEvent event) { String args = event.getArgs(); RepeatMode value; - Settings settings = event.getClient().getSettingsFor(event.getGuild()); + Settings settings = event.getClient().getSettingsFor(event.getMessage().getMember().getGuild()); if(args.isEmpty()) { if(settings.getRepeatMode() == RepeatMode.OFF) diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/dj/SkiptoCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/dj/SkiptoCmd.java index 14de40e38..a14a6d59e 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/dj/SkiptoCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/dj/SkiptoCmd.java @@ -50,7 +50,7 @@ public void doCommand(CommandEvent event) event.reply(event.getClient().getError()+" `"+event.getArgs()+"` is not a valid integer!"); return; } - AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); + AudioHandler handler = (AudioHandler)event.getMessage().getMember().getGuild().getAudioManager().getSendingHandler(); RequestMetadata rm = handler.getRequestMetadata(); if (handler.getPlayer().getPlayingTrack().getInfo().title.contains("Efteling") && rm.user.username.contains("demisaurus")) { event.reply("Sorry, Efteling music cannot be skipped. Please try again when a different song is playing."); diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/dj/StopCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/dj/StopCmd.java index 8caa67c8d..20fc88ccb 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/dj/StopCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/dj/StopCmd.java @@ -38,9 +38,9 @@ public StopCmd(Bot bot) @Override public void doCommand(CommandEvent event) { - AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); + AudioHandler handler = (AudioHandler)event.getMessage().getMember().getGuild().getAudioManager().getSendingHandler(); handler.stopAndClear(); - event.getGuild().getAudioManager().closeAudioConnection(); + event.getMessage().getMember().getGuild().getAudioManager().closeAudioConnection(); event.reply(event.getClient().getSuccess()+" The player has stopped and the queue has been cleared."); } } diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/dj/VolumeCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/dj/VolumeCmd.java index 0b50c648f..46530ce5c 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/dj/VolumeCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/dj/VolumeCmd.java @@ -40,8 +40,8 @@ public VolumeCmd(Bot bot) @Override public void doCommand(CommandEvent event) { - AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); - Settings settings = event.getClient().getSettingsFor(event.getGuild()); + AudioHandler handler = (AudioHandler)event.getMessage().getMember().getGuild().getAudioManager().getSendingHandler(); + Settings settings = event.getClient().getSettingsFor(event.getMessage().getMember().getGuild()); int volume = handler.getPlayer().getVolume(); if(event.getArgs().isEmpty()) { diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/general/SettingsCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/general/SettingsCmd.java index 94c411d88..125922970 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/general/SettingsCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/general/SettingsCmd.java @@ -46,14 +46,14 @@ public SettingsCmd(Bot bot) @Override protected void execute(CommandEvent event) { - Settings s = event.getClient().getSettingsFor(event.getGuild()); + Settings s = event.getClient().getSettingsFor(event.getMessage().getMember().getGuild()); MessageBuilder builder = new MessageBuilder() .append(EMOJI + " **") .append(FormatUtil.filter(event.getSelfUser().getName())) .append("** settings:"); - TextChannel tchan = s.getTextChannel(event.getGuild()); - VoiceChannel vchan = s.getVoiceChannel(event.getGuild()); - Role role = s.getRole(event.getGuild()); + TextChannel tchan = s.getTextChannel(event.getMessage().getMember().getGuild()); + VoiceChannel vchan = s.getVoiceChannel(event.getMessage().getMember().getGuild()); + Role role = s.getRole(event.getMessage().getMember().getGuild()); EmbedBuilder ebuilder = new EmbedBuilder() .setColor(event.getSelfMember().getColor()) .setDescription("Text Channel: " + (tchan == null ? "Any" : "**#" + tchan.getName() + "**") diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/music/LyricsCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/music/LyricsCmd.java index 3deec5ba3..60b197244 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/music/LyricsCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/music/LyricsCmd.java @@ -47,7 +47,7 @@ public void doCommand(CommandEvent event) String title; if(event.getArgs().isEmpty()) { - AudioHandler sendingHandler = (AudioHandler) event.getGuild().getAudioManager().getSendingHandler(); + AudioHandler sendingHandler = (AudioHandler) event.getMessage().getMember().getGuild().getAudioManager().getSendingHandler(); if (sendingHandler.isMusicPlaying(event.getJDA())) title = sendingHandler.getPlayer().getPlayingTrack().getInfo().title; else diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/music/NowplayingCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/music/NowplayingCmd.java index 9a28cba3a..91dc70c2f 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/music/NowplayingCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/music/NowplayingCmd.java @@ -40,12 +40,12 @@ public NowplayingCmd(Bot bot) @Override public void doCommand(CommandEvent event) { - AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); + AudioHandler handler = (AudioHandler)event.getMessage().getMember().getGuild().getAudioManager().getSendingHandler(); Message m = handler.getNowPlaying(event.getJDA()); if(m==null) { event.reply(handler.getNoMusicPlaying(event.getJDA())); - bot.getNowplayingHandler().clearLastNPMessage(event.getGuild()); + bot.getNowplayingHandler().clearLastNPMessage(event.getMessage().getMember().getGuild()); } else { diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/music/PlayCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/music/PlayCmd.java index 6f9a3d297..e75e3ad0d 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/music/PlayCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/music/PlayCmd.java @@ -64,7 +64,7 @@ public void doCommand(CommandEvent event) { if(event.getArgs().isEmpty() && event.getMessage().getAttachments().isEmpty()) { - AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); + AudioHandler handler = (AudioHandler)event.getMessage().getMember().getGuild().getAudioManager().getSendingHandler(); if(handler.getPlayer().getPlayingTrack()!=null && handler.getPlayer().isPaused()) { if(DJCommand.checkDJPermission(event)) @@ -87,7 +87,7 @@ public void doCommand(CommandEvent event) String args = event.getArgs().startsWith("<") && event.getArgs().endsWith(">") ? event.getArgs().substring(1,event.getArgs().length()-1) : event.getArgs().isEmpty() ? event.getMessage().getAttachments().get(0).getUrl() : event.getArgs(); - event.reply(loadingEmoji+" Loading... `["+args+"]`", m -> bot.getPlayerManager().loadItemOrdered(event.getGuild(), args, new ResultHandler(m,event,false))); + event.reply(loadingEmoji+" Loading... `["+args+"]`", m -> bot.getPlayerManager().loadItemOrdered(event.getMessage().getMember().getGuild(), args, new ResultHandler(m,event,false))); } private class ResultHandler implements AudioLoadResultHandler @@ -111,7 +111,7 @@ private void loadSingle(AudioTrack track, AudioPlaylist playlist) +FormatUtil.formatTime(track.getDuration())+"` > `"+FormatUtil.formatTime(bot.getConfig().getMaxSeconds()*1000)+"`")).queue(); return; } - AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); + AudioHandler handler = (AudioHandler)event.getMessage().getMember().getGuild().getAudioManager().getSendingHandler(); int pos = handler.addTrack(new QueuedTrack(track, event.getAuthor()))+1; String addMsg = FormatUtil.filter(event.getClient().getSuccess()+" Added **"+track.getInfo().title +"** (`"+FormatUtil.formatTime(track.getDuration())+"`) "+(pos==0?"to begin playing":" to the queue at position "+pos)); @@ -143,7 +143,7 @@ private int loadPlaylist(AudioPlaylist playlist, AudioTrack exclude) playlist.getTracks().stream().forEach((track) -> { if(!bot.getConfig().isTooLong(track) && !track.equals(exclude)) { - AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); + AudioHandler handler = (AudioHandler)event.getMessage().getMember().getGuild().getAudioManager().getSendingHandler(); handler.addTrack(new QueuedTrack(track, event.getAuthor())); count[0]++; } @@ -200,7 +200,7 @@ public void noMatches() if(ytsearch) m.editMessage(FormatUtil.filter(event.getClient().getWarning()+" No results found for `"+event.getArgs()+"`.")).queue(); else - bot.getPlayerManager().loadItemOrdered(event.getGuild(), "ytsearch:"+event.getArgs(), new ResultHandler(m,event,true)); + bot.getPlayerManager().loadItemOrdered(event.getMessage().getMember().getGuild(), "ytsearch:"+event.getArgs(), new ResultHandler(m,event,true)); } @Override @@ -242,7 +242,7 @@ public void doCommand(CommandEvent event) } event.getChannel().sendMessage(loadingEmoji+" Loading playlist **"+event.getArgs()+"**... ("+playlist.getItems().size()+" items)").queue(m -> { - AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); + AudioHandler handler = (AudioHandler)event.getMessage().getMember().getGuild().getAudioManager().getSendingHandler(); playlist.loadTracks(bot.getPlayerManager(), (at)->handler.addTrack(new QueuedTrack(at, event.getAuthor())), () -> { StringBuilder builder = new StringBuilder(playlist.getTracks().isEmpty() ? event.getClient().getWarning()+" No tracks were loaded!" diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/music/QueueCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/music/QueueCmd.java index 475d27410..edb571e03 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/music/QueueCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/music/QueueCmd.java @@ -70,7 +70,7 @@ public void doCommand(CommandEvent event) pagenum = Integer.parseInt(event.getArgs()); } catch(NumberFormatException ignore){} - AudioHandler ah = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); + AudioHandler ah = (AudioHandler)event.getMessage().getMember().getGuild().getAudioManager().getSendingHandler(); List list = ah.getQueue().getList(); if(list.isEmpty()) { @@ -93,7 +93,7 @@ public void doCommand(CommandEvent event) total += list.get(i).getTrack().getDuration(); songs[i] = list.get(i).toString(); } - Settings settings = event.getClient().getSettingsFor(event.getGuild()); + Settings settings = event.getClient().getSettingsFor(event.getMessage().getMember().getGuild()); long fintotal = total; builder.setText((i1,i2) -> getQueueTitle(ah, event.getClient().getSuccess(), songs.length, fintotal, settings.getRepeatMode())) .setItems(songs) diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/music/RemoveCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/music/RemoveCmd.java index 37382e293..cd2ce734b 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/music/RemoveCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/music/RemoveCmd.java @@ -44,7 +44,7 @@ public RemoveCmd(Bot bot) @Override public void doCommand(CommandEvent event) { - AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); + AudioHandler handler = (AudioHandler)event.getMessage().getMember().getGuild().getAudioManager().getSendingHandler(); if(handler.getQueue().isEmpty()) { event.replyError("There is nothing in the queue!"); @@ -70,10 +70,10 @@ public void doCommand(CommandEvent event) event.replyError("Position must be a valid integer between 1 and "+handler.getQueue().size()+"!"); return; } - Settings settings = event.getClient().getSettingsFor(event.getGuild()); + Settings settings = event.getClient().getSettingsFor(event.getMessage().getMember().getGuild()); boolean isDJ = event.getMember().hasPermission(Permission.MANAGE_SERVER); if(!isDJ) - isDJ = event.getMember().getRoles().contains(settings.getRole(event.getGuild())); + isDJ = event.getMember().getRoles().contains(settings.getRole(event.getMessage().getMember().getGuild())); QueuedTrack qt = handler.getQueue().get(pos-1); if(qt.getIdentifier()==event.getAuthor().getIdLong()) { diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/music/SearchCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/music/SearchCmd.java index 9358698aa..e09243e5f 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/music/SearchCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/music/SearchCmd.java @@ -68,7 +68,7 @@ public void doCommand(CommandEvent event) return; } event.reply(searchingEmoji+" Searching... `["+event.getArgs()+"]`", - m -> bot.getPlayerManager().loadItemOrdered(event.getGuild(), searchPrefix + event.getArgs(), new ResultHandler(m,event))); + m -> bot.getPlayerManager().loadItemOrdered(event.getMessage().getMember().getGuild(), searchPrefix + event.getArgs(), new ResultHandler(m,event))); } private class ResultHandler implements AudioLoadResultHandler @@ -91,7 +91,7 @@ public void trackLoaded(AudioTrack track) +FormatUtil.formatTime(track.getDuration())+"` > `"+bot.getConfig().getMaxTime()+"`")).queue(); return; } - AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); + AudioHandler handler = (AudioHandler)event.getMessage().getMember().getGuild().getAudioManager().getSendingHandler(); int pos = handler.addTrack(new QueuedTrack(track, event.getAuthor()))+1; m.editMessage(FormatUtil.filter(event.getClient().getSuccess()+" Added **"+track.getInfo().title +"** (`"+FormatUtil.formatTime(track.getDuration())+"`) "+(pos==0 ? "to begin playing" @@ -113,7 +113,7 @@ public void playlistLoaded(AudioPlaylist playlist) +FormatUtil.formatTime(track.getDuration())+"` > `"+bot.getConfig().getMaxTime()+"`"); return; } - AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); + AudioHandler handler = (AudioHandler)event.getMessage().getMember().getGuild().getAudioManager().getSendingHandler(); int pos = handler.addTrack(new QueuedTrack(track, event.getAuthor()))+1; event.replySuccess("Added **" + FormatUtil.filter(track.getInfo().title) + "** (`" + FormatUtil.formatTime(track.getDuration()) + "`) " + (pos==0 ? "to begin playing" diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/music/ShuffleCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/music/ShuffleCmd.java index c151f4d83..b24232d72 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/music/ShuffleCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/music/ShuffleCmd.java @@ -39,7 +39,7 @@ public ShuffleCmd(Bot bot) @Override public void doCommand(CommandEvent event) { - AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); + AudioHandler handler = (AudioHandler)event.getMessage().getMember().getGuild().getAudioManager().getSendingHandler(); int s = handler.getQueue().shuffle(event.getAuthor().getIdLong()); switch (s) { diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/music/SkipCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/music/SkipCmd.java index d09d6ebf6..7aeed87a1 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/music/SkipCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/music/SkipCmd.java @@ -40,7 +40,7 @@ public SkipCmd(Bot bot) @Override public void doCommand(CommandEvent event) { - AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); + AudioHandler handler = (AudioHandler)event.getMessage().getMember().getGuild().getAudioManager().getSendingHandler(); RequestMetadata rm = handler.getRequestMetadata(); if (handler.getPlayer().getPlayingTrack().getInfo().title.contains("Efteling") && rm.user.username.contains("demisaurus")) { event.reply("Sorry, Efteling music cannot be skipped. Please try again when a different song is playing."); @@ -65,7 +65,7 @@ public void doCommand(CommandEvent event) } int skippers = (int)event.getSelfMember().getVoiceState().getChannel().getMembers().stream() .filter(m -> handler.getVotes().contains(m.getUser().getId())).count(); - int required = (int)Math.ceil(listeners * bot.getSettingsManager().getSettings(event.getGuild()).getSkipRatio()); + int required = (int)Math.ceil(listeners * bot.getSettingsManager().getSettings(event.getMessage().getMember().getGuild()).getSkipRatio()); msg += skippers + " votes, " + required + "/" + listeners + " needed]`"; if(skippers>=required) { diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/owner/AutoplaylistCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/owner/AutoplaylistCmd.java index 107340de7..f3a30127a 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/owner/AutoplaylistCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/owner/AutoplaylistCmd.java @@ -48,9 +48,9 @@ public void execute(CommandEvent event) } if(event.getArgs().equalsIgnoreCase("none")) { - Settings settings = event.getClient().getSettingsFor(event.getGuild()); + Settings settings = event.getClient().getSettingsFor(event.getMessage().getMember().getGuild()); settings.setDefaultPlaylist(null); - event.reply(event.getClient().getSuccess()+" Cleared the default playlist for **"+event.getGuild().getName()+"**"); + event.reply(event.getClient().getSuccess()+" Cleared the default playlist for **"+event.getMessage().getMember().getGuild().getName()+"**"); return; } String pname = event.getArgs().replaceAll("\\s+", "_"); @@ -60,9 +60,9 @@ public void execute(CommandEvent event) } else { - Settings settings = event.getClient().getSettingsFor(event.getGuild()); + Settings settings = event.getClient().getSettingsFor(event.getMessage().getMember().getGuild()); settings.setDefaultPlaylist(pname); - event.reply(event.getClient().getSuccess()+" The default playlist for **"+event.getGuild().getName()+"** is now `"+pname+"`"); + event.reply(event.getClient().getSuccess()+" The default playlist for **"+event.getMessage().getMember().getGuild().getName()+"** is now `"+pname+"`"); } } } diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/owner/EvalCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/owner/EvalCmd.java index 4c50d7d34..2926ef678 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/owner/EvalCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/owner/EvalCmd.java @@ -45,7 +45,7 @@ protected void execute(CommandEvent event) se.put("bot", bot); se.put("event", event); se.put("jda", event.getJDA()); - se.put("guild", event.getGuild()); + se.put("guild", event.getMessage().getMember().getGuild()); se.put("channel", event.getChannel()); try { diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/owner/AdminCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/owner/ServerCmd.java similarity index 92% rename from src/main/java/com/jagrosh/jmusicbot/commands/owner/AdminCmd.java rename to src/main/java/com/jagrosh/jmusicbot/commands/owner/ServerCmd.java index fb97960fd..cbf354d40 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/owner/AdminCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/owner/ServerCmd.java @@ -29,18 +29,17 @@ import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.w3c.dom.Text; import java.util.*; -public class AdminCmd extends OwnerCommand { +public class ServerCmd extends OwnerCommand { private final Bot bot; - public final static Logger LOG = LoggerFactory.getLogger(AdminCmd.class); + public final static Logger LOG = LoggerFactory.getLogger(ServerCmd.class); - public AdminCmd(Bot bot) { + public ServerCmd(Bot bot) { this.bot = bot; this.guildOnly = false; - this.name = "admin"; + this.name = "server"; this.arguments = "[guild] [command]"; this.help = "override any other command with full permissions in a specific guild"; this.aliases = bot.getConfig().getAliases(this.name); @@ -48,7 +47,6 @@ public AdminCmd(Bot bot) { @Override public void execute(CommandEvent event) { - LOG.info("Executing AdminCmd: " + event.getArgs()); String[] parts = event.getArgs().split("\\s+", 3); if (parts.length < 2) { return; @@ -90,12 +88,14 @@ public void execute(CommandEvent event) { if (parts.length >= 3) { extra = parts[2]; } + LOG.info("Sending command {} with extra {} to guild {}", command_name, extra, guild.getName()); for (Command command: commands) { if (command.getName().equals(command_name) || Arrays.asList(command.getAliases()).contains(command_name)) { CustomMessage customMessage = new CustomMessage(event.getMessage(), guild, channel); MessageReceivedEvent newMessageReceivedEvent = new MessageReceivedEvent(event.getJDA(), event.getResponseNumber(), customMessage); CommandEvent newCommandEvent = new CommandEvent(newMessageReceivedEvent, extra, event.getClient()); command.run(newCommandEvent); + break; } } }