From d3683cc638f0eb30406a3131d38aff9ce6061a3c Mon Sep 17 00:00:00 2001 From: anthorob Date: Mon, 6 Feb 2023 17:17:23 -0500 Subject: [PATCH] Update to latest alpha and make clone of track when playing next --- pom.xml | 2 +- .../java/netneutrality/NetNeutrality.java | 5 ++--- .../command/AbstractCommand.java | 2 +- .../command/AbstractMusicCommand.java | 6 +++++- .../java/netneutrality/command/ICommand.java | 2 +- .../command/admin/PurgeCommand.java | 2 +- .../command/bot/ConfigureCommand.java | 2 +- .../command/music/JoinCommand.java | 2 +- .../java/netneutrality/core/BotState.java | 11 ++-------- .../java/netneutrality/core/GuildManager.java | 21 ++++++++++--------- .../java/netneutrality/core/LogHandler.java | 2 +- .../core/context/CommandContext.java | 6 +++++- .../core/context/MessageCommandContext.java | 3 ++- .../core/context/SlashCommandContext.java | 6 +++++- .../db/controllers/DBMessage.java | 2 +- .../hooks/message/EditHandler.java | 2 +- .../hooks/message/MessageReceivedHandler.java | 2 +- .../netneutrality/music/MusicManager.java | 11 ++-------- .../netneutrality/music/QueueManager.java | 10 +++------ .../java/netneutrality/music/TrackLoader.java | 10 ++++++--- .../netneutrality/music/TrackScheduler.java | 2 +- .../MusicPlayerAutoDisconnectThread.java | 2 +- .../utils/ChannelMessagePurger.java | 6 +++--- .../netneutrality/utils/MessageFunction.java | 20 +++++++++++++++++- .../java/netneutrality/utils/MusicUtils.java | 2 +- .../netneutrality/utils/UserFunction.java | 7 ------- 26 files changed, 79 insertions(+), 69 deletions(-) diff --git a/pom.xml b/pom.xml index 4dd727e..65c50b4 100644 --- a/pom.xml +++ b/pom.xml @@ -108,7 +108,7 @@ net.dv8tion JDA - 5.0.0-alpha.18 + 5.0.0-alpha.22 diff --git a/src/main/java/netneutrality/NetNeutrality.java b/src/main/java/netneutrality/NetNeutrality.java index 95acf1e..330f31d 100644 --- a/src/main/java/netneutrality/NetNeutrality.java +++ b/src/main/java/netneutrality/NetNeutrality.java @@ -5,6 +5,7 @@ import net.dv8tion.jda.api.JDA; import net.dv8tion.jda.api.JDABuilder; import net.dv8tion.jda.api.entities.Activity; import net.dv8tion.jda.api.entities.User; +import net.dv8tion.jda.api.exceptions.InvalidTokenException; import net.dv8tion.jda.api.requests.GatewayIntent; import netneutrality.core.CommandManager; import netneutrality.core.LogHandler; @@ -24,8 +25,6 @@ import org.apache.logging.log4j.core.config.Configurator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.security.auth.login.LoginException; - public class NetNeutrality { private static JDA jda; @@ -68,7 +67,7 @@ public class NetNeutrality { .setActivity(Activity.watching("me load...")) .build(); jda.awaitReady(); - } catch (LoginException | IllegalArgumentException | InterruptedException e) { + } catch (InvalidTokenException | IllegalArgumentException | InterruptedException e) { Sentry.captureException(e); LogHandler.log(e); diff --git a/src/main/java/netneutrality/command/AbstractCommand.java b/src/main/java/netneutrality/command/AbstractCommand.java index 68575d2..0541a40 100644 --- a/src/main/java/netneutrality/command/AbstractCommand.java +++ b/src/main/java/netneutrality/command/AbstractCommand.java @@ -2,7 +2,7 @@ package netneutrality.command; import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Member; -import net.dv8tion.jda.api.entities.MessageChannel; +import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel; import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions; import netneutrality.core.context.MessageCommandContext; diff --git a/src/main/java/netneutrality/command/AbstractMusicCommand.java b/src/main/java/netneutrality/command/AbstractMusicCommand.java index 61ec61a..da44b66 100644 --- a/src/main/java/netneutrality/command/AbstractMusicCommand.java +++ b/src/main/java/netneutrality/command/AbstractMusicCommand.java @@ -6,7 +6,11 @@ package netneutrality.command; * https://discord.gg/CdFcyQ */ -import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.Role; +import net.dv8tion.jda.api.entities.channel.ChannelType; +import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel; import netneutrality.core.GuildManager; import netneutrality.db.GSettings; import netneutrality.utils.UserFunction; diff --git a/src/main/java/netneutrality/command/ICommand.java b/src/main/java/netneutrality/command/ICommand.java index bb8b86c..3cd2156 100644 --- a/src/main/java/netneutrality/command/ICommand.java +++ b/src/main/java/netneutrality/command/ICommand.java @@ -8,7 +8,7 @@ package netneutrality.command; import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Member; -import net.dv8tion.jda.api.entities.MessageChannel; +import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel; import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions; import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import netneutrality.core.context.MessageCommandContext; diff --git a/src/main/java/netneutrality/command/admin/PurgeCommand.java b/src/main/java/netneutrality/command/admin/PurgeCommand.java index a4ddd6d..2d43587 100644 --- a/src/main/java/netneutrality/command/admin/PurgeCommand.java +++ b/src/main/java/netneutrality/command/admin/PurgeCommand.java @@ -6,7 +6,7 @@ package netneutrality.command.admin; * https://discord.gg/CdFcyQ */ -import net.dv8tion.jda.api.entities.GuildMessageChannel; +import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel; import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions; import net.dv8tion.jda.api.interactions.commands.OptionMapping; import net.dv8tion.jda.api.interactions.commands.OptionType; diff --git a/src/main/java/netneutrality/command/bot/ConfigureCommand.java b/src/main/java/netneutrality/command/bot/ConfigureCommand.java index 42b1cc8..95a9939 100644 --- a/src/main/java/netneutrality/command/bot/ConfigureCommand.java +++ b/src/main/java/netneutrality/command/bot/ConfigureCommand.java @@ -7,7 +7,7 @@ package netneutrality.command.bot; */ import net.dv8tion.jda.api.entities.Role; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.entities.channel.unions.GuildChannelUnion; import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions; import net.dv8tion.jda.api.interactions.commands.OptionMapping; diff --git a/src/main/java/netneutrality/command/music/JoinCommand.java b/src/main/java/netneutrality/command/music/JoinCommand.java index 10d044a..8a3d7c0 100644 --- a/src/main/java/netneutrality/command/music/JoinCommand.java +++ b/src/main/java/netneutrality/command/music/JoinCommand.java @@ -7,7 +7,7 @@ package netneutrality.command.music; * https://discord.gg/CdFcyQ */ -import net.dv8tion.jda.api.entities.VoiceChannel; +import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel; import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import netneutrality.command.AbstractMusicCommand; import netneutrality.core.context.MessageCommandContext; diff --git a/src/main/java/netneutrality/core/BotState.java b/src/main/java/netneutrality/core/BotState.java index dd06023..705aa89 100644 --- a/src/main/java/netneutrality/core/BotState.java +++ b/src/main/java/netneutrality/core/BotState.java @@ -1,11 +1,4 @@ -package netneutrality.core;/* - * Copyright (c) anthorob - * - * https://xtremcommunity.com/ - * https://discord.gg/CdFcyQ - */ - - +package netneutrality.core; /* * Copyright (c) anthorob * @@ -13,7 +6,7 @@ package netneutrality.core;/* * https://discord.gg/CdFcyQ */ -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import netneutrality.music.MusicManager; import netneutrality.music.TrackScheduler; import org.json.JSONArray; diff --git a/src/main/java/netneutrality/core/GuildManager.java b/src/main/java/netneutrality/core/GuildManager.java index 32708b4..b96ce65 100644 --- a/src/main/java/netneutrality/core/GuildManager.java +++ b/src/main/java/netneutrality/core/GuildManager.java @@ -9,7 +9,7 @@ package netneutrality.core; import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Message; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import netneutrality.NetNeutrality; import netneutrality.db.DBController; import netneutrality.db.GSettings; @@ -84,14 +84,6 @@ public class GuildManager { return managers; } - public boolean isLoggingEnabled() { - return guildEntity.getLogging(); - } - - public boolean isDebugEnabled() { - return guildEntity.getDebug(); - } - public Guild getGuild() { return guild; } @@ -108,6 +100,15 @@ public class GuildManager { return settingsCache; } + // Methods + public boolean isLoggingEnabled() { + return guildEntity.getLogging(); + } + + public boolean isDebugEnabled() { + return guildEntity.getDebug(); + } + public String getSetting(GSettings setting) { String value = settingsCache.get(setting.getName()); @@ -196,7 +197,7 @@ public class GuildManager { public void checkAndLogMessage(Message message, Member member, TextChannel channel) { if (isLoggingEnabled()) { - ThreadManager.getExecutor("log-messages").submit(() -> DBController.get(DBMessage.class).log(this, channel, member, message)); + ThreadManager.getExecutor().submit(() -> DBController.get(DBMessage.class).log(this, channel, member, message)); } } diff --git a/src/main/java/netneutrality/core/LogHandler.java b/src/main/java/netneutrality/core/LogHandler.java index 3208447..990e4ca 100644 --- a/src/main/java/netneutrality/core/LogHandler.java +++ b/src/main/java/netneutrality/core/LogHandler.java @@ -8,7 +8,7 @@ package netneutrality.core; import io.sentry.Sentry; import net.dv8tion.jda.api.entities.Guild; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import netneutrality.core.context.CommandContext; import netneutrality.exceptions.CommandException; import netneutrality.exceptions.CommandExecutionException; diff --git a/src/main/java/netneutrality/core/context/CommandContext.java b/src/main/java/netneutrality/core/context/CommandContext.java index cf74a97..6ff37df 100644 --- a/src/main/java/netneutrality/core/context/CommandContext.java +++ b/src/main/java/netneutrality/core/context/CommandContext.java @@ -6,7 +6,11 @@ package netneutrality.core.context;/* */ import net.dv8tion.jda.api.JDA; -import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.User; +import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel; import net.dv8tion.jda.api.events.Event; import net.dv8tion.jda.api.utils.messages.MessageCreateData; import netneutrality.command.AbstractCommand; diff --git a/src/main/java/netneutrality/core/context/MessageCommandContext.java b/src/main/java/netneutrality/core/context/MessageCommandContext.java index 294ffcd..70f4b2e 100644 --- a/src/main/java/netneutrality/core/context/MessageCommandContext.java +++ b/src/main/java/netneutrality/core/context/MessageCommandContext.java @@ -10,6 +10,7 @@ import io.sentry.Breadcrumb; import io.sentry.Sentry; import net.dv8tion.jda.api.JDA; import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.utils.messages.MessageCreateData; import netneutrality.command.AbstractCommand; @@ -26,7 +27,7 @@ import java.util.concurrent.TimeUnit; public class MessageCommandContext implements CommandContext { - private static final ExecutorService commandExecutor = ThreadManager.getExecutor("command-execution", ThreadManager.ExecutorType.FIXED); + private static final ExecutorService commandExecutor = ThreadManager.getExecutor(); private AbstractCommand command; private final MessageReceivedEvent event; diff --git a/src/main/java/netneutrality/core/context/SlashCommandContext.java b/src/main/java/netneutrality/core/context/SlashCommandContext.java index bfab32e..f444eaf 100644 --- a/src/main/java/netneutrality/core/context/SlashCommandContext.java +++ b/src/main/java/netneutrality/core/context/SlashCommandContext.java @@ -7,7 +7,11 @@ package netneutrality.core.context;/* import io.sentry.Sentry; import net.dv8tion.jda.api.JDA; -import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.User; +import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel; import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent; import net.dv8tion.jda.api.interactions.InteractionHook; import net.dv8tion.jda.api.utils.messages.MessageCreateBuilder; diff --git a/src/main/java/netneutrality/db/controllers/DBMessage.java b/src/main/java/netneutrality/db/controllers/DBMessage.java index 84d2641..5b399cf 100644 --- a/src/main/java/netneutrality/db/controllers/DBMessage.java +++ b/src/main/java/netneutrality/db/controllers/DBMessage.java @@ -9,7 +9,7 @@ package netneutrality.db.controllers; import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Message; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import netneutrality.core.GuildManager; import netneutrality.db.AbstractController; import netneutrality.db.entities.OLogMessage; diff --git a/src/main/java/netneutrality/hooks/message/EditHandler.java b/src/main/java/netneutrality/hooks/message/EditHandler.java index 4637c14..befd9c1 100644 --- a/src/main/java/netneutrality/hooks/message/EditHandler.java +++ b/src/main/java/netneutrality/hooks/message/EditHandler.java @@ -7,7 +7,7 @@ package netneutrality.hooks.message; * https://discord.gg/CdFcyQ */ -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import net.dv8tion.jda.api.events.message.MessageUpdateEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; import netneutrality.core.GuildManager; diff --git a/src/main/java/netneutrality/hooks/message/MessageReceivedHandler.java b/src/main/java/netneutrality/hooks/message/MessageReceivedHandler.java index 9946879..31cd7e5 100644 --- a/src/main/java/netneutrality/hooks/message/MessageReceivedHandler.java +++ b/src/main/java/netneutrality/hooks/message/MessageReceivedHandler.java @@ -11,7 +11,7 @@ import io.sentry.Sentry; import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Member; 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.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; import netneutrality.command.AbstractCommand; diff --git a/src/main/java/netneutrality/music/MusicManager.java b/src/main/java/netneutrality/music/MusicManager.java index b9e25b8..3613295 100644 --- a/src/main/java/netneutrality/music/MusicManager.java +++ b/src/main/java/netneutrality/music/MusicManager.java @@ -15,12 +15,11 @@ import com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager import com.sedmelluq.discord.lavaplayer.track.AudioTrack; import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Member; -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 netneutrality.core.GuildManager; import netneutrality.core.LogHandler; import netneutrality.core.context.CommandContext; -import netneutrality.core.context.SlashCommandContext; import netneutrality.db.GSettings; import netneutrality.exceptions.CommandExecutionException; import netneutrality.music.loadable.LoadableSong; @@ -155,12 +154,6 @@ public class MusicManager { } } - public boolean restoreQueue(List track) { - //TODO: todo - - return false; - } - public synchronized void play(String url, CommandContext context, boolean needToBeConnected, boolean silent) { logger.debug("Guild {}: request to play {} by user {}", guild.getId(), url, context.getGuildUser().getId()); diff --git a/src/main/java/netneutrality/music/QueueManager.java b/src/main/java/netneutrality/music/QueueManager.java index 016ee5a..0901f4f 100644 --- a/src/main/java/netneutrality/music/QueueManager.java +++ b/src/main/java/netneutrality/music/QueueManager.java @@ -1,4 +1,5 @@ -package netneutrality.music;/* +package netneutrality.music; +/* * Copyright (c) anthorob * * https://xtremcommunity.com/ @@ -203,12 +204,7 @@ public class QueueManager { TrackInfo next = queue.peek(); if (next != null) { - if (last != null && last.getTrack().equals(next.getTrack())) { - logger.debug("Guild {}: duplicate track in queue found, skipping to next. last={}, next={}", guild.getId(), last.getTrack().getIdentifier(), next.getTrack().getIdentifier()); - startNextTrack(); - } else { - player.startTrack(next.getTrack(), false); - } + player.startTrack(next.getTrack().makeClone(), false); } else { player.stopTrack(); } diff --git a/src/main/java/netneutrality/music/TrackLoader.java b/src/main/java/netneutrality/music/TrackLoader.java index fff9fef..204a2df 100644 --- a/src/main/java/netneutrality/music/TrackLoader.java +++ b/src/main/java/netneutrality/music/TrackLoader.java @@ -16,6 +16,7 @@ import netneutrality.thread.ThreadManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.ArrayList; import java.util.List; public class TrackLoader implements Runnable { @@ -65,8 +66,11 @@ public class TrackLoader implements Runnable { @Override public void run() { + List copy = new ArrayList<>(songs); + for (LoadableSong song : songs) { if (loadingDisabled) { + copy.remove(song); break; } @@ -93,7 +97,7 @@ public class TrackLoader implements Runnable { audioPlayerManager.loadItemOrdered(this, identifier, loadingHandler); } else { - totalNumberOfTracks++; + copy.remove(song); if (songs.size() == 1) { context.replyToMessage("No source found to play the given url"); @@ -103,13 +107,13 @@ public class TrackLoader implements Runnable { try { synchronized (sync) { - while (!(songs.size() == totalNumberOfTracks)) { + while (!(copy.size() == totalNumberOfTracks)) { logger.debug("waiting for load; size={}, total={}, loaded={}", songs.size(), totalNumberOfTracks, numberOfTracksLoaded); sync.wait(); } //TODO: logic - if (songs.size() > 1 && source != null && !loadingDisabled) { + if (copy.size() > 1 && source != null && !loadingDisabled) { context.replyToMessage("Loaded %d of %d tracks from online source", numberOfTracksLoaded, totalNumberOfTracks); } } diff --git a/src/main/java/netneutrality/music/TrackScheduler.java b/src/main/java/netneutrality/music/TrackScheduler.java index 0b9c387..c738c4b 100644 --- a/src/main/java/netneutrality/music/TrackScheduler.java +++ b/src/main/java/netneutrality/music/TrackScheduler.java @@ -13,7 +13,7 @@ import com.sedmelluq.discord.lavaplayer.track.AudioTrack; import com.sedmelluq.discord.lavaplayer.track.AudioTrackEndReason; import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.MessageEmbed; -import net.dv8tion.jda.api.entities.TextChannel; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import netneutrality.core.LogHandler; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/netneutrality/thread/MusicPlayerAutoDisconnectThread.java b/src/main/java/netneutrality/thread/MusicPlayerAutoDisconnectThread.java index f24a2e6..4c65371 100644 --- a/src/main/java/netneutrality/thread/MusicPlayerAutoDisconnectThread.java +++ b/src/main/java/netneutrality/thread/MusicPlayerAutoDisconnectThread.java @@ -7,7 +7,7 @@ package netneutrality.thread;/* import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Member; -import net.dv8tion.jda.api.entities.VoiceChannel; +import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel; import netneutrality.NetNeutrality; import netneutrality.music.MusicManager; import org.slf4j.LoggerFactory; diff --git a/src/main/java/netneutrality/utils/ChannelMessagePurger.java b/src/main/java/netneutrality/utils/ChannelMessagePurger.java index 2cdd5ee..40aab16 100644 --- a/src/main/java/netneutrality/utils/ChannelMessagePurger.java +++ b/src/main/java/netneutrality/utils/ChannelMessagePurger.java @@ -10,9 +10,9 @@ import io.sentry.ISpan; import io.sentry.ITransaction; import io.sentry.Sentry; import io.sentry.SpanStatus; -import net.dv8tion.jda.api.entities.GuildMessageChannel; import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.entities.MessageHistory; +import net.dv8tion.jda.api.entities.channel.middleman.GuildMessageChannel; import net.dv8tion.jda.api.utils.messages.MessageCreateBuilder; import netneutrality.core.context.CommandContext; import netneutrality.thread.ThreadManager; @@ -50,7 +50,7 @@ public class ChannelMessagePurger { } public void purgeMessages(CommandContext context, int toPurge) { - ThreadManager.getExecutor("bulk-delete", ThreadManager.ExecutorType.FIXED).submit(() -> { + ThreadManager.getExecutor().submit(() -> { if (lock.tryLock()) { try { int total = countAllChannelMessages(channel); @@ -69,7 +69,7 @@ public class ChannelMessagePurger { } public void purgeChannel(CommandContext context) { - ThreadManager.getExecutor("bulk-delete", ThreadManager.ExecutorType.FIXED).submit(() -> { + ThreadManager.getExecutor().submit(() -> { if (lock.tryLock()) { try { int total = countAllChannelMessages(channel); diff --git a/src/main/java/netneutrality/utils/MessageFunction.java b/src/main/java/netneutrality/utils/MessageFunction.java index 8fbca70..cd90d77 100644 --- a/src/main/java/netneutrality/utils/MessageFunction.java +++ b/src/main/java/netneutrality/utils/MessageFunction.java @@ -11,7 +11,11 @@ import com.sedmelluq.discord.lavaplayer.track.AudioPlaylist; import com.sedmelluq.discord.lavaplayer.track.AudioTrack; import com.sedmelluq.discord.lavaplayer.track.AudioTrackInfo; import net.dv8tion.jda.api.EmbedBuilder; -import net.dv8tion.jda.api.entities.*; +import net.dv8tion.jda.api.entities.Member; +import net.dv8tion.jda.api.entities.Message; +import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.channel.ChannelType; +import net.dv8tion.jda.api.entities.channel.concrete.TextChannel; import netneutrality.command.AbstractCommand; import netneutrality.command.CommandType; import netneutrality.core.CommandManager; @@ -94,6 +98,20 @@ public class MessageFunction { return message.build(); } + public static MessageEmbed buildSearchResultsMessage(List tracks) { + EmbedBuilder message = new EmbedBuilder(); + + message.setTitle("Select the track to add to the queue"); + message.setColor(Color.BLUE); + + int i = 0; + for (AudioTrack track : tracks) { + message.addField(++i + ": ", String.format("**`%s`**", track.getInfo().title), false); + } + + return message.build(); + } + public static MessageEmbed buildAddingPlaylistMessage(AudioPlaylist playlist, String identifier, SourceFinder.AudioSourceType type) { EmbedBuilder message = new EmbedBuilder(); String url = identifier; diff --git a/src/main/java/netneutrality/utils/MusicUtils.java b/src/main/java/netneutrality/utils/MusicUtils.java index dbee39b..3f5fa2a 100644 --- a/src/main/java/netneutrality/utils/MusicUtils.java +++ b/src/main/java/netneutrality/utils/MusicUtils.java @@ -7,7 +7,7 @@ package netneutrality.utils; */ import net.dv8tion.jda.api.entities.Member; -import net.dv8tion.jda.api.entities.VoiceChannel; +import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel; import netneutrality.core.context.CommandContext; import netneutrality.exceptions.CommandExecutionException; import netneutrality.music.MusicManager; diff --git a/src/main/java/netneutrality/utils/UserFunction.java b/src/main/java/netneutrality/utils/UserFunction.java index 8eee156..cb33152 100644 --- a/src/main/java/netneutrality/utils/UserFunction.java +++ b/src/main/java/netneutrality/utils/UserFunction.java @@ -7,13 +7,6 @@ import net.dv8tion.jda.api.entities.Role; public class UserFunction { public static boolean isAdmin(Member user) { - - // This check will only be present during the development of the bot - String creatorId = Settings.getInstance().getCreatorId(); - if (creatorId != null && user.getId().equals(creatorId)) { - return true; - } - boolean isAdmin = false; for(Role role : user.getRoles()) { if (role.getPermissions().contains(Permission.MANAGE_SERVER) || role.getPermissions().contains(Permission.ADMINISTRATOR))