commit
a0af1a9e37
14 changed files with 223 additions and 122 deletions
|
|
@ -52,7 +52,7 @@ public class Hadder {
|
|||
new GifCommand(),
|
||||
new ClearCommand(),
|
||||
new GitHubCommand(),
|
||||
new ScreenshareCommand(),
|
||||
new ScreenShareCommand(),
|
||||
new RebootCommand(),
|
||||
new EqualsCommand(),
|
||||
new InviteCommand(),
|
||||
|
|
@ -71,6 +71,7 @@ public class Hadder {
|
|||
new RulesCommand(),
|
||||
new FeedbackCommand(),
|
||||
new AvatarCommand(),
|
||||
new EvalCommand(),
|
||||
new LinkCommand()), config, helpCommand);
|
||||
|
||||
builder.addEventListeners(
|
||||
|
|
|
|||
|
|
@ -68,7 +68,10 @@ public class GitHubCommand implements Command {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
event.getTextChannel().sendMessage("SOON").queue();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
||||
.setTitle("Connect you GH account"))
|
||||
.setDescription("[Please connect your GitHub account here](https://github.com/login/oauth/authorize?client_id=25321f690bb1b6952942)")
|
||||
.build()).queue();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,10 @@ public class InviteCommand implements Command {
|
|||
@Override
|
||||
public void executed(String[] args, CommandEvent event) {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setTitle("Invite me!").setDescription("[Invite me here!](https://discordapp.com/oauth2/authorize?client_id=" + Hadder.shardManager.getGuilds().get(0).getSelfMember().getId() + "&scope=bot&permissions=470133879)").build()).queue();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
||||
.setTitle("Invite me!")
|
||||
.setDescription("[Invite me here!](https://discordapp.com/oauth2/authorize?client_id=" + Hadder.shardManager.getGuilds().get(0).getSelfMember().getId() + "&scope=bot&permissions=470133879)")
|
||||
.build()).queue();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -9,7 +9,8 @@ import net.dv8tion.jda.api.entities.VoiceChannel;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
public class ScreenshareCommand implements Command {
|
||||
public class ScreenShareCommand implements Command {
|
||||
|
||||
@Override
|
||||
public void executed(String[] args, CommandEvent event) {
|
||||
if (args.length>0) {
|
||||
|
|
@ -36,8 +36,6 @@ public class ClearCommand implements Command {
|
|||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setDescription("Successfully deleted " + nbToDelete + " messages.").build()).queue();
|
||||
} catch (NumberFormatException e) {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("You have to specify a number!").build()).queue();
|
||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
}
|
||||
} else {
|
||||
|
|
@ -49,8 +47,6 @@ public class ClearCommand implements Command {
|
|||
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.WARNING, builder).setDescription("You have to specify a number!").build()).queue();
|
||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,8 +24,6 @@ public class GuildPrefixCommand implements Command {
|
|||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("The prefix must not contain **\"**").build()).queue();
|
||||
}
|
||||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("You have to set a prefix.").build()).queue();
|
||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
}
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -38,8 +38,6 @@ public class KickCommand implements Command {
|
|||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("You can't kick yourself.").build()).queue();
|
||||
}
|
||||
} else if (event.getMessage().getMentionedMembers().size() == 0) {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("You have to mention at least one user!").build()).queue();
|
||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
} else if (event.getMessage().getMentionedMembers().size() > 1) {
|
||||
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
|
||||
|
|
|
|||
|
|
@ -31,8 +31,6 @@ public class NickCommand implements Command {
|
|||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setTitle("✅ Successfully nicked ✅").setDescription("I successfully nicked " + event.getMessage().getMentionedMembers().get(0).getUser().getAsTag() + ".").build()).queue();
|
||||
}
|
||||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("Missing arguments").setDescription("You have to specify a new nickname for the user(s).").build()).queue();
|
||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
}
|
||||
} else {
|
||||
|
|
@ -51,8 +49,6 @@ public class NickCommand implements Command {
|
|||
}
|
||||
}
|
||||
} else if (event.getMessage().getMentionedMembers().size() == 0) {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("You have to mention at least one user!").build()).queue();
|
||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
} else {
|
||||
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ public class RulesCommand implements Command {
|
|||
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."))
|
||||
|
|
@ -39,7 +40,7 @@ public class RulesCommand implements Command {
|
|||
.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) {
|
||||
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()
|
||||
|
|
@ -82,9 +83,15 @@ public class RulesCommand implements Command {
|
|||
.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)
|
||||
.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."))
|
||||
|
|
@ -96,7 +103,7 @@ public class RulesCommand implements Command {
|
|||
.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) {
|
||||
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()
|
||||
|
|
@ -133,6 +140,11 @@ public class RulesCommand implements Command {
|
|||
}
|
||||
}, 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")
|
||||
|
|
|
|||
97
src/main/java/com/bbn/hadder/commands/owner/EvalCommand.java
Normal file
97
src/main/java/com/bbn/hadder/commands/owner/EvalCommand.java
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
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 javax.script.ScriptEngine;
|
||||
import javax.script.ScriptEngineManager;
|
||||
import javax.script.ScriptException;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
public class EvalCommand implements Command {
|
||||
|
||||
@Override
|
||||
public void executed(String[] args, CommandEvent event) {
|
||||
if (event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
|
||||
if (args.length > 0) {
|
||||
ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
|
||||
|
||||
try {
|
||||
engine.eval("var imports = new JavaImporter(java.io, java.lang, java.util);");
|
||||
} catch (ScriptException ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
engine.put("event", event);
|
||||
engine.put("jda", event.getJDA());
|
||||
engine.put("message", event.getMessage());
|
||||
engine.put("guild", event.getGuild());
|
||||
engine.put("channel", event.getChannel());
|
||||
engine.put("vc", event.getMember().getVoiceState().getChannel());
|
||||
engine.put("author", event.getAuthor());
|
||||
engine.put("member", event.getMember());
|
||||
engine.put("self", event.getGuild().getSelfMember());
|
||||
|
||||
ScheduledExecutorService service = Executors.newScheduledThreadPool(1);
|
||||
|
||||
ScheduledFuture<?> future = service.schedule(() -> {
|
||||
|
||||
long startExec = System.currentTimeMillis();
|
||||
Object out = null;
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
|
||||
try {
|
||||
String script = "";
|
||||
for (int i = 0; i < args.length; i++) {
|
||||
args[i] = args[i].replace("```java", "").replace("```", "");
|
||||
script += i == args.length-1 ? args[i]:args[i]+" ";
|
||||
}
|
||||
builder.addField("Input", "```java\n\n" + script + "```", false);
|
||||
|
||||
out = engine.eval(script);
|
||||
builder.addField("Output", "```java\n\n" + out.toString() + "```", false);
|
||||
|
||||
} catch (Exception ex) {
|
||||
builder.addField("Error", "```java\n\n" + ex.getMessage() + "```", false);
|
||||
}
|
||||
|
||||
builder.addField("Timing", System.currentTimeMillis()-startExec + " milliseconds", false);
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setTitle("Eval Command").build()).queue();
|
||||
|
||||
service.shutdownNow();
|
||||
|
||||
}, 0, TimeUnit.MILLISECONDS);
|
||||
|
||||
} 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[]{"eval"};
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description() {
|
||||
return "You know what a eval command is ;)";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String usage() {
|
||||
return "<Code to execute>";
|
||||
}
|
||||
}
|
||||
|
|
@ -15,8 +15,8 @@ public class RebootCommand implements Command {
|
|||
|
||||
@Override
|
||||
public void executed(String[] args, CommandEvent event) {
|
||||
if (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")) {
|
||||
|
||||
if (event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
|
||||
System.exit(69);
|
||||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder).build()).queue();
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import net.dv8tion.jda.api.EmbedBuilder;
|
|||
public class ShutdownCommand implements Command {
|
||||
@Override
|
||||
public void executed(String[] args, CommandEvent event) {
|
||||
if (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")) {
|
||||
if (event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setTitle("Shutdown").build()).queue();
|
||||
event.getJDA().getShardManager().shutdown();
|
||||
|
|
|
|||
|
|
@ -18,8 +18,6 @@ public class PrefixCommand implements Command {
|
|||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setTitle("✅ Successfully set ✅").setDescription("I successfully set the new prefix for you to " + args[0]).build()).queue();
|
||||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("You have to set a prefix.").build()).queue();
|
||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ public class LinkUtils {
|
|||
|
||||
private void send(Message message, TextChannel channel, User user, List<String> reactions, boolean usedmessagebuilder) {
|
||||
if (!channel.getGuild().getSelfMember().hasPermission(Permission.MANAGE_WEBHOOKS)) {
|
||||
channel.sendMessage(new EmbedBuilder().setTitle("Wait a sec").setDescription("Please contact the owner of the server to give me the manage webhook permission").build()).queue();
|
||||
channel.sendMessage(new EmbedBuilder().setTitle("Wait a sec").setDescription("Please contact the owner of the server to give me the Manage Webhooks permission").build()).queue();
|
||||
} else {
|
||||
channel.retrieveWebhooks().queue(
|
||||
webhooks -> {
|
||||
|
|
@ -87,9 +87,7 @@ public class LinkUtils {
|
|||
}
|
||||
}
|
||||
);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
} catch (ExecutionException e) {
|
||||
} catch (InterruptedException | ExecutionException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue