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) {
// TODO Auto-generated catch block
e.printStackTrace();
}
@@ -54,7 +54,14 @@ public class DeleteQueueCommand extends AbstractCommand {
if (player.isConnected()) {
if (player.isConnectedTo(vChannel)) {
int queueSize = player.getScheduler().queue.size();
if (queueSize > 0) {
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
event.getTextChannel().sendMessage("Not in your voice channel").queue();
} else {
@@ -54,11 +54,13 @@ public class PlayCommand extends AbstractCommand {
if (player.isConnected()) {
if (player.isConnectedTo(vChannel)) {
event.getMessage().delete().queue();
player.play(args.split(" ")[0], event.getTextChannel(), false);
} else
event.getTextChannel().sendMessage("Not in your voice channel").queue();
} else {
player.connect(vChannel);
event.getMessage().delete().queue();
player.play(args.split(" ")[0], event.getTextChannel(), false);
}
} else
@@ -21,14 +21,12 @@ public abstract class AbstractController {
}
public AbstractController start() {
MusicBot.LOGGER.debug("Starting task.. ["+ getControllerName() + "}");
DBController.isDoingSomething = true;
isDoingSomething = true;
return this;
}
protected AbstractController end() {
MusicBot.LOGGER.debug("Ended task! ["+ getControllerName() + "}");
DBController.isDoingSomething = false;
isDoingSomething = false;
return this;
@@ -158,7 +158,6 @@ public class DBBlacklist extends AbstractController {
@Override
public String getControllerName() {
// TODO Auto-generated method stub
return "blacklist";
}
}
@@ -7,10 +7,6 @@ import netneutrality.db.AbstractController;
public class DBSettings extends AbstractController {
public DBSettings() {
// TODO Auto-generated constructor stub
}
public String getLoggingChannel(String serverId) {
if (serverId.isEmpty()) {
end();
@@ -82,7 +78,6 @@ public class DBSettings extends AbstractController {
@Override
public String getControllerName() {
// TODO Auto-generated method stub
return "settings";
}
@@ -31,7 +31,7 @@ public class CommandHandler extends ListenerAdapter {
if (event.getAuthor().isBot()) 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();
@@ -3,6 +3,8 @@ package netneutrality.handler;
import java.time.OffsetDateTime;
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.events.message.MessageReceivedEvent;
@@ -12,29 +14,28 @@ public class MessageRateLimit {
private static OffsetDateTime timestamp;
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;
if (lastSender == null || timestamp == null) {
lastSender = event.getMember();
timestamp = event.getMessage().getCreationTime();
lastSender = member;
timestamp = message.getCreationTime();
return false;
}
if (event.getMember().getUser().getId().equals(lastSender.getUser().getId())) {
if (event.getMessage().getCreationTime().minusNanos(cooldown).isBefore(timestamp)) {
lastSender = event.getMember();
timestamp = event.getMessage().getCreationTime();
event.getMessage().delete().queue();
System.err.print("Rate limited\n>");
if (member.getUser().getId().equals(lastSender.getUser().getId())) {
if (message.getCreationTime().minusNanos(cooldown).isBefore(timestamp)) {
lastSender = member;
timestamp = message.getCreationTime();
message.delete().queue();
return true;
}
}
lastSender = event.getMember();
timestamp = event.getMessage().getCreationTime();
lastSender = member;
timestamp = message.getCreationTime();
return false;
@@ -39,7 +39,7 @@ public class NewCommandListener extends ListenerAdapter {
if (event.getAuthor().isBot()) 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)) {
@@ -19,7 +19,8 @@ import net.dv8tion.jda.core.entities.TextChannel;
import net.dv8tion.jda.core.entities.VoiceChannel;
import netneutrality.MusicBot;
import netneutrality.handler.LogHandler;
import netneutrality.utils.YoutubeClass;
import netneutrality.utils.MessageFunction;
import java.util.LinkedList;
import java.util.List;
@@ -75,6 +76,10 @@ public class MusicManager {
return guild != null && guild.getAudioManager().getConnectedChannel() != null;
}
public AudioTrack getCurrentlyPlaying() {
return player.getPlayingTrack();
}
public boolean leave() {
if (isConnected()) {
stopMusic();
@@ -105,12 +110,13 @@ public class MusicManager {
String youtubeCode = SourceFinder.getIdentifier(url);
scheduler.setTextChannel(channel);
if (youtubeCode != null) {
playerManager.loadItem(youtubeCode, new AudioLoadResultHandler() {
@Override
public void trackLoaded(AudioTrack audioTrack) {
if (!silent)
channel.sendMessage("Adding track to queue : " + audioTrack.getInfo().title).queue();
channel.sendMessage(MessageFunction.buildAddingTrackMessage(audioTrack)).queue();
scheduler.queue(audioTrack);
@@ -1,7 +1,5 @@
package netneutrality.music;
import netneutrality.utils.YoutubeClass;
import java.util.regex.Matcher;
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
*/
import java.awt.*;
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.Member;
import net.dv8tion.jda.core.entities.Message;
import net.dv8tion.jda.core.entities.MessageEmbed;
public class MessageFunction {
@@ -38,4 +42,13 @@ public class MessageFunction {
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 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;
for(Role role : user.getRoles()) {
if (role.getPermissions().contains(Permission.MANAGE_SERVER) || role.getPermissions().contains(Permission.ADMINISTRATOR))
@@ -16,5 +22,4 @@ public class UserFunction {
return isAdmin;
}
}