From 42fb14c635e0f738f9e0bd8e42bb9dc8990cf238 Mon Sep 17 00:00:00 2001 From: MasqueOu Date: Wed, 18 Oct 2023 03:27:05 +0200 Subject: [PATCH 1/2] Add support of JDA5 --- pom.xml | 27 ++++++++++--------- .../java/com/jagrosh/jmusicbot/JMusicBot.java | 14 +++++----- .../java/com/jagrosh/jmusicbot/Listener.java | 16 +++++------ .../jagrosh/jmusicbot/audio/AudioHandler.java | 21 +++++++-------- .../jmusicbot/audio/NowplayingHandler.java | 9 ++++--- .../jmusicbot/commands/MusicCommand.java | 11 ++++---- .../jmusicbot/commands/admin/SettcCmd.java | 2 +- .../jmusicbot/commands/admin/SetvcCmd.java | 2 +- .../commands/general/SettingsCmd.java | 20 +++++++------- .../commands/music/NowplayingCmd.java | 8 +++--- .../jmusicbot/commands/music/QueueCmd.java | 14 +++++----- .../jmusicbot/commands/owner/DebugCmd.java | 12 ++++----- .../jagrosh/jmusicbot/settings/Settings.java | 8 +++--- .../jagrosh/jmusicbot/utils/FormatUtil.java | 4 +-- src/main/resources/reference.conf | 3 +-- 15 files changed, 88 insertions(+), 83 deletions(-) diff --git a/pom.xml b/pom.xml index b5b4cf6fe..c48de3235 100644 --- a/pom.xml +++ b/pom.xml @@ -32,12 +32,13 @@ net.dv8tion JDA - 4.4.1_353 + 5.0.0-beta.15 + - com.jagrosh + com.github.DxsSucuk jda-utilities - 3.0.5 + fdbc298 pom @@ -49,27 +50,27 @@ 1.3.78 - com.github.jagrosh - lavaplayer - jmusicbot-SNAPSHOT - + dev.arbjerg + lavaplayer + 2.0.2 + - - com.github.jagrosh - JLyrics - master-SNAPSHOT - + + com.github.jagrosh + JLyrics + master-01cf4ee007-1 + ch.qos.logback logback-classic - 1.2.3 + 1.2.9 com.typesafe diff --git a/src/main/java/com/jagrosh/jmusicbot/JMusicBot.java b/src/main/java/com/jagrosh/jmusicbot/JMusicBot.java index 69248fc88..8fdf8687b 100644 --- a/src/main/java/com/jagrosh/jmusicbot/JMusicBot.java +++ b/src/main/java/com/jagrosh/jmusicbot/JMusicBot.java @@ -29,9 +29,9 @@ import com.jagrosh.jmusicbot.utils.OtherUtil; import java.awt.Color; import java.util.Arrays; -import javax.security.auth.login.LoginException; import net.dv8tion.jda.api.*; import net.dv8tion.jda.api.entities.Activity; +import net.dv8tion.jda.api.exceptions.InvalidTokenException; import net.dv8tion.jda.api.requests.GatewayIntent; import net.dv8tion.jda.api.utils.cache.CacheFlag; import net.dv8tion.jda.api.exceptions.ErrorResponseException; @@ -45,10 +45,10 @@ public class JMusicBot { public final static Logger LOG = LoggerFactory.getLogger(JMusicBot.class); - public final static Permission[] RECOMMENDED_PERMS = {Permission.MESSAGE_READ, Permission.MESSAGE_WRITE, Permission.MESSAGE_HISTORY, Permission.MESSAGE_ADD_REACTION, + public final static Permission[] RECOMMENDED_PERMS = {Permission.VIEW_CHANNEL, Permission.MESSAGE_SEND, Permission.MESSAGE_HISTORY, Permission.MESSAGE_ADD_REACTION, Permission.MESSAGE_EMBED_LINKS, Permission.MESSAGE_ATTACH_FILES, Permission.MESSAGE_MANAGE, Permission.MESSAGE_EXT_EMOJI, Permission.MANAGE_CHANNEL, Permission.VOICE_CONNECT, Permission.VOICE_SPEAK, Permission.NICKNAME_CHANGE}; - public final static GatewayIntent[] INTENTS = {GatewayIntent.DIRECT_MESSAGES, GatewayIntent.GUILD_MESSAGES, GatewayIntent.GUILD_MESSAGE_REACTIONS, GatewayIntent.GUILD_VOICE_STATES}; + public final static GatewayIntent[] INTENTS = {GatewayIntent.MESSAGE_CONTENT, GatewayIntent.DIRECT_MESSAGES, GatewayIntent.GUILD_MESSAGES, GatewayIntent.GUILD_MESSAGE_REACTIONS, GatewayIntent.GUILD_VOICE_STATES, GatewayIntent.GUILD_EMOJIS_AND_STICKERS, GatewayIntent.SCHEDULED_EVENTS}; /** * @param args the command line arguments @@ -86,14 +86,14 @@ private static void startBot() EventWaiter waiter = new EventWaiter(); SettingsManager settings = new SettingsManager(); Bot bot = new Bot(waiter, config, settings); - + AboutCommand aboutCommand = new AboutCommand(Color.BLUE.brighter(), "a music bot that is [easy to host yourself!](https://github.com/jagrosh/MusicBot) (v" + OtherUtil.getCurrentVersion() + ")", new String[]{"High-quality music playback", "FairQueue™ Technology", "Easy to host yourself"}, RECOMMENDED_PERMS); aboutCommand.setIsAuthor(false); aboutCommand.setReplacementCharacter("\uD83C\uDFB6"); // 🎶 - + // set up the command client CommandClientBuilder cb = new CommandClientBuilder() .setPrefix(config.getPrefix()) @@ -179,7 +179,7 @@ else if(config.getGame().getName().equalsIgnoreCase("none")) { JDA jda = JDABuilder.create(config.getToken(), Arrays.asList(INTENTS)) .enableCache(CacheFlag.MEMBER_OVERRIDES, CacheFlag.VOICE_STATE) - .disableCache(CacheFlag.ACTIVITY, CacheFlag.CLIENT_STATUS, CacheFlag.EMOTE, CacheFlag.ONLINE_STATUS) + .disableCache(CacheFlag.ACTIVITY, CacheFlag.CLIENT_STATUS, CacheFlag.EMOJI, CacheFlag.ONLINE_STATUS) .setActivity(nogame ? null : Activity.playing("loading...")) .setStatus(config.getStatus()==OnlineStatus.INVISIBLE || config.getStatus()==OnlineStatus.OFFLINE ? OnlineStatus.INVISIBLE : OnlineStatus.DO_NOT_DISTURB) @@ -188,7 +188,7 @@ else if(config.getGame().getName().equalsIgnoreCase("none")) .build(); bot.setJDA(jda); } - catch (LoginException ex) + catch (InvalidTokenException ex) { prompt.alert(Prompt.Level.ERROR, "JMusicBot", ex + "\nPlease make sure you are " + "editing the correct config.txt file, and that you have used the " diff --git a/src/main/java/com/jagrosh/jmusicbot/Listener.java b/src/main/java/com/jagrosh/jmusicbot/Listener.java index 1134cafc1..184b5638f 100644 --- a/src/main/java/com/jagrosh/jmusicbot/Listener.java +++ b/src/main/java/com/jagrosh/jmusicbot/Listener.java @@ -20,12 +20,12 @@ import net.dv8tion.jda.api.JDA; import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.User; -import net.dv8tion.jda.api.entities.VoiceChannel; -import net.dv8tion.jda.api.events.ReadyEvent; -import net.dv8tion.jda.api.events.ShutdownEvent; +import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel; import net.dv8tion.jda.api.events.guild.GuildJoinEvent; import net.dv8tion.jda.api.events.guild.voice.GuildVoiceUpdateEvent; -import net.dv8tion.jda.api.events.message.guild.GuildMessageDeleteEvent; +import net.dv8tion.jda.api.events.message.MessageDeleteEvent; +import net.dv8tion.jda.api.events.session.ReadyEvent; +import net.dv8tion.jda.api.events.session.ShutdownEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; @@ -45,7 +45,7 @@ public Listener(Bot bot) } @Override - public void onReady(ReadyEvent event) + public void onReady(ReadyEvent event) { if(event.getJDA().getGuildCache().isEmpty()) { @@ -59,7 +59,7 @@ public void onReady(ReadyEvent event) try { String defpl = bot.getSettingsManager().getSettings(guild).getDefaultPlaylist(); - VoiceChannel vc = bot.getSettingsManager().getSettings(guild).getVoiceChannel(guild); + AudioChannel vc = bot.getSettingsManager().getSettings(guild).getVoiceChannel(guild); if(defpl!=null && vc!=null && bot.getPlayerManager().setUpHandler(guild).playFromDefault()) { guild.getAudioManager().openAudioConnection(vc); @@ -88,7 +88,7 @@ public void onReady(ReadyEvent event) } @Override - public void onGuildMessageDelete(GuildMessageDeleteEvent event) + public void onMessageDelete(MessageDeleteEvent event) { bot.getNowplayingHandler().onMessageDelete(event.getGuild(), event.getMessageIdLong()); } @@ -100,7 +100,7 @@ public void onGuildVoiceUpdate(@NotNull GuildVoiceUpdateEvent event) } @Override - public void onShutdown(ShutdownEvent event) + public void onShutdown(@NotNull ShutdownEvent event) { bot.shutdown(); } diff --git a/src/main/java/com/jagrosh/jmusicbot/audio/AudioHandler.java b/src/main/java/com/jagrosh/jmusicbot/audio/AudioHandler.java index b2ca7179d..59fc0708b 100644 --- a/src/main/java/com/jagrosh/jmusicbot/audio/AudioHandler.java +++ b/src/main/java/com/jagrosh/jmusicbot/audio/AudioHandler.java @@ -15,7 +15,6 @@ */ package com.jagrosh.jmusicbot.audio; -import com.jagrosh.jmusicbot.JMusicBot; import com.jagrosh.jmusicbot.playlist.PlaylistLoader.Playlist; import com.jagrosh.jmusicbot.settings.RepeatMode; import com.sedmelluq.discord.lavaplayer.player.AudioPlayer; @@ -34,11 +33,11 @@ import java.nio.ByteBuffer; import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.JDA; -import net.dv8tion.jda.api.MessageBuilder; import net.dv8tion.jda.api.audio.AudioSendHandler; import net.dv8tion.jda.api.entities.Guild; -import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.entities.User; +import net.dv8tion.jda.api.utils.messages.MessageEditBuilder; +import net.dv8tion.jda.api.utils.messages.MessageEditData; /** * @@ -107,7 +106,7 @@ public void stopAndClear() public boolean isMusicPlaying(JDA jda) { - return guild(jda).getSelfMember().getVoiceState().inVoiceChannel() && audioPlayer.getPlayingTrack()!=null; + return guild(jda).getSelfMember().getVoiceState().inAudioChannel() && audioPlayer.getPlayingTrack()!=null; } public Set getVotes() @@ -199,14 +198,14 @@ public void onTrackStart(AudioPlayer player, AudioTrack track) // Formatting - public Message getNowPlaying(JDA jda) + public MessageEditData getNowPlaying(JDA jda) { if(isMusicPlaying(jda)) { Guild guild = guild(jda); AudioTrack track = audioPlayer.getPlayingTrack(); - MessageBuilder mb = new MessageBuilder(); - mb.append(FormatUtil.filter(manager.getBot().getConfig().getSuccess()+" **Now Playing in "+guild.getSelfMember().getVoiceState().getChannel().getAsMention()+"...**")); + MessageEditBuilder meb = new MessageEditBuilder(); + meb.setContent(FormatUtil.filter(manager.getBot().getConfig().getSuccess()+" **Now Playing in "+guild.getSelfMember().getVoiceState().getChannel().getAsMention()+"...**")); EmbedBuilder eb = new EmbedBuilder(); eb.setColor(guild.getSelfMember().getColor()); RequestMetadata rm = getRequestMetadata(); @@ -241,16 +240,16 @@ public Message getNowPlaying(JDA jda) + " "+FormatUtil.progressBar(progress) + " `[" + FormatUtil.formatTime(track.getPosition()) + "/" + FormatUtil.formatTime(track.getDuration()) + "]` " + FormatUtil.volumeIcon(audioPlayer.getVolume())); - - return mb.setEmbeds(eb.build()).build(); + + return meb.setEmbeds(eb.build()).build(); } else return null; } - public Message getNoMusicPlaying(JDA jda) + public MessageEditData getNoMusicPlaying(JDA jda) { Guild guild = guild(jda); - return new MessageBuilder() + return new MessageEditBuilder() .setContent(FormatUtil.filter(manager.getBot().getConfig().getSuccess()+" **Now Playing...**")) .setEmbeds(new EmbedBuilder() .setTitle("No music playing") diff --git a/src/main/java/com/jagrosh/jmusicbot/audio/NowplayingHandler.java b/src/main/java/com/jagrosh/jmusicbot/audio/NowplayingHandler.java index 5d96e7df9..74fc7c81a 100644 --- a/src/main/java/com/jagrosh/jmusicbot/audio/NowplayingHandler.java +++ b/src/main/java/com/jagrosh/jmusicbot/audio/NowplayingHandler.java @@ -27,9 +27,10 @@ import net.dv8tion.jda.api.entities.Activity; import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Message; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.exceptions.PermissionException; import net.dv8tion.jda.api.exceptions.RateLimitedException; +import net.dv8tion.jda.api.utils.messages.MessageEditData; /** * @@ -54,7 +55,7 @@ public void init() public void setLastNPMessage(Message m) { - lastNP.put(m.getGuild().getIdLong(), new Pair<>(m.getTextChannel().getIdLong(), m.getIdLong())); + lastNP.put(m.getGuild().getIdLong(), new Pair<>(m.getChannel().getIdLong(), m.getIdLong())); } public void clearLastNPMessage(Guild guild) @@ -81,7 +82,7 @@ private void updateAll() continue; } AudioHandler handler = (AudioHandler)guild.getAudioManager().getSendingHandler(); - Message msg = handler.getNowPlaying(bot.getJDA()); + MessageEditData msg = handler.getNowPlaying(bot.getJDA()); if(msg==null) { msg = handler.getNoMusicPlaying(bot.getJDA()); @@ -138,7 +139,7 @@ public void onTrackUpdate(long guildId, AudioTrack track, AudioHandler handler) // update bot status if applicable if(bot.getConfig().getSongInStatus()) { - if(track!=null && bot.getJDA().getGuilds().stream().filter(g -> g.getSelfMember().getVoiceState().inVoiceChannel()).count()<=1) + if(track!=null && bot.getJDA().getGuilds().stream().filter(g -> g.getSelfMember().getVoiceState().inAudioChannel()).count()<=1) bot.getJDA().getPresence().setActivity(Activity.listening(track.getInfo().title)); else bot.resetGame(); diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/MusicCommand.java b/src/main/java/com/jagrosh/jmusicbot/commands/MusicCommand.java index 9740a7af7..0c16480cb 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/MusicCommand.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/MusicCommand.java @@ -21,8 +21,9 @@ import com.jagrosh.jmusicbot.settings.Settings; import com.jagrosh.jmusicbot.audio.AudioHandler; import net.dv8tion.jda.api.entities.GuildVoiceState; -import net.dv8tion.jda.api.entities.TextChannel; -import net.dv8tion.jda.api.entities.VoiceChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel; +import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel; import net.dv8tion.jda.api.exceptions.PermissionException; /** @@ -64,11 +65,11 @@ protected void execute(CommandEvent event) } if(beListening) { - VoiceChannel current = event.getGuild().getSelfMember().getVoiceState().getChannel(); + AudioChannel current = event.getGuild().getSelfMember().getVoiceState().getChannel(); if(current==null) current = settings.getVoiceChannel(event.getGuild()); GuildVoiceState userState = event.getMember().getVoiceState(); - if(!userState.inVoiceChannel() || userState.isDeafened() || (current!=null && !userState.getChannel().equals(current))) + if(!userState.inAudioChannel() || userState.isDeafened() || (current!=null && !userState.getChannel().equals(current))) { event.replyError("You must be listening in "+(current==null ? "a voice channel" : current.getAsMention())+" to use that!"); return; @@ -81,7 +82,7 @@ protected void execute(CommandEvent event) return; } - if(!event.getGuild().getSelfMember().getVoiceState().inVoiceChannel()) + if(!event.getGuild().getSelfMember().getVoiceState().inAudioChannel()) { try { 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..a039a94a4 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/admin/SettcCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/admin/SettcCmd.java @@ -22,7 +22,7 @@ import com.jagrosh.jmusicbot.commands.AdminCommand; import com.jagrosh.jmusicbot.settings.Settings; import com.jagrosh.jmusicbot.utils.FormatUtil; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; /** * 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..c06a3a8fb 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/admin/SetvcCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/admin/SetvcCmd.java @@ -22,7 +22,7 @@ import com.jagrosh.jmusicbot.commands.AdminCommand; import com.jagrosh.jmusicbot.settings.Settings; import com.jagrosh.jmusicbot.utils.FormatUtil; -import net.dv8tion.jda.api.entities.VoiceChannel; +import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel; /** * 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..a4bab3de0 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/general/SettingsCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/general/SettingsCmd.java @@ -22,10 +22,12 @@ import com.jagrosh.jmusicbot.settings.Settings; import com.jagrosh.jmusicbot.utils.FormatUtil; import net.dv8tion.jda.api.EmbedBuilder; -import net.dv8tion.jda.api.MessageBuilder; import net.dv8tion.jda.api.entities.Role; -import net.dv8tion.jda.api.entities.TextChannel; -import net.dv8tion.jda.api.entities.VoiceChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; +import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel; +import net.dv8tion.jda.api.utils.messages.MessageCreateBuilder; +import net.dv8tion.jda.api.utils.messages.MessageCreateData; +import net.dv8tion.jda.api.utils.messages.MessageEditBuilder; /** * @@ -47,12 +49,10 @@ public SettingsCmd(Bot bot) protected void execute(CommandEvent event) { Settings s = event.getClient().getSettingsFor(event.getGuild()); - MessageBuilder builder = new MessageBuilder() - .append(EMOJI + " **") - .append(FormatUtil.filter(event.getSelfUser().getName())) - .append("** settings:"); + MessageEditBuilder builder = new MessageEditBuilder() + .setContent(EMOJI + " **" + FormatUtil.filter(event.getSelfUser().getName()) + "** settings:"); TextChannel tchan = s.getTextChannel(event.getGuild()); - VoiceChannel vchan = s.getVoiceChannel(event.getGuild()); + AudioChannel vchan = s.getVoiceChannel(event.getGuild()); Role role = s.getRole(event.getGuild()); EmbedBuilder ebuilder = new EmbedBuilder() .setColor(event.getSelfMember().getColor()) @@ -66,9 +66,9 @@ protected void execute(CommandEvent event) + "\nDefault Playlist: " + (s.getDefaultPlaylist() == null ? "None" : "**" + s.getDefaultPlaylist() + "**") ) .setFooter(event.getJDA().getGuilds().size() + " servers | " - + event.getJDA().getGuilds().stream().filter(g -> g.getSelfMember().getVoiceState().inVoiceChannel()).count() + + event.getJDA().getGuilds().stream().filter(g -> g.getSelfMember().getVoiceState().inAudioChannel()).count() + " audio connections", null); - event.getChannel().sendMessage(builder.setEmbeds(ebuilder.build()).build()).queue(); + event.getChannel().sendMessage(MessageCreateData.fromEditData(builder.setEmbeds(ebuilder.build()).build())).queue(); } } 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..ed2103a03 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/music/NowplayingCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/music/NowplayingCmd.java @@ -21,6 +21,8 @@ import com.jagrosh.jmusicbot.commands.MusicCommand; import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.entities.Message; +import net.dv8tion.jda.api.utils.messages.MessageCreateData; +import net.dv8tion.jda.api.utils.messages.MessageEditData; /** * @@ -41,15 +43,15 @@ public NowplayingCmd(Bot bot) public void doCommand(CommandEvent event) { AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); - Message m = handler.getNowPlaying(event.getJDA()); + MessageEditData m = handler.getNowPlaying(event.getJDA()); if(m==null) { - event.reply(handler.getNoMusicPlaying(event.getJDA())); + event.reply(MessageCreateData.fromEditData(handler.getNoMusicPlaying(event.getJDA()))); bot.getNowplayingHandler().clearLastNPMessage(event.getGuild()); } else { - event.reply(m, msg -> bot.getNowplayingHandler().setLastNPMessage(msg)); + event.reply(MessageCreateData.fromEditData(m), msg -> bot.getNowplayingHandler().setLastNPMessage(msg)); } } } 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..0edcfab9b 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/music/QueueCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/music/QueueCmd.java @@ -20,17 +20,17 @@ import com.jagrosh.jdautilities.command.CommandEvent; import com.jagrosh.jdautilities.menu.Paginator; import com.jagrosh.jmusicbot.Bot; -import com.jagrosh.jmusicbot.JMusicBot; import com.jagrosh.jmusicbot.audio.AudioHandler; import com.jagrosh.jmusicbot.audio.QueuedTrack; import com.jagrosh.jmusicbot.commands.MusicCommand; import com.jagrosh.jmusicbot.settings.RepeatMode; import com.jagrosh.jmusicbot.settings.Settings; import com.jagrosh.jmusicbot.utils.FormatUtil; -import net.dv8tion.jda.api.MessageBuilder; import net.dv8tion.jda.api.Permission; -import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.exceptions.PermissionException; +import net.dv8tion.jda.api.utils.messages.MessageCreateData; +import net.dv8tion.jda.api.utils.messages.MessageEditBuilder; +import net.dv8tion.jda.api.utils.messages.MessageEditData; /** * @@ -74,12 +74,12 @@ public void doCommand(CommandEvent event) List list = ah.getQueue().getList(); if(list.isEmpty()) { - Message nowp = ah.getNowPlaying(event.getJDA()); - Message nonowp = ah.getNoMusicPlaying(event.getJDA()); - Message built = new MessageBuilder() + MessageEditData nowp = ah.getNowPlaying(event.getJDA()); + MessageEditData nonowp = ah.getNoMusicPlaying(event.getJDA()); + MessageEditData built = new MessageEditBuilder() .setContent(event.getClient().getWarning() + " There is no music in the queue!") .setEmbeds((nowp==null ? nonowp : nowp).getEmbeds().get(0)).build(); - event.reply(built, m -> + event.reply(MessageCreateData.fromEditData(built), m -> { if(nowp!=null) bot.getNowplayingHandler().setLastNPMessage(m); diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/owner/DebugCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/owner/DebugCmd.java index 829955d9f..6b31ce784 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/owner/DebugCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/owner/DebugCmd.java @@ -23,7 +23,8 @@ import com.sedmelluq.discord.lavaplayer.tools.PlayerLibrary; import net.dv8tion.jda.api.JDAInfo; import net.dv8tion.jda.api.Permission; -import net.dv8tion.jda.api.entities.ChannelType; +import net.dv8tion.jda.api.entities.channel.ChannelType; +import net.dv8tion.jda.api.utils.FileUpload; /** * @@ -49,7 +50,7 @@ public DebugCmd(Bot bot) protected void execute(CommandEvent event) { StringBuilder sb = new StringBuilder(); - sb.append("```\nSystem Properties:"); + sb.append("System Properties:"); for(String key: PROPERTIES) sb.append("\n ").append(key).append(" = ").append(System.getProperty(key)); sb.append("\n\nJMusicBot Information:") @@ -76,12 +77,11 @@ protected void execute(CommandEvent event) .append("\n ID = ").append(event.getJDA().getSelfUser().getId()) .append("\n Guilds = ").append(event.getJDA().getGuildCache().size()) .append("\n Users = ").append(event.getJDA().getUserCache().size()); - sb.append("\n```"); - if(event.isFromType(ChannelType.PRIVATE) + if(event.isFromType(ChannelType.PRIVATE) || event.getSelfMember().hasPermission(event.getTextChannel(), Permission.MESSAGE_ATTACH_FILES)) - event.getChannel().sendFile(sb.toString().getBytes(), "debug_information.txt").queue(); + event.getEvent().getChannel().sendFiles(FileUpload.fromData(sb.toString().getBytes(), "debug_information.txt")).queue(); else - event.reply("Debug Information: " + sb.toString()); + event.reply("Debug Information: " + sb); } } diff --git a/src/main/java/com/jagrosh/jmusicbot/settings/Settings.java b/src/main/java/com/jagrosh/jmusicbot/settings/Settings.java index 6f1ea6879..0b5755e8e 100644 --- a/src/main/java/com/jagrosh/jmusicbot/settings/Settings.java +++ b/src/main/java/com/jagrosh/jmusicbot/settings/Settings.java @@ -20,8 +20,10 @@ import java.util.Collections; import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Role; -import net.dv8tion.jda.api.entities.TextChannel; -import net.dv8tion.jda.api.entities.VoiceChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel; +import net.dv8tion.jda.api.entities.channel.middleman.AudioChannel; +import net.dv8tion.jda.api.entities.channel.unions.AudioChannelUnion; /** * @@ -92,7 +94,7 @@ public TextChannel getTextChannel(Guild guild) return guild == null ? null : guild.getTextChannelById(textId); } - public VoiceChannel getVoiceChannel(Guild guild) + public AudioChannel getVoiceChannel(Guild guild) { return guild == null ? null : guild.getVoiceChannelById(voiceId); } diff --git a/src/main/java/com/jagrosh/jmusicbot/utils/FormatUtil.java b/src/main/java/com/jagrosh/jmusicbot/utils/FormatUtil.java index 53d7d0401..db1929189 100644 --- a/src/main/java/com/jagrosh/jmusicbot/utils/FormatUtil.java +++ b/src/main/java/com/jagrosh/jmusicbot/utils/FormatUtil.java @@ -17,8 +17,8 @@ import java.util.List; import net.dv8tion.jda.api.entities.Role; -import net.dv8tion.jda.api.entities.TextChannel; -import net.dv8tion.jda.api.entities.VoiceChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel; /** * diff --git a/src/main/resources/reference.conf b/src/main/resources/reference.conf index b74103b3e..38a591da7 100644 --- a/src/main/resources/reference.conf +++ b/src/main/resources/reference.conf @@ -16,12 +16,11 @@ token = BOT_TOKEN_HERE - // This sets the owner of the bot // This needs to be the owner's ID (a 17-18 digit number) // https://github.com/jagrosh/MusicBot/wiki/Finding-Your-User-ID -owner = 0 // OWNER ID +// owner = 0 // OWNER ID // This sets the prefix for the bot From 9c7809552aa1cba635bd15d1e316e87d6ecb6505 Mon Sep 17 00:00:00 2001 From: MasqueOu Date: Wed, 18 Oct 2023 14:08:20 +0200 Subject: [PATCH 2/2] Add support of JDA5 --- pom.xml | 8 ++++---- src/main/resources/reference.conf | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index c48de3235..5ebe46d63 100644 --- a/pom.xml +++ b/pom.xml @@ -36,9 +36,9 @@ - com.github.DxsSucuk + com.jagrosh jda-utilities - fdbc298 + 3.0.5 pom @@ -50,9 +50,9 @@ 1.3.78 - dev.arbjerg + com.github.jagrosh lavaplayer - 2.0.2 + jmusicbot-SNAPSHOT