diff --git a/pom.xml b/pom.xml
index fcd89b3..bad6b3a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -62,6 +62,11 @@
github-api
1.99
+
+ com.sedmelluq
+ lavaplayer
+ 1.3.27
+
diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java
index afcf18d..dc6640b 100644
--- a/src/main/java/com/bbn/hadder/Hadder.java
+++ b/src/main/java/com/bbn/hadder/Hadder.java
@@ -7,6 +7,7 @@ import com.bbn.hadder.commands.nsfw.*;
import com.bbn.hadder.commands.owner.*;
import com.bbn.hadder.commands.fun.*;
import com.bbn.hadder.commands.settings.*;
+import com.bbn.hadder.commands.music.*;
import com.bbn.hadder.core.*;
import com.bbn.hadder.listener.*;
import net.dv8tion.jda.api.entities.Activity;
@@ -18,7 +19,7 @@ import java.util.List;
public class Hadder {
- public static ShardManager shardManager;
+ public static ShardManager shardManager;
public static void main(String[] args) {
startBot();
@@ -72,6 +73,9 @@ public class Hadder {
new FeedbackCommand(),
new AvatarCommand(),
new EvalCommand(),
+ new JoinCommand(),
+ new LeaveCommand(),
+ new GuildLeaveCommand(),
new LinkCommand()), config, helpCommand);
builder.addEventListeners(
@@ -83,7 +87,6 @@ public class Hadder {
new LinkListener(rethink),
new RulesListener(rethink));
-
try {
shardManager = builder.build();
} catch (LoginException e) {
diff --git a/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java
index 55b8fb9..5c7e224 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java
@@ -22,136 +22,150 @@ public class RulesCommand implements Command {
if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES)) {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("Set up rules")
- .setDescription("Please specify the channel on which I should send the rules. Your message should look like: #rules."))
+ .setDescription("Welcome to the Hadder rules setup. Please mention the channel in which I should send the rules. Your message should look like: #rules or #verify."))
.build()).queue();
new EventWaiter().newOnMessageEventWaiter(event1 -> {
if (event1.getMessage().getMentionedChannels().size() == 1) {
- TextChannel channel = event1.getMessage().getMentionedChannels().get(0);
- if (channel.getGuild().getId().equals(event1.getGuild().getId())) {
- if (event.getGuild().getSelfMember().hasPermission(channel, Permission.MESSAGE_WRITE)) {
- event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
- .setTitle("Rules")
- .setDescription("The channel was successfully set to " + channel.getName() + ". Please send me the rules now."))
- .build()).queue();
- new EventWaiter().newOnMessageEventWaiter(event2 -> {
- String message = event2.getMessage().getContentDisplay();
- event2.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
- .setTitle("Role to assign"))
- .setDescription("The rules were successfully set. Please send me the name of the role which the user receives after he accepted the rules.")
+ try {
+ TextChannel channel = event1.getMessage().getMentionedChannels().get(0);
+ if (channel.getGuild().getId().equals(event1.getGuild().getId())) {
+ if (event.getGuild().getSelfMember().hasPermission(channel, Permission.MESSAGE_WRITE)) {
+ event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ .setTitle("Rules")
+ .setDescription("The channel was successfully set to " + channel.getName() + ". Please send me the rules now."))
.build()).queue();
- new EventWaiter().newOnMessageEventWaiter(event3 -> {
- if (event.getMessage().getMentionedRoles().size() == 1) {
- Role role = event.getMessage().getMentionedRoles().get(0);
- if (event3.getGuild().getSelfMember().canInteract(role)) {
- event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
- .setTitle("The role has been successfully set to " + role.getName() + "."))
- .build()).queue();
- Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
- .setTitle("Rules"))
- .setDescription(message)
- .build()).complete();
- rules.addReaction("✅").queue();
- rules.addReaction("❌").queue();
- event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId());
+ new EventWaiter().newOnMessageEventWaiter(event2 -> {
+ String message = event2.getMessage().getContentDisplay();
+ event2.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ .setTitle("Role to assign"))
+ .setDescription("The rules were successfully set. Please send me the name of the role which the user receives after he accepted the rules.")
+ .build()).queue();
+ new EventWaiter().newOnMessageEventWaiter(event3 -> {
+ if (event.getMessage().getMentionedRoles().size() == 1) {
+ Role role = event.getMessage().getMentionedRoles().get(0);
+ if (event3.getGuild().getSelfMember().canInteract(role)) {
+ event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ .setTitle("The role has been successfully set to " + role.getName() + "."))
+ .build()).queue();
+ Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ .setTitle("Rules"))
+ .setDescription(message)
+ .build()).complete();
+ rules.addReaction("✅").queue();
+ rules.addReaction("❌").queue();
+ event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId());
+ } else {
+ EmbedBuilder builder = new EmbedBuilder();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
+ }
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
+ Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentStripped(), true).get(0);
+ if (event3.getGuild().getSelfMember().canInteract(role)) {
+ event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ .setTitle("The role has been successfully set to " + role.getName() + "."))
+ .build()).queue();
+ Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ .setTitle("Rules"))
+ .setDescription(message)
+ .build()).complete();
+ rules.addReaction("✅").queue();
+ rules.addReaction("❌").queue();
+ event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId());
+ } else {
+ EmbedBuilder builder = new EmbedBuilder();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
+ }
}
- } else {
- Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentRaw().replace("h.rules ", ""), true).get(0);
- if (event3.getGuild().getSelfMember().canInteract(role)) {
- event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
- .setTitle("The role has been successfully set to " + role.getName() + "."))
- .build()).queue();
- Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
- .setTitle("Rules"))
- .setDescription(message)
- .build()).complete();
- rules.addReaction("✅").queue();
- rules.addReaction("❌").queue();
- event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId());
- } else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
- }
- }
+ }, event.getJDA(), event.getAuthor());
}, event.getJDA(), event.getAuthor());
- }, event.getJDA(), event.getAuthor());
+ } else {
+ EmbedBuilder builder = new EmbedBuilder();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder)
+ .build()).queue();
+ }
} else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, new EmbedBuilder()
.setTitle("Wrong Guild")
.setDescription("The mentioned channel must be on this guid!"))
.build()).queue();
}
- } else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder)
+ } catch (Exception e) {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR, new EmbedBuilder()
+ .setTitle("Channel not found")
+ .setDescription("I can't find the specified channel. Please start the setup again."))
.build()).queue();
}
} else {
- TextChannel channel = event1.getGuild().getTextChannelsByName(event1.getMessage().getContentRaw(), true).get(0);
- if (channel.getGuild().getId().equals(event1.getGuild().getId())) {
- if (event.getGuild().getSelfMember().hasPermission(channel, Permission.MESSAGE_WRITE)) {
- event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
- .setTitle("Rules")
- .setDescription("The channel was successfully set to " + channel.getName() + ". Please send me the rules now."))
- .build()).queue();
- new EventWaiter().newOnMessageEventWaiter(event2 -> {
- String message = event2.getMessage().getContentDisplay();
- event2.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
- .setTitle("Role to assign"))
- .setDescription("The rules were successfully set. Please send me the name of the role which the user receives after he accepted the rules.")
+ try {
+ TextChannel channel = event1.getGuild().getTextChannelsByName(event1.getMessage().getContentRaw(), true).get(0);
+ if (channel.getGuild().getId().equals(event1.getGuild().getId())) {
+ if (event.getGuild().getSelfMember().hasPermission(channel, Permission.MESSAGE_WRITE)) {
+ event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ .setTitle("Rules")
+ .setDescription("The channel was successfully set to " + channel.getName() + ". Please send me the rules now."))
.build()).queue();
- new EventWaiter().newOnMessageEventWaiter(event3 -> {
- if (event.getMessage().getMentionedRoles().size() == 1) {
- Role role = event.getMessage().getMentionedRoles().get(0);
- if (event3.getGuild().getSelfMember().canInteract(role)) {
- event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
- .setTitle("The role has been successfully set to " + role.getName() + "."))
- .build()).queue();
- Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
- .setTitle("Rules"))
- .setDescription(message)
- .build()).complete();
- rules.addReaction("✅").queue();
- rules.addReaction("❌").queue();
- event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId());
+ new EventWaiter().newOnMessageEventWaiter(event2 -> {
+ String message = event2.getMessage().getContentDisplay();
+ event2.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ .setTitle("Role to assign"))
+ .setDescription("The rules were successfully set. Please send me the name of the role which the user receives after he accepted the rules.")
+ .build()).queue();
+ new EventWaiter().newOnMessageEventWaiter(event3 -> {
+ if (event.getMessage().getMentionedRoles().size() == 1) {
+ Role role = event.getMessage().getMentionedRoles().get(0);
+ if (event3.getGuild().getSelfMember().canInteract(role)) {
+ event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ .setTitle("The role has been successfully set to " + role.getName() + "."))
+ .build()).queue();
+ Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ .setTitle("Rules"))
+ .setDescription(message)
+ .build()).complete();
+ rules.addReaction("✅").queue();
+ rules.addReaction("❌").queue();
+ event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId());
+ } else {
+ EmbedBuilder builder = new EmbedBuilder();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
+ }
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
+ Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentStripped(), true).get(0);
+ if (event3.getGuild().getSelfMember().canInteract(role)) {
+ event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ .setTitle("The role has been successfully set to " + role.getName() + "."))
+ .build()).queue();
+ Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ .setTitle("Rules"))
+ .setDescription(message)
+ .build()).complete();
+ rules.addReaction("✅").queue();
+ rules.addReaction("❌").queue();
+ event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId());
+ } else {
+ EmbedBuilder builder = new EmbedBuilder();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
+ }
}
- } else {
- Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentRaw(), true).get(0);
- if (event3.getGuild().getSelfMember().canInteract(role)) {
- event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
- .setTitle("The role has been successfully set to " + role.getName() + "."))
- .build()).queue();
- Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
- .setTitle("Rules"))
- .setDescription(message)
- .build()).complete();
- rules.addReaction("✅").queue();
- rules.addReaction("❌").queue();
- event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId());
- } else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
- }
- }
+ }, event.getJDA(), event.getAuthor());
}, event.getJDA(), event.getAuthor());
- }, event.getJDA(), event.getAuthor());
- } else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder)
- .build()).queue();
- }
+ } else {
+ EmbedBuilder builder = new EmbedBuilder();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder)
+ .build()).queue();
+ }
} else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, new EmbedBuilder()
.setTitle("Wrong Guild")
.setDescription("The mentioned channel must be on this guid!"))
.build()).queue();
}
+ } catch (Exception e) {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR, new EmbedBuilder()
+ .setTitle("Channel not found")
+ .setDescription("I can't find the specified channel. Please start the setup again."))
+ .build()).queue();
}
+ }
}, event.getJDA(), event.getAuthor());
} else {
EmbedBuilder builder = new EmbedBuilder();
@@ -165,7 +179,7 @@ public class RulesCommand implements Command {
@Override
public String[] labels() {
- return new String[]{"rules", "rule"};
+ return new String[]{"rules", "rule", "setup"};
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/music/JoinCommand.java b/src/main/java/com/bbn/hadder/commands/music/JoinCommand.java
new file mode 100644
index 0000000..a380c7a
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/commands/music/JoinCommand.java
@@ -0,0 +1,64 @@
+package com.bbn.hadder.commands.music;
+
+/*
+ * @author Skidder / GregTCLTK
+ */
+
+import com.bbn.hadder.commands.Command;
+import com.bbn.hadder.commands.CommandEvent;
+import com.bbn.hadder.utils.MessageEditor;
+import net.dv8tion.jda.api.EmbedBuilder;
+import net.dv8tion.jda.api.Permission;
+import net.dv8tion.jda.api.entities.VoiceChannel;
+import net.dv8tion.jda.api.managers.AudioManager;
+
+
+public class JoinCommand implements Command {
+
+ @Override
+ public void executed(String[] args, CommandEvent event) {
+ if (event.getMember().getVoiceState().inVoiceChannel()) {
+ AudioManager audioManager = event.getGuild().getAudioManager();
+ if(!audioManager.isAttemptingToConnect()) {
+ VoiceChannel vc = event.getMember().getVoiceState().getChannel();
+ if (vc.getMemberPermissionOverrides().contains(Permission.VOICE_CONNECT)) {
+ event.getGuild().getAudioManager().openAudioConnection(vc);
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ .setTitle("Successfully connected"))
+ .setDescription("I successfully connected to " + vc.getName() + ".")
+ .build()).queue();
+ } else {
+ EmbedBuilder builder = new EmbedBuilder();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
+ }
+ } else {
+ EmbedBuilder builder = new EmbedBuilder();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder)
+ .setTitle("Already trying to connect")
+ .setDescription("Hadder is already trying to connect. Please wait a moment.")
+ .build()).queue();
+ }
+ } else {
+ EmbedBuilder builder = new EmbedBuilder();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder)
+ .setTitle("No Voice Channel")
+ .setDescription("You aren't in a Voice Channel.")
+ .build()).queue();
+ }
+ }
+
+ @Override
+ public String[] labels() {
+ return new String[]{"join"};
+ }
+
+ @Override
+ public String description() {
+ return "Joins your voice channel";
+ }
+
+ @Override
+ public String usage() {
+ return "";
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/commands/music/LeaveCommand.java b/src/main/java/com/bbn/hadder/commands/music/LeaveCommand.java
new file mode 100644
index 0000000..844344c
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/commands/music/LeaveCommand.java
@@ -0,0 +1,46 @@
+package com.bbn.hadder.commands.music;
+
+/*
+ * @author Skidder / GregTCLTK
+ */
+
+import com.bbn.hadder.commands.Command;
+import com.bbn.hadder.commands.CommandEvent;
+import com.bbn.hadder.utils.MessageEditor;
+import net.dv8tion.jda.api.EmbedBuilder;
+
+
+public class LeaveCommand implements Command {
+
+ @Override
+ public void executed(String[] args, CommandEvent event) {
+ if (event.getGuild().getSelfMember().getVoiceState().inVoiceChannel()) {
+ event.getGuild().getAudioManager().closeAudioConnection();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ .setTitle("Successfully disconnected")
+ .setDescription("I successfully disconnected from the Voice Channel"))
+ .build()).queue();
+ } else {
+ EmbedBuilder builder = new EmbedBuilder();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder)
+ .setTitle("Not connected")
+ .setDescription("I'm currently in no Voice Channel on this Guild")
+ .build()).queue();
+ }
+ }
+
+ @Override
+ public String[] labels() {
+ return new String[]{"leave"};
+ }
+
+ @Override
+ public String description() {
+ return "Leaves a voice channel";
+ }
+
+ @Override
+ public String usage() {
+ return "";
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/commands/owner/GuildLeaveCommand.java b/src/main/java/com/bbn/hadder/commands/owner/GuildLeaveCommand.java
new file mode 100644
index 0000000..5d7d652
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/commands/owner/GuildLeaveCommand.java
@@ -0,0 +1,48 @@
+package com.bbn.hadder.commands.owner;
+
+/*
+ * @author Skidder / GregTCLTK
+ */
+
+import com.bbn.hadder.commands.Command;
+import com.bbn.hadder.commands.CommandEvent;
+import com.bbn.hadder.utils.MessageEditor;
+import net.dv8tion.jda.api.EmbedBuilder;
+import net.dv8tion.jda.api.entities.Guild;
+
+public class GuildLeaveCommand implements Command {
+
+ @Override
+ public void executed(String[] args, CommandEvent event) {
+ if (event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
+ if (args.length > 0) {
+ Guild guild = event.getJDA().getGuildById(args[0]);
+ guild.leave().queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ .setTitle("Successfully left")
+ .setDescription("I successfully left " + guild.getName()))
+ .build()).queue();
+ } else {
+ event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
+ }
+ } else {
+ EmbedBuilder builder = new EmbedBuilder();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder).build()).queue();
+ }
+ }
+
+ @Override
+ public String[] labels() {
+ return new String[]{"guildleave"};
+ }
+
+ @Override
+ public String description() {
+ return "Quit from a guild";
+ }
+
+ @Override
+ public String usage() {
+ return "";
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java b/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java
index 1278123..7797dd7 100644
--- a/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java
@@ -12,7 +12,6 @@ import net.dv8tion.jda.api.EmbedBuilder;
public class RebootCommand implements Command {
-
@Override
public void executed(String[] args, CommandEvent event) {
if (event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
@@ -25,7 +24,7 @@ public class RebootCommand implements Command {
@Override
public String[] labels() {
- return new String[]{"restart"};
+ return new String[]{"restart", "restart"};
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java b/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java
index 142c74f..0148563 100644
--- a/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java
@@ -10,6 +10,7 @@ import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.EmbedBuilder;
public class ShutdownCommand implements Command {
+
@Override
public void executed(String[] args, CommandEvent event) {
if (event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
@@ -26,7 +27,7 @@ public class ShutdownCommand implements Command {
@Override
public String[] labels() {
- return new String[]{"shutdown"};
+ return new String[]{"shutdown", "exit"};
}
@Override
diff --git a/src/main/java/com/bbn/hadder/utils/AudioPlayerSendHandler.java b/src/main/java/com/bbn/hadder/utils/AudioPlayerSendHandler.java
new file mode 100644
index 0000000..ff3f483
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/utils/AudioPlayerSendHandler.java
@@ -0,0 +1,25 @@
+package com.bbn.hadder.utils;
+
+/*
+ * @author Skidder / GregTCLTK
+ */
+
+import net.dv8tion.jda.api.audio.AudioSendHandler;
+
+import javax.annotation.Nullable;
+import java.nio.ByteBuffer;
+
+public class AudioPlayerSendHandler implements AudioSendHandler {
+
+ @Override
+ public boolean canProvide() {
+ return false;
+ }
+
+ @Nullable
+ @Override
+ public ByteBuffer provide20MsAudio() {
+
+ return null;
+ }
+}