For sync purposes

This commit is contained in:
Anthony committed 2018-03-20 10:58:08 -04:00
1 parent 3163d2ecf8
commit 9d15ed7643
13 files changed
+51 -28

No files matched your search

@@ -24,7 +24,6 @@ public class StatusThread implements Runnable {
} }
} catch (InterruptedException e) { } catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} }
@@ -54,7 +54,14 @@ public class DeleteQueueCommand extends AbstractCommand {
if (player.isConnected()) { if (player.isConnected()) {
if (player.isConnectedTo(vChannel)) { if (player.isConnectedTo(vChannel)) {
int queueSize = player.getScheduler().queue.size();
if (queueSize > 0) {
player.getScheduler().queue.clear(); player.getScheduler().queue.clear();
event.getTextChannel().sendMessage("Removed " + queueSize + (queueSize > 1 ? " tracks" : "track") + " from the queue").queue();
} else {
event.getTextChannel().sendMessage("Queue is empty!").queue();
}
} else } else
event.getTextChannel().sendMessage("Not in your voice channel").queue(); event.getTextChannel().sendMessage("Not in your voice channel").queue();
} else { } else {
@@ -54,11 +54,13 @@ public class PlayCommand extends AbstractCommand {
if (player.isConnected()) { if (player.isConnected()) {
if (player.isConnectedTo(vChannel)) { if (player.isConnectedTo(vChannel)) {
event.getMessage().delete().queue();
player.play(args.split(" ")[0], event.getTextChannel(), false); player.play(args.split(" ")[0], event.getTextChannel(), false);
} else } else
event.getTextChannel().sendMessage("Not in your voice channel").queue(); event.getTextChannel().sendMessage("Not in your voice channel").queue();
} else { } else {
player.connect(vChannel); player.connect(vChannel);
event.getMessage().delete().queue();
player.play(args.split(" ")[0], event.getTextChannel(), false); player.play(args.split(" ")[0], event.getTextChannel(), false);
} }
} else } else
@@ -21,14 +21,12 @@ public abstract class AbstractController {
} }
public AbstractController start() { public AbstractController start() {
MusicBot.LOGGER.debug("Starting task.. ["+ getControllerName() + "}");
DBController.isDoingSomething = true; DBController.isDoingSomething = true;
isDoingSomething = true; isDoingSomething = true;
return this; return this;
} }
protected AbstractController end() { protected AbstractController end() {
MusicBot.LOGGER.debug("Ended task! ["+ getControllerName() + "}");
DBController.isDoingSomething = false; DBController.isDoingSomething = false;
isDoingSomething = false; isDoingSomething = false;
return this; return this;
@@ -158,7 +158,6 @@ public class DBBlacklist extends AbstractController {
@Override @Override
public String getControllerName() { public String getControllerName() {
// TODO Auto-generated method stub
return "blacklist"; return "blacklist";
} }
} }
@@ -7,10 +7,6 @@ import netneutrality.db.AbstractController;
public class DBSettings extends AbstractController { public class DBSettings extends AbstractController {
public DBSettings() {
// TODO Auto-generated constructor stub
}
public String getLoggingChannel(String serverId) { public String getLoggingChannel(String serverId) {
if (serverId.isEmpty()) { if (serverId.isEmpty()) {
end(); end();
@@ -82,7 +78,6 @@ public class DBSettings extends AbstractController {
@Override @Override
public String getControllerName() { public String getControllerName() {
// TODO Auto-generated method stub
return "settings"; return "settings";
} }
@@ -31,7 +31,7 @@ public class CommandHandler extends ListenerAdapter {
if (event.getAuthor().isBot()) return; if (event.getAuthor().isBot()) return;
if (event.isWebhookMessage()) return; if (event.isWebhookMessage()) return;
if (MessageRateLimit.check(event)) return; if (MessageRateLimit.check(event.getMember(), event.getMessage(), event.getChannel())) return;
// event.getChannel().sendMessage("Message id : " + event.getMessage().getId()).queue(); // event.getChannel().sendMessage("Message id : " + event.getMessage().getId()).queue();
@@ -3,6 +3,8 @@ package netneutrality.handler;
import java.time.OffsetDateTime; import java.time.OffsetDateTime;
import net.dv8tion.jda.core.entities.Member; import net.dv8tion.jda.core.entities.Member;
import net.dv8tion.jda.core.entities.Message;
import net.dv8tion.jda.core.entities.MessageChannel;
import net.dv8tion.jda.core.entities.PrivateChannel; import net.dv8tion.jda.core.entities.PrivateChannel;
import net.dv8tion.jda.core.events.message.MessageReceivedEvent; import net.dv8tion.jda.core.events.message.MessageReceivedEvent;
@@ -12,29 +14,28 @@ public class MessageRateLimit {
private static OffsetDateTime timestamp; private static OffsetDateTime timestamp;
private static int cooldown = 500000000; // 1 seconds = 1000000000 nanoseconds private static int cooldown = 500000000; // 1 seconds = 1000000000 nanoseconds
public synchronized static boolean check(MessageReceivedEvent event) { public synchronized static boolean check(Member member, Message message, MessageChannel channel) {
if (event.getChannel() instanceof PrivateChannel) if (channel instanceof PrivateChannel)
return false; return false;
if (lastSender == null || timestamp == null) { if (lastSender == null || timestamp == null) {
lastSender = event.getMember(); lastSender = member;
timestamp = event.getMessage().getCreationTime(); timestamp = message.getCreationTime();
return false; return false;
} }
if (event.getMember().getUser().getId().equals(lastSender.getUser().getId())) { if (member.getUser().getId().equals(lastSender.getUser().getId())) {
if (event.getMessage().getCreationTime().minusNanos(cooldown).isBefore(timestamp)) { if (message.getCreationTime().minusNanos(cooldown).isBefore(timestamp)) {
lastSender = event.getMember(); lastSender = member;
timestamp = event.getMessage().getCreationTime(); timestamp = message.getCreationTime();
event.getMessage().delete().queue(); message.delete().queue();
System.err.print("Rate limited\n>");
return true; return true;
} }
} }
lastSender = event.getMember(); lastSender = member;
timestamp = event.getMessage().getCreationTime(); timestamp = message.getCreationTime();
return false; return false;
@@ -39,7 +39,7 @@ public class NewCommandListener extends ListenerAdapter {
if (event.getAuthor().isBot()) return; if (event.getAuthor().isBot()) return;
if (event.isWebhookMessage()) return; if (event.isWebhookMessage()) return;
if (MessageRateLimit.check(event)) return; if (MessageRateLimit.check(event.getMember(), event.getMessage(), event.getChannel())) return;
if (event.isFromType(ChannelType.TEXT)) { if (event.isFromType(ChannelType.TEXT)) {
@@ -19,7 +19,8 @@ import net.dv8tion.jda.core.entities.TextChannel;
import net.dv8tion.jda.core.entities.VoiceChannel; import net.dv8tion.jda.core.entities.VoiceChannel;
import netneutrality.MusicBot; import netneutrality.MusicBot;
import netneutrality.handler.LogHandler; import netneutrality.handler.LogHandler;
import netneutrality.utils.YoutubeClass; import netneutrality.utils.MessageFunction;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
@@ -75,6 +76,10 @@ public class MusicManager {
return guild != null && guild.getAudioManager().getConnectedChannel() != null; return guild != null && guild.getAudioManager().getConnectedChannel() != null;
} }
public AudioTrack getCurrentlyPlaying() {
return player.getPlayingTrack();
}
public boolean leave() { public boolean leave() {
if (isConnected()) { if (isConnected()) {
stopMusic(); stopMusic();
@@ -105,12 +110,13 @@ public class MusicManager {
String youtubeCode = SourceFinder.getIdentifier(url); String youtubeCode = SourceFinder.getIdentifier(url);
scheduler.setTextChannel(channel); scheduler.setTextChannel(channel);
if (youtubeCode != null) { if (youtubeCode != null) {
playerManager.loadItem(youtubeCode, new AudioLoadResultHandler() { playerManager.loadItem(youtubeCode, new AudioLoadResultHandler() {
@Override @Override
public void trackLoaded(AudioTrack audioTrack) { public void trackLoaded(AudioTrack audioTrack) {
if (!silent) if (!silent)
channel.sendMessage("Adding track to queue : " + audioTrack.getInfo().title).queue(); channel.sendMessage(MessageFunction.buildAddingTrackMessage(audioTrack)).queue();
scheduler.queue(audioTrack); scheduler.queue(audioTrack);
@@ -1,7 +1,5 @@
package netneutrality.music; package netneutrality.music;
import netneutrality.utils.YoutubeClass;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@@ -6,11 +6,15 @@ package netneutrality.utils;
* This file is closed-source. It should not be distributed or copied in any way or form * This file is closed-source. It should not be distributed or copied in any way or form
*/ */
import java.awt.*;
import java.util.List; import java.util.List;
import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
import net.dv8tion.jda.core.EmbedBuilder;
import net.dv8tion.jda.core.entities.ChannelType; import net.dv8tion.jda.core.entities.ChannelType;
import net.dv8tion.jda.core.entities.Member; import net.dv8tion.jda.core.entities.Member;
import net.dv8tion.jda.core.entities.Message; import net.dv8tion.jda.core.entities.Message;
import net.dv8tion.jda.core.entities.MessageEmbed;
public class MessageFunction { public class MessageFunction {
@@ -38,4 +42,13 @@ public class MessageFunction {
return false; return false;
} }
public static MessageEmbed buildAddingTrackMessage(AudioTrack track) {
EmbedBuilder message = new EmbedBuilder();
message.setTitle("Adding track to queue..");
message.setColor(Color.BLUE);
message.addField("Track title :", track.getInfo().title, false);
return message.build();
}
} }
@@ -7,6 +7,12 @@ import net.dv8tion.jda.core.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
if (user.getUser().getId().equals(Settings.getCreator().getId())) {
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))
@@ -16,5 +22,4 @@ public class UserFunction {
return isAdmin; return isAdmin;
} }
} }