Update to latest alpha and make clone of track when playing next

This commit is contained in:
anthorob committed 2023-02-06 17:17:23 -05:00
1 parent 90455b90c3
commit d3683cc638
26 files changed
+79 -69

No files matched your search

+1 -1
View File
@@ -108,7 +108,7 @@
<dependency> <dependency>
<groupId>net.dv8tion</groupId> <groupId>net.dv8tion</groupId>
<artifactId>JDA</artifactId> <artifactId>JDA</artifactId>
<version>5.0.0-alpha.18</version> <version>5.0.0-alpha.22</version>
</dependency> </dependency>
<!-- <dependency>--> <!-- <dependency>-->
<!-- <groupId>com.sedmelluq</groupId>--> <!-- <groupId>com.sedmelluq</groupId>-->
@@ -5,6 +5,7 @@ import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.JDABuilder; import net.dv8tion.jda.api.JDABuilder;
import net.dv8tion.jda.api.entities.Activity; import net.dv8tion.jda.api.entities.Activity;
import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.entities.User;
import net.dv8tion.jda.api.exceptions.InvalidTokenException;
import net.dv8tion.jda.api.requests.GatewayIntent; import net.dv8tion.jda.api.requests.GatewayIntent;
import netneutrality.core.CommandManager; import netneutrality.core.CommandManager;
import netneutrality.core.LogHandler; import netneutrality.core.LogHandler;
@@ -24,8 +25,6 @@ import org.apache.logging.log4j.core.config.Configurator;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import javax.security.auth.login.LoginException;
public class NetNeutrality { public class NetNeutrality {
private static JDA jda; private static JDA jda;
@@ -68,7 +67,7 @@ public class NetNeutrality {
.setActivity(Activity.watching("me load...")) .setActivity(Activity.watching("me load..."))
.build(); .build();
jda.awaitReady(); jda.awaitReady();
} catch (LoginException | IllegalArgumentException | InterruptedException e) { } catch (InvalidTokenException | IllegalArgumentException | InterruptedException e) {
Sentry.captureException(e); Sentry.captureException(e);
LogHandler.log(e); LogHandler.log(e);
@@ -2,7 +2,7 @@ package netneutrality.command;
import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Member; 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.DefaultMemberPermissions;
import netneutrality.core.context.MessageCommandContext; import netneutrality.core.context.MessageCommandContext;
@@ -6,7 +6,11 @@ package netneutrality.command;
* https://discord.gg/CdFcyQ * 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.core.GuildManager;
import netneutrality.db.GSettings; import netneutrality.db.GSettings;
import netneutrality.utils.UserFunction; import netneutrality.utils.UserFunction;
@@ -8,7 +8,7 @@ package netneutrality.command;
import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Member; 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.DefaultMemberPermissions;
import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData; import net.dv8tion.jda.api.interactions.commands.build.SlashCommandData;
import netneutrality.core.context.MessageCommandContext; import netneutrality.core.context.MessageCommandContext;
@@ -6,7 +6,7 @@ package netneutrality.command.admin;
* https://discord.gg/CdFcyQ * 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.DefaultMemberPermissions;
import net.dv8tion.jda.api.interactions.commands.OptionMapping; import net.dv8tion.jda.api.interactions.commands.OptionMapping;
import net.dv8tion.jda.api.interactions.commands.OptionType; import net.dv8tion.jda.api.interactions.commands.OptionType;
@@ -7,7 +7,7 @@ package netneutrality.command.bot;
*/ */
import net.dv8tion.jda.api.entities.Role; 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.entities.channel.unions.GuildChannelUnion;
import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions; import net.dv8tion.jda.api.interactions.commands.DefaultMemberPermissions;
import net.dv8tion.jda.api.interactions.commands.OptionMapping; import net.dv8tion.jda.api.interactions.commands.OptionMapping;
@@ -7,7 +7,7 @@ package netneutrality.command.music;
* https://discord.gg/CdFcyQ * 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 net.dv8tion.jda.api.interactions.commands.build.SlashCommandData;
import netneutrality.command.AbstractMusicCommand; import netneutrality.command.AbstractMusicCommand;
import netneutrality.core.context.MessageCommandContext; import netneutrality.core.context.MessageCommandContext;
@@ -1,11 +1,4 @@
package netneutrality.core;/* package netneutrality.core;
* Copyright (c) anthorob
*
* https://xtremcommunity.com/
* https://discord.gg/CdFcyQ
*/
/* /*
* Copyright (c) anthorob * Copyright (c) anthorob
* *
@@ -13,7 +6,7 @@ package netneutrality.core;/*
* https://discord.gg/CdFcyQ * 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.MusicManager;
import netneutrality.music.TrackScheduler; import netneutrality.music.TrackScheduler;
import org.json.JSONArray; import org.json.JSONArray;
@@ -9,7 +9,7 @@ package netneutrality.core;
import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.Message; 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.NetNeutrality;
import netneutrality.db.DBController; import netneutrality.db.DBController;
import netneutrality.db.GSettings; import netneutrality.db.GSettings;
@@ -84,14 +84,6 @@ public class GuildManager {
return managers; return managers;
} }
public boolean isLoggingEnabled() {
return guildEntity.getLogging();
}
public boolean isDebugEnabled() {
return guildEntity.getDebug();
}
public Guild getGuild() { public Guild getGuild() {
return guild; return guild;
} }
@@ -108,6 +100,15 @@ public class GuildManager {
return settingsCache; return settingsCache;
} }
// Methods
public boolean isLoggingEnabled() {
return guildEntity.getLogging();
}
public boolean isDebugEnabled() {
return guildEntity.getDebug();
}
public String getSetting(GSettings setting) { public String getSetting(GSettings setting) {
String value = settingsCache.get(setting.getName()); String value = settingsCache.get(setting.getName());
@@ -196,7 +197,7 @@ public class GuildManager {
public void checkAndLogMessage(Message message, Member member, TextChannel channel) { public void checkAndLogMessage(Message message, Member member, TextChannel channel) {
if (isLoggingEnabled()) { 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));
} }
} }
@@ -8,7 +8,7 @@ package netneutrality.core;
import io.sentry.Sentry; import io.sentry.Sentry;
import net.dv8tion.jda.api.entities.Guild; 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.core.context.CommandContext;
import netneutrality.exceptions.CommandException; import netneutrality.exceptions.CommandException;
import netneutrality.exceptions.CommandExecutionException; import netneutrality.exceptions.CommandExecutionException;
@@ -6,7 +6,11 @@ package netneutrality.core.context;/*
*/ */
import net.dv8tion.jda.api.JDA; 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.events.Event;
import net.dv8tion.jda.api.utils.messages.MessageCreateData; import net.dv8tion.jda.api.utils.messages.MessageCreateData;
import netneutrality.command.AbstractCommand; import netneutrality.command.AbstractCommand;
@@ -10,6 +10,7 @@ import io.sentry.Breadcrumb;
import io.sentry.Sentry; import io.sentry.Sentry;
import net.dv8tion.jda.api.JDA; import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.entities.*; 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.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.utils.messages.MessageCreateData; import net.dv8tion.jda.api.utils.messages.MessageCreateData;
import netneutrality.command.AbstractCommand; import netneutrality.command.AbstractCommand;
@@ -26,7 +27,7 @@ import java.util.concurrent.TimeUnit;
public class MessageCommandContext implements CommandContext { 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 AbstractCommand command;
private final MessageReceivedEvent event; private final MessageReceivedEvent event;
@@ -7,7 +7,11 @@ package netneutrality.core.context;/*
import io.sentry.Sentry; import io.sentry.Sentry;
import net.dv8tion.jda.api.JDA; 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.events.interaction.command.SlashCommandInteractionEvent;
import net.dv8tion.jda.api.interactions.InteractionHook; import net.dv8tion.jda.api.interactions.InteractionHook;
import net.dv8tion.jda.api.utils.messages.MessageCreateBuilder; import net.dv8tion.jda.api.utils.messages.MessageCreateBuilder;
@@ -9,7 +9,7 @@ package netneutrality.db.controllers;
import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.Message; 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.core.GuildManager;
import netneutrality.db.AbstractController; import netneutrality.db.AbstractController;
import netneutrality.db.entities.OLogMessage; import netneutrality.db.entities.OLogMessage;
@@ -7,7 +7,7 @@ package netneutrality.hooks.message;
* https://discord.gg/CdFcyQ * 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.events.message.MessageUpdateEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter; import net.dv8tion.jda.api.hooks.ListenerAdapter;
import netneutrality.core.GuildManager; import netneutrality.core.GuildManager;
@@ -11,7 +11,7 @@ import io.sentry.Sentry;
import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.Message; 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.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter; import net.dv8tion.jda.api.hooks.ListenerAdapter;
import netneutrality.command.AbstractCommand; import netneutrality.command.AbstractCommand;
@@ -15,12 +15,11 @@ import com.sedmelluq.discord.lavaplayer.source.youtube.YoutubeAudioSourceManager
import com.sedmelluq.discord.lavaplayer.track.AudioTrack; import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Member; import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.TextChannel; import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
import net.dv8tion.jda.api.entities.VoiceChannel; import net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel;
import netneutrality.core.GuildManager; import netneutrality.core.GuildManager;
import netneutrality.core.LogHandler; import netneutrality.core.LogHandler;
import netneutrality.core.context.CommandContext; import netneutrality.core.context.CommandContext;
import netneutrality.core.context.SlashCommandContext;
import netneutrality.db.GSettings; import netneutrality.db.GSettings;
import netneutrality.exceptions.CommandExecutionException; import netneutrality.exceptions.CommandExecutionException;
import netneutrality.music.loadable.LoadableSong; import netneutrality.music.loadable.LoadableSong;
@@ -155,12 +154,6 @@ public class MusicManager {
} }
} }
public boolean restoreQueue(List<String> track) {
//TODO: todo
return false;
}
public synchronized void play(String url, CommandContext context, boolean needToBeConnected, boolean silent) { 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()); logger.debug("Guild {}: request to play {} by user {}", guild.getId(), url, context.getGuildUser().getId());
@@ -1,4 +1,5 @@
package netneutrality.music;/* package netneutrality.music;
/*
* Copyright (c) anthorob * Copyright (c) anthorob
* *
* https://xtremcommunity.com/ * https://xtremcommunity.com/
@@ -203,12 +204,7 @@ public class QueueManager {
TrackInfo next = queue.peek(); TrackInfo next = queue.peek();
if (next != null) { if (next != null) {
if (last != null && last.getTrack().equals(next.getTrack())) { player.startTrack(next.getTrack().makeClone(), false);
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);
}
} else { } else {
player.stopTrack(); player.stopTrack();
} }
@@ -16,6 +16,7 @@ import netneutrality.thread.ThreadManager;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List; import java.util.List;
public class TrackLoader implements Runnable { public class TrackLoader implements Runnable {
@@ -65,8 +66,11 @@ public class TrackLoader implements Runnable {
@Override @Override
public void run() { public void run() {
List<LoadableSong> copy = new ArrayList<>(songs);
for (LoadableSong song : songs) { for (LoadableSong song : songs) {
if (loadingDisabled) { if (loadingDisabled) {
copy.remove(song);
break; break;
} }
@@ -93,7 +97,7 @@ public class TrackLoader implements Runnable {
audioPlayerManager.loadItemOrdered(this, identifier, loadingHandler); audioPlayerManager.loadItemOrdered(this, identifier, loadingHandler);
} else { } else {
totalNumberOfTracks++; copy.remove(song);
if (songs.size() == 1) { if (songs.size() == 1) {
context.replyToMessage("No source found to play the given url"); context.replyToMessage("No source found to play the given url");
@@ -103,13 +107,13 @@ public class TrackLoader implements Runnable {
try { try {
synchronized (sync) { synchronized (sync) {
while (!(songs.size() == totalNumberOfTracks)) { while (!(copy.size() == totalNumberOfTracks)) {
logger.debug("waiting for load; size={}, total={}, loaded={}", songs.size(), totalNumberOfTracks, numberOfTracksLoaded); logger.debug("waiting for load; size={}, total={}, loaded={}", songs.size(), totalNumberOfTracks, numberOfTracksLoaded);
sync.wait(); sync.wait();
} }
//TODO: logic //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); context.replyToMessage("Loaded %d of %d tracks from online source", numberOfTracksLoaded, totalNumberOfTracks);
} }
} }
@@ -13,7 +13,7 @@ import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
import com.sedmelluq.discord.lavaplayer.track.AudioTrackEndReason; import com.sedmelluq.discord.lavaplayer.track.AudioTrackEndReason;
import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.MessageEmbed; 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 netneutrality.core.LogHandler;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -7,7 +7,7 @@ package netneutrality.thread;/*
import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Member; 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.NetNeutrality;
import netneutrality.music.MusicManager; import netneutrality.music.MusicManager;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -10,9 +10,9 @@ import io.sentry.ISpan;
import io.sentry.ITransaction; import io.sentry.ITransaction;
import io.sentry.Sentry; import io.sentry.Sentry;
import io.sentry.SpanStatus; import io.sentry.SpanStatus;
import net.dv8tion.jda.api.entities.GuildMessageChannel;
import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.entities.MessageHistory; 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 net.dv8tion.jda.api.utils.messages.MessageCreateBuilder;
import netneutrality.core.context.CommandContext; import netneutrality.core.context.CommandContext;
import netneutrality.thread.ThreadManager; import netneutrality.thread.ThreadManager;
@@ -50,7 +50,7 @@ public class ChannelMessagePurger {
} }
public void purgeMessages(CommandContext context, int toPurge) { public void purgeMessages(CommandContext context, int toPurge) {
ThreadManager.getExecutor("bulk-delete", ThreadManager.ExecutorType.FIXED).submit(() -> { ThreadManager.getExecutor().submit(() -> {
if (lock.tryLock()) { if (lock.tryLock()) {
try { try {
int total = countAllChannelMessages(channel); int total = countAllChannelMessages(channel);
@@ -69,7 +69,7 @@ public class ChannelMessagePurger {
} }
public void purgeChannel(CommandContext context) { public void purgeChannel(CommandContext context) {
ThreadManager.getExecutor("bulk-delete", ThreadManager.ExecutorType.FIXED).submit(() -> { ThreadManager.getExecutor().submit(() -> {
if (lock.tryLock()) { if (lock.tryLock()) {
try { try {
int total = countAllChannelMessages(channel); int total = countAllChannelMessages(channel);
@@ -11,7 +11,11 @@ import com.sedmelluq.discord.lavaplayer.track.AudioPlaylist;
import com.sedmelluq.discord.lavaplayer.track.AudioTrack; import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
import com.sedmelluq.discord.lavaplayer.track.AudioTrackInfo; import com.sedmelluq.discord.lavaplayer.track.AudioTrackInfo;
import net.dv8tion.jda.api.EmbedBuilder; 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.AbstractCommand;
import netneutrality.command.CommandType; import netneutrality.command.CommandType;
import netneutrality.core.CommandManager; import netneutrality.core.CommandManager;
@@ -94,6 +98,20 @@ public class MessageFunction {
return message.build(); return message.build();
} }
public static MessageEmbed buildSearchResultsMessage(List<AudioTrack> 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) { public static MessageEmbed buildAddingPlaylistMessage(AudioPlaylist playlist, String identifier, SourceFinder.AudioSourceType type) {
EmbedBuilder message = new EmbedBuilder(); EmbedBuilder message = new EmbedBuilder();
String url = identifier; String url = identifier;
@@ -7,7 +7,7 @@ package netneutrality.utils;
*/ */
import net.dv8tion.jda.api.entities.Member; 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.core.context.CommandContext;
import netneutrality.exceptions.CommandExecutionException; import netneutrality.exceptions.CommandExecutionException;
import netneutrality.music.MusicManager; import netneutrality.music.MusicManager;
@@ -7,13 +7,6 @@ import net.dv8tion.jda.api.entities.Role;
public class UserFunction { public class UserFunction {
public static boolean isAdmin(Member user) { 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; boolean isAdmin = false;
for(Role role : user.getRoles()) { for(Role role : user.getRoles()) {
if (role.getPermissions().contains(Permission.MANAGE_SERVER) || role.getPermissions().contains(Permission.ADMINISTRATOR)) if (role.getPermissions().contains(Permission.MANAGE_SERVER) || role.getPermissions().contains(Permission.ADMINISTRATOR))