For sync purposes
This commit is contained in:
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user