Add new alias for delete queue and improve logic
This commit is contained in:
1 parent
6cceb7da16
commit
afb4bd9e89
12 files changed
+196
-95
No files matched your search
@@ -4,9 +4,10 @@ BOT_PREFIX=
|
|||||||
BOT_OWNER=
|
BOT_OWNER=
|
||||||
BOT_PAPISID=
|
BOT_PAPISID=
|
||||||
BOT_PSID=
|
BOT_PSID=
|
||||||
|
API_PORT=9000
|
||||||
|
|
||||||
MYSQL_HOST=
|
MYSQL_HOST=127.0.0.1
|
||||||
MYSQL_USER=
|
MYSQL_USER=root
|
||||||
MYSQL_PASSWORD=
|
MYSQL_PASSWORD=
|
||||||
MYSQL_DATABASE=
|
MYSQL_DATABASE=
|
||||||
MYSQL_PORT=3306
|
MYSQL_PORT=3306
|
||||||
|
|||||||
@@ -99,6 +99,12 @@
|
|||||||
</repositories>
|
</repositories>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-assembly-plugin</artifactId>
|
||||||
|
<version>3.3.0</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.dv8tion</groupId>
|
<groupId>net.dv8tion</groupId>
|
||||||
<artifactId>JDA</artifactId>
|
<artifactId>JDA</artifactId>
|
||||||
@@ -118,7 +124,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.squareup.okhttp3</groupId>
|
<groupId>com.squareup.okhttp3</groupId>
|
||||||
<artifactId>okhttp</artifactId>
|
<artifactId>okhttp</artifactId>
|
||||||
<version>4.9.3</version>
|
<version>4.10.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
@@ -134,7 +140,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.sentry</groupId>
|
<groupId>io.sentry</groupId>
|
||||||
<artifactId>sentry</artifactId>
|
<artifactId>sentry</artifactId>
|
||||||
<version>5.6.3</version>
|
<version>6.0.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>p6spy</groupId>
|
<groupId>p6spy</groupId>
|
||||||
@@ -146,7 +152,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.json</groupId>
|
<groupId>org.json</groupId>
|
||||||
<artifactId>json</artifactId>
|
<artifactId>json</artifactId>
|
||||||
<version>20210307</version>
|
<version>20220320</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
@@ -158,17 +164,17 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>mysql</groupId>
|
<groupId>mysql</groupId>
|
||||||
<artifactId>mysql-connector-java</artifactId>
|
<artifactId>mysql-connector-java</artifactId>
|
||||||
<version>8.0.28</version>
|
<version>8.0.29</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.logging.log4j</groupId>
|
<groupId>org.apache.logging.log4j</groupId>
|
||||||
<artifactId>log4j-core</artifactId>
|
<artifactId>log4j-core</artifactId>
|
||||||
<version>2.17.1</version>
|
<version>2.17.2</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.logging.log4j</groupId>
|
<groupId>org.apache.logging.log4j</groupId>
|
||||||
<artifactId>log4j-slf4j-impl</artifactId>
|
<artifactId>log4j-slf4j-impl</artifactId>
|
||||||
<version>2.17.1</version>
|
<version>2.17.2</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
@@ -176,6 +182,12 @@
|
|||||||
<artifactId>commons-lang3</artifactId>
|
<artifactId>commons-lang3</artifactId>
|
||||||
<version>3.12.0</version>
|
<version>3.12.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>commons-codec</groupId>
|
||||||
|
<artifactId>commons-codec</artifactId>
|
||||||
|
<version>1.15</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>junit</groupId>
|
<groupId>junit</groupId>
|
||||||
<artifactId>junit</artifactId>
|
<artifactId>junit</artifactId>
|
||||||
@@ -185,7 +197,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.openjdk.nashorn</groupId>
|
<groupId>org.openjdk.nashorn</groupId>
|
||||||
<artifactId>nashorn-core</artifactId>
|
<artifactId>nashorn-core</artifactId>
|
||||||
<version>15.3</version>
|
<version>15.4</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,3 @@
|
|||||||
-- phpMyAdmin SQL Dump
|
|
||||||
-- version 5.1.0
|
|
||||||
-- https://www.phpmyadmin.net/
|
|
||||||
--
|
|
||||||
-- Host: 127.0.0.1:3306
|
|
||||||
-- Generation Time: Mar 14, 2022 at 08:59 AM
|
|
||||||
-- Server version: 10.4.10-MariaDB
|
|
||||||
-- PHP Version: 7.4.19
|
|
||||||
|
|
||||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||||
START TRANSACTION;
|
START TRANSACTION;
|
||||||
SET time_zone = "+00:00";
|
SET time_zone = "+00:00";
|
||||||
@@ -20,7 +11,9 @@ SET time_zone = "+00:00";
|
|||||||
--
|
--
|
||||||
-- Database: `netneutrality`
|
-- Database: `netneutrality`
|
||||||
--
|
--
|
||||||
|
CREATE DATABASE IF NOT EXISTS netneutrality CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||||
|
|
||||||
|
USE netneutrality;
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ public class NetNeutrality {
|
|||||||
options.setEnvironment(env);
|
options.setEnvironment(env);
|
||||||
options.setTracesSampleRate(1.0);
|
options.setTracesSampleRate(1.0);
|
||||||
options.setDebug(env.equals("dev"));
|
options.setDebug(env.equals("dev"));
|
||||||
|
options.setRelease("[email protected]");
|
||||||
});
|
});
|
||||||
|
|
||||||
if ("dev".equals(env)) {
|
if ("dev".equals(env)) {
|
||||||
@@ -49,7 +50,7 @@ public class NetNeutrality {
|
|||||||
CommandManager.init();
|
CommandManager.init();
|
||||||
MusicManager.initPlayerManager();
|
MusicManager.initPlayerManager();
|
||||||
jda.addEventListener(new MessageReceivedHandler(), new EditHandler(), new ServerJoinHandler());
|
jda.addEventListener(new MessageReceivedHandler(), new EditHandler(), new ServerJoinHandler());
|
||||||
new WebApi(9000);
|
new WebApi(Integer.parseInt(Settings.getInstance().get("API_PORT", "9000")));
|
||||||
jda.getPresence().setActivity(Activity.watching("you"));
|
jda.getPresence().setActivity(Activity.watching("you"));
|
||||||
|
|
||||||
Runtime.getRuntime().addShutdownHook(new BaseThreadFactory("shutdown").newThread(new ShutdownThread()));
|
Runtime.getRuntime().addShutdownHook(new BaseThreadFactory("shutdown").newThread(new ShutdownThread()));
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ public class DeleteQueueCommand extends AbstractMusicCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] getAlias() {
|
public String[] getAlias() {
|
||||||
return new String[] {"delq", "delqueue"};
|
return new String[] {"delq", "delqueue", "clear"};
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -67,8 +67,7 @@ public class DeleteQueueCommand extends AbstractMusicCommand {
|
|||||||
if (context.getArg(0).equals("all")) {
|
if (context.getArg(0).equals("all")) {
|
||||||
|
|
||||||
if (queueSize > 0) {
|
if (queueSize > 0) {
|
||||||
player.leave();
|
player.getScheduler().getQueueManager().clearQueue();
|
||||||
player.getScheduler().getQueueManager().getQueue().clear();
|
|
||||||
context.reply(String.format("Removed %d track%s from the queue", queueSize--, (queueSize > 1 ? "s" : "")));
|
context.reply(String.format("Removed %d track%s from the queue", queueSize--, (queueSize > 1 ? "s" : "")));
|
||||||
} else {
|
} else {
|
||||||
context.reply("Queue is empty!");
|
context.reply("Queue is empty!");
|
||||||
|
|||||||
@@ -47,13 +47,14 @@ public class MusicManager {
|
|||||||
private final Guild guild;
|
private final Guild guild;
|
||||||
private final AudioPlayer player;
|
private final AudioPlayer player;
|
||||||
private final TrackScheduler scheduler;
|
private final TrackScheduler scheduler;
|
||||||
|
private TrackLoadingHandler lastLoadingHandler;
|
||||||
private ScheduledFuture<?> autoDisconnectThread;
|
private ScheduledFuture<?> autoDisconnectThread;
|
||||||
private final int baseVolume;
|
private final int baseVolume;
|
||||||
|
|
||||||
private MusicManager(Guild guild) {
|
private MusicManager(Guild guild) {
|
||||||
this.guild = guild;
|
this.guild = guild;
|
||||||
this.player = playerManager.createPlayer();
|
this.player = playerManager.createPlayer();
|
||||||
this.scheduler = new TrackScheduler(player, guild);
|
this.scheduler = new TrackScheduler(this);
|
||||||
this.baseVolume = Integer.parseInt(GuildManager.getManager(guild).getSetting(GuildManager.Settings.MUSIC_VOLUME));
|
this.baseVolume = Integer.parseInt(GuildManager.getManager(guild).getSetting(GuildManager.Settings.MUSIC_VOLUME));
|
||||||
|
|
||||||
guild.getAudioManager().setSendingHandler(new AudioPlayerSendHandler(player));
|
guild.getAudioManager().setSendingHandler(new AudioPlayerSendHandler(player));
|
||||||
@@ -117,10 +118,18 @@ public class MusicManager {
|
|||||||
return info.getRequester();
|
return info.getRequester();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected AudioPlayer getPlayer() {
|
||||||
|
return player;
|
||||||
|
}
|
||||||
|
|
||||||
public Guild getGuild() {
|
public Guild getGuild() {
|
||||||
return guild;
|
return guild;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public TrackLoadingHandler getLastLoadingHandler() {
|
||||||
|
return lastLoadingHandler;
|
||||||
|
}
|
||||||
|
|
||||||
public synchronized void leave() {
|
public synchronized void leave() {
|
||||||
if (isConnected()) {
|
if (isConnected()) {
|
||||||
logger.debug("Guild {}: leaving voice channel {}", guild.getId(), guild.getAudioManager().getConnectedChannel().getId());
|
logger.debug("Guild {}: leaving voice channel {}", guild.getId(), guild.getAudioManager().getConnectedChannel().getId());
|
||||||
@@ -183,64 +192,8 @@ public class MusicManager {
|
|||||||
scheduler.getTopicManager().attachTextChannel(channel);
|
scheduler.getTopicManager().attachTextChannel(channel);
|
||||||
|
|
||||||
if (identifier != null) {
|
if (identifier != null) {
|
||||||
playerManager.loadItemOrdered(this, identifier, new AudioLoadResultHandler() {
|
lastLoadingHandler = new TrackLoadingHandler(identifier, silent, this, context);
|
||||||
|
playerManager.loadItemOrdered(this, identifier, lastLoadingHandler);
|
||||||
@Override
|
|
||||||
public void trackLoaded(AudioTrack audioTrack) {
|
|
||||||
logger.debug("Guild {}: track loaded: {}", guild.getId(), identifier);
|
|
||||||
context.deleteMessage();
|
|
||||||
|
|
||||||
scheduler.getQueueManager().queue(audioTrack, member);
|
|
||||||
|
|
||||||
if (!silent) {
|
|
||||||
//context.replyToMessage("Added track to queue");
|
|
||||||
context.reply(MessageFunction.buildAddingTrackMessage(audioTrack, member, identifier));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void playlistLoaded(AudioPlaylist audioPlaylist) {
|
|
||||||
logger.debug("Guild {}: playlist loaded: {}", guild.getId(), identifier);
|
|
||||||
context.deleteMessage();
|
|
||||||
|
|
||||||
if (audioPlaylist.isSearchResult()) {
|
|
||||||
AudioTrack track = audioPlaylist.getTracks().get(0);
|
|
||||||
scheduler.getQueueManager().queue(track, member);
|
|
||||||
|
|
||||||
if (!silent) {
|
|
||||||
//context.replyToMessage(new MessageBuilder("Added track to queue: ").append(String.format("https://youtu.be/%s", track.getIdentifier())).build());
|
|
||||||
context.reply(MessageFunction.buildAddingTrackMessage(track, member, String.format("https://youtu.be/%s", track.getIdentifier())));
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
if (!silent) {
|
|
||||||
//context.replyToMessage("Added playlist to queue");
|
|
||||||
context.reply(MessageFunction.buildAddingPlaylistMessage(audioPlaylist, member, identifier));
|
|
||||||
}
|
|
||||||
|
|
||||||
for (AudioTrack track : audioPlaylist.getTracks()) {
|
|
||||||
synchronized (scheduler.getQueueManager().getQueue()) {
|
|
||||||
scheduler.getQueueManager().queue(track, member);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void noMatches() {
|
|
||||||
logger.debug("Guild {}: no matches for identifier {}", guild.getId(), identifier);
|
|
||||||
context.replyToMessage("No matches found");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void loadFailed(FriendlyException e) {
|
|
||||||
logger.debug("Guild {}: load failed for identifier {}", guild.getId(), identifier, e);
|
|
||||||
context.replyToMessage("Failed to load track: " + e.getMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
context.replyToMessage("No source found to play the given url");
|
context.replyToMessage("No source found to play the given url");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -87,13 +87,16 @@ public class QueueManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private final Logger logger = LoggerFactory.getLogger(QueueManager.class);
|
private final Logger logger = LoggerFactory.getLogger(QueueManager.class);
|
||||||
|
|
||||||
|
private final TrackScheduler scheduler;
|
||||||
private final AudioPlayer player;
|
private final AudioPlayer player;
|
||||||
private final Guild guild;
|
private final Guild guild;
|
||||||
private final Deque<TrackInfo> queue;
|
private final Deque<TrackInfo> queue;
|
||||||
|
|
||||||
public QueueManager(AudioPlayer player, Guild guild) {
|
public QueueManager(TrackScheduler scheduler) {
|
||||||
this.player = player;
|
this.scheduler = scheduler;
|
||||||
this.guild = guild;
|
this.player = scheduler.getPlayer();
|
||||||
|
this.guild = scheduler.getGuild();
|
||||||
|
|
||||||
this.queue = new LinkedBlockingDeque<>();
|
this.queue = new LinkedBlockingDeque<>();
|
||||||
}
|
}
|
||||||
@@ -104,10 +107,23 @@ public class QueueManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public TrackScheduler getScheduler() {
|
||||||
|
return scheduler;
|
||||||
|
}
|
||||||
|
|
||||||
public Guild getGuild() {
|
public Guild getGuild() {
|
||||||
return guild;
|
return guild;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void clearQueue() {
|
||||||
|
scheduler.getMusicManager().leave();
|
||||||
|
scheduler.getMusicManager().getLastLoadingHandler().stopLoading();
|
||||||
|
|
||||||
|
synchronized (queue) {
|
||||||
|
queue.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public ArrayList<AudioTrack> getAllQueuedTrack() {
|
public ArrayList<AudioTrack> getAllQueuedTrack() {
|
||||||
synchronized (queue) {
|
synchronized (queue) {
|
||||||
ArrayList<AudioTrack> tracks = new ArrayList<>();
|
ArrayList<AudioTrack> tracks = new ArrayList<>();
|
||||||
|
|||||||
@@ -15,12 +15,18 @@ import java.util.concurrent.TimeUnit;
|
|||||||
|
|
||||||
public class TopicManager {
|
public class TopicManager {
|
||||||
|
|
||||||
|
private final TrackScheduler scheduler;
|
||||||
private final Guild guild;
|
private final Guild guild;
|
||||||
private TextChannel channel;
|
private TextChannel channel;
|
||||||
private String originalTopic;
|
private String originalTopic;
|
||||||
|
|
||||||
public TopicManager(Guild guild) {
|
public TopicManager(TrackScheduler scheduler) {
|
||||||
this.guild = guild;
|
this.scheduler = scheduler;
|
||||||
|
this.guild = scheduler.getGuild();
|
||||||
|
}
|
||||||
|
|
||||||
|
public TrackScheduler getScheduler() {
|
||||||
|
return scheduler;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Guild getGuild() {
|
public Guild getGuild() {
|
||||||
|
|||||||
@@ -0,0 +1,105 @@
|
|||||||
|
package netneutrality.music;
|
||||||
|
/*
|
||||||
|
* Copyright (c) anthorob
|
||||||
|
*
|
||||||
|
* https://xtremcommunity.com/
|
||||||
|
* https://discord.gg/CdFcyQ
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
import com.sedmelluq.discord.lavaplayer.player.AudioLoadResultHandler;
|
||||||
|
import com.sedmelluq.discord.lavaplayer.tools.FriendlyException;
|
||||||
|
import com.sedmelluq.discord.lavaplayer.track.AudioPlaylist;
|
||||||
|
import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
|
||||||
|
import net.dv8tion.jda.api.entities.Guild;
|
||||||
|
import netneutrality.core.context.CommandContext;
|
||||||
|
import netneutrality.utils.MessageFunction;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
public class TrackLoadingHandler implements AudioLoadResultHandler {
|
||||||
|
private final Logger logger = LoggerFactory.getLogger(TrackLoadingHandler.class);
|
||||||
|
|
||||||
|
private final String identifier;
|
||||||
|
private final boolean silent;
|
||||||
|
private boolean loadingDisabled = false;
|
||||||
|
private final Guild guild;
|
||||||
|
private final TrackScheduler scheduler;
|
||||||
|
private final CommandContext context;
|
||||||
|
|
||||||
|
public TrackLoadingHandler(String identifier, boolean silent, MusicManager manager, CommandContext context) {
|
||||||
|
this.identifier = identifier;
|
||||||
|
this.silent = silent;
|
||||||
|
this.guild = manager.getGuild();
|
||||||
|
this.scheduler = manager.getScheduler();
|
||||||
|
this.context = context;
|
||||||
|
}
|
||||||
|
|
||||||
|
public synchronized void stopLoading() {
|
||||||
|
logger.debug("Guild {}: stopped loading of new tracks", guild.getId());
|
||||||
|
loadingDisabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void trackLoaded(AudioTrack audioTrack) {
|
||||||
|
if (loadingDisabled) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.debug("Guild {}: track loaded: {}", guild.getId(), identifier);
|
||||||
|
context.deleteMessage();
|
||||||
|
|
||||||
|
scheduler.getQueueManager().queue(audioTrack, context.getGuildUser());
|
||||||
|
|
||||||
|
if (!silent) {
|
||||||
|
//context.replyToMessage("Added track to queue");
|
||||||
|
context.reply(MessageFunction.buildAddingTrackMessage(audioTrack, context.getGuildUser(), identifier));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void playlistLoaded(AudioPlaylist audioPlaylist) {
|
||||||
|
if (loadingDisabled) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.debug("Guild {}: playlist loaded: {}", guild.getId(), identifier);
|
||||||
|
context.deleteMessage();
|
||||||
|
|
||||||
|
if (audioPlaylist.isSearchResult()) {
|
||||||
|
AudioTrack track = audioPlaylist.getTracks().get(0);
|
||||||
|
scheduler.getQueueManager().queue(track, context.getGuildUser());
|
||||||
|
|
||||||
|
if (!silent) {
|
||||||
|
//context.replyToMessage(new MessageBuilder("Added track to queue: ").append(String.format("https://youtu.be/%s", track.getIdentifier())).build());
|
||||||
|
context.reply(MessageFunction.buildAddingTrackMessage(track, context.getGuildUser(), String.format("https://youtu.be/%s", track.getIdentifier())));
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
if (!silent) {
|
||||||
|
//context.replyToMessage("Added playlist to queue");
|
||||||
|
context.reply(MessageFunction.buildAddingPlaylistMessage(audioPlaylist, context.getGuildUser(), identifier));
|
||||||
|
}
|
||||||
|
|
||||||
|
for (AudioTrack track : audioPlaylist.getTracks()) {
|
||||||
|
synchronized (scheduler.getQueueManager().getQueue()) {
|
||||||
|
scheduler.getQueueManager().queue(track, context.getGuildUser());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void noMatches() {
|
||||||
|
logger.debug("Guild {}: no matches for identifier {}", guild.getId(), identifier);
|
||||||
|
context.replyToMessage("No matches found");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void loadFailed(FriendlyException e) {
|
||||||
|
logger.debug("Guild {}: load failed for identifier {}", guild.getId(), identifier, e);
|
||||||
|
context.replyToMessage("Failed to load track: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -17,18 +17,20 @@ import org.slf4j.Logger;
|
|||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
public class TrackScheduler extends AudioEventAdapter {
|
public class TrackScheduler extends AudioEventAdapter {
|
||||||
|
|
||||||
private final static Logger logger = LoggerFactory.getLogger(TrackScheduler.class);
|
private final static Logger logger = LoggerFactory.getLogger(TrackScheduler.class);
|
||||||
|
|
||||||
private final QueueManager queueManager;
|
private final QueueManager queueManager;
|
||||||
private final TopicManager topicManager;
|
private final TopicManager topicManager;
|
||||||
|
private final MusicManager manager;
|
||||||
private final AudioPlayer player;
|
private final AudioPlayer player;
|
||||||
private final Guild guild;
|
private final Guild guild;
|
||||||
|
|
||||||
public TrackScheduler(AudioPlayer player, Guild guild) {
|
public TrackScheduler(MusicManager manager) {
|
||||||
this.player = player;
|
this.manager = manager;
|
||||||
this.guild = guild;
|
this.player = manager.getPlayer();
|
||||||
this.queueManager = new QueueManager(player, guild);
|
this.guild = manager.getGuild();
|
||||||
this.topicManager = new TopicManager(guild);
|
this.queueManager = new QueueManager(this);
|
||||||
|
this.topicManager = new TopicManager(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public QueueManager getQueueManager() {
|
public QueueManager getQueueManager() {
|
||||||
@@ -39,10 +41,18 @@ public class TrackScheduler extends AudioEventAdapter {
|
|||||||
return topicManager;
|
return topicManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public MusicManager getMusicManager() {
|
||||||
|
return manager;
|
||||||
|
}
|
||||||
|
|
||||||
public AudioPlayer getPlayer() {
|
public AudioPlayer getPlayer() {
|
||||||
return player;
|
return player;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Guild getGuild() {
|
||||||
|
return guild;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerPause(AudioPlayer player) {
|
public void onPlayerPause(AudioPlayer player) {
|
||||||
// Player was paused
|
// Player was paused
|
||||||
|
|||||||
@@ -30,6 +30,14 @@ logger.jda.additivity = false
|
|||||||
logger.jda.appenderRef.rolling.ref = LogToRollingFile
|
logger.jda.appenderRef.rolling.ref = LogToRollingFile
|
||||||
logger.jda.appenderRef.console.ref = consoleLogger
|
logger.jda.appenderRef.console.ref = consoleLogger
|
||||||
|
|
||||||
|
logger.lavaplayer.name = com.sedmelluq.discord
|
||||||
|
logger.lavaplayer.level = info
|
||||||
|
logger.lavaplayer.additivity = false
|
||||||
|
logger.lavaplayer.appenderRef.rolling.ref = LogToRollingFile
|
||||||
|
logger.lavaplayer.appenderRef.console.ref = consoleLogger
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
logger.app.name = netneutrality
|
logger.app.name = netneutrality
|
||||||
logger.app.level = debug
|
logger.app.level = debug
|
||||||
logger.app.additivity = false
|
logger.app.additivity = false
|
||||||
|
|||||||
@@ -23,9 +23,6 @@ public class LoadableSourceTest {
|
|||||||
LoadableSourceManager loadableSourceManager = new LoadableSourceManager();
|
LoadableSourceManager loadableSourceManager = new LoadableSourceManager();
|
||||||
CachedSource cachedSource = loadableSourceManager.get(new AppleMostPlayed());
|
CachedSource cachedSource = loadableSourceManager.get(new AppleMostPlayed());
|
||||||
|
|
||||||
System.out.println(cachedSource.getLastAccess());
|
|
||||||
System.out.println(cachedSource.getSongs());
|
|
||||||
|
|
||||||
assertTrue(cachedSource.getSongs().size() > 0);
|
assertTrue(cachedSource.getSongs().size() > 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user