diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java index c515960..8a0e59a 100644 --- a/src/main/java/com/bbn/hadder/Hadder.java +++ b/src/main/java/com/bbn/hadder/Hadder.java @@ -53,6 +53,8 @@ public class Hadder { new ScreenshareCommand(), new RebootCommand(), new EqualsCommand(), + new InviteCommand(), + new NickCommand(), new GuildPrefixCommand()), config); builder.addEventListeners( diff --git a/src/main/java/com/bbn/hadder/commands/misc/GitHubCommand.java b/src/main/java/com/bbn/hadder/commands/misc/GitHubCommand.java index 3240549..5bafb91 100644 --- a/src/main/java/com/bbn/hadder/commands/misc/GitHubCommand.java +++ b/src/main/java/com/bbn/hadder/commands/misc/GitHubCommand.java @@ -21,48 +21,54 @@ public class GitHubCommand implements Command { @Override public void executed(String[] args, CommandEvent event) { if (args.length > 0) { - Request request = new Request.Builder().url("https://api.github.com/users/" + args[0]).build(); - try { - - Response response = new OkHttpClient().newCall(request).execute(); - JSONObject json = new JSONObject(response.body().string()); - - String nickname = json.getString("name"); - String bio = "None"; - String location = "Unknown"; - String website = "None"; + if (args[0].equals("link")) { + EmbedBuilder builder = new EmbedBuilder(); + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).setTitle("Link your GitHub Account").setDescription("https://github.com/login/oauth/authorize?client_id=25321f690bb1b6952942").build()).queue(); + } else { + Request request = new Request.Builder().url("https://api.github.com/users/" + args[0]).build(); try { - bio = json.getString("bio"); - } catch (JSONException ignored) {} - try { - location = json.getString("location"); - } catch (JSONException ignored) {} - if(!json.getString("blog").equals("")) website = json.getString("blog"); + Response response = new OkHttpClient().newCall(request).execute(); + JSONObject json = new JSONObject(response.body().string()); - EmbedBuilder builder = new EmbedBuilder(); - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder) - .setAuthor("Information about " + nickname + " (" + args[0] + ")", "https://github.com/" + args[0] + "", "https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png") - .setThumbnail(json.getString("avatar_url")) - .addField("User bio", bio, false) - .addField("Location", location, true) - .addField("Website", website, true) - .addField("Public repositories", String.valueOf(json.getInt("public_repos")), true) - .addField("Public gists", String.valueOf(json.getInt("public_gists")), true) - .addField("Followers", String.valueOf(json.getInt("followers")), true) - .addField("Following", String.valueOf(json.getInt("following")), true) - .build()).queue(); + String nickname = json.getString("name"); + String bio = "None"; + String location = "Unknown"; + String website = "None"; + try { + bio = json.getString("bio"); + } catch (JSONException ignored) { + } + try { + location = json.getString("location"); + } catch (JSONException ignored) { + } - } catch (IOException | NullPointerException e) { - EmbedBuilder builder = new EmbedBuilder(); - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.ERROR, builder).setDescription("The GitHub API might be down at the moment!").build()).queue(); - } catch (JSONException e) { - EmbedBuilder builder = new EmbedBuilder(); - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("This user does not exist!").build()).queue(); + if (!json.getString("blog").equals("")) website = json.getString("blog"); + + EmbedBuilder builder = new EmbedBuilder(); + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder) + .setAuthor("Information about " + nickname + " (" + args[0] + ")", "https://github.com/" + args[0] + "", "https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png") + .setThumbnail(json.getString("avatar_url")) + .addField("User bio", bio, false) + .addField("Location", location, true) + .addField("Website", website, true) + .addField("Public repositories", String.valueOf(json.getInt("public_repos")), true) + .addField("Public gists", String.valueOf(json.getInt("public_gists")), true) + .addField("Followers", String.valueOf(json.getInt("followers")), true) + .addField("Following", String.valueOf(json.getInt("following")), true) + .build()).queue(); + + } catch (IOException | NullPointerException e) { + EmbedBuilder builder = new EmbedBuilder(); + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.ERROR, builder).setDescription("The GitHub API might be down at the moment!").build()).queue(); + } catch (JSONException e) { + EmbedBuilder builder = new EmbedBuilder(); + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("This user does not exist!").build()).queue(); + } } } else { - EmbedBuilder builder = new EmbedBuilder(); - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to specify a user!").build()).queue(); + event.getTextChannel().sendMessage("SOON").queue(); } } diff --git a/src/main/java/com/bbn/hadder/commands/misc/InviteCommand.java b/src/main/java/com/bbn/hadder/commands/misc/InviteCommand.java new file mode 100644 index 0000000..ac79e18 --- /dev/null +++ b/src/main/java/com/bbn/hadder/commands/misc/InviteCommand.java @@ -0,0 +1,35 @@ +package com.bbn.hadder.commands.misc; + +/* + * @author Skidder / GregTCLTK + */ + +import com.bbn.hadder.Hadder; +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 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!](discordapp.com/oauth2/authorize?client_id=" + Hadder.shardManager.getGuilds().get(0).getSelfMember().getId() + "&scope=bot&permissions=470133879)").build()).queue(); + } + + @Override + public String[] labels() { + return new String[]{"invite"}; + } + + @Override + public String description() { + return "Hadder Bot Invite"; + } + + @Override + public String usage() { + return ""; + } +} diff --git a/src/main/java/com/bbn/hadder/commands/moderation/BanCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/BanCommand.java index 5d61ed8..58a61ca 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/BanCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/BanCommand.java @@ -39,9 +39,28 @@ public class BanCommand 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 a user!").build()).queue(); - } else { + } else if (event.getMessage().getMentionedMembers().size() > 1) { + for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) { + Member member = event.getMessage().getMentionedMembers().get(i); + if (!event.getAuthor().getId().equals(member.getId())) { + if (!event.getJDA().getSelfUser().getId().equals(member.getId())) { + if (event.getGuild().getSelfMember().canInteract(member)) { + event.getGuild().ban(member, 0).reason("Mass Ban by " + event.getAuthor().getAsTag()).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).setDescription("I can not ban myself!").build()).queue(); + } + } else { + EmbedBuilder builder = new EmbedBuilder(); + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You can't ban yourself.").build()).queue(); + } + } EmbedBuilder builder = new EmbedBuilder(); - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("We will be adding multiple banning within a command in the future.").build()).queue(); + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).setTitle("✅ Successfully banned ✅").setDescription("I successfully banned " + event.getMessage().getMentionedMembers().size() + " Members!").build()).queue(); } } else { EmbedBuilder builder = new EmbedBuilder(); diff --git a/src/main/java/com/bbn/hadder/commands/moderation/KickCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/KickCommand.java index 74ca429..5d8cba1 100644 --- a/src/main/java/com/bbn/hadder/commands/moderation/KickCommand.java +++ b/src/main/java/com/bbn/hadder/commands/moderation/KickCommand.java @@ -11,6 +11,7 @@ import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.entities.Member; + public class KickCommand implements Command { @Override @@ -30,18 +31,37 @@ public class KickCommand implements Command { } } else { EmbedBuilder builder = new EmbedBuilder(); - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("I can not kick myself").build()).queue(); + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("I can not kick myself!").build()).queue(); } } else { EmbedBuilder builder = new EmbedBuilder(); 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 a user!").build()).queue(); - } else { - EmbedBuilder builder = new EmbedBuilder(); - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("We will be adding multiple kicking within a command in the future.").build()).queue(); + EmbedBuilder builder = new EmbedBuilder(); + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to mention a user!").build()).queue(); + } else if (event.getMessage().getMentionedMembers().size() > 1) { + for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) { + Member member = event.getMessage().getMentionedMembers().get(i); + if (!event.getAuthor().getId().equals(member.getId())) { + if (!event.getJDA().getSelfUser().getId().equals(member.getId())) { + if (event.getGuild().getSelfMember().canInteract(member)) { + event.getGuild().kick(member).reason("Mass Kicked by " + event.getAuthor().getAsTag()).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).setDescription("I can not kick myself!").build()).queue(); + } + } else { + EmbedBuilder builder = new EmbedBuilder(); + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You can't kick yourself.").build()).queue(); + } + } + EmbedBuilder builder = new EmbedBuilder(); + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).setTitle("✅ Successfully kicked ✅").setDescription("I successfully kicked " + event.getMessage().getMentionedMembers().size() + " Members!").build()).queue(); } } } diff --git a/src/main/java/com/bbn/hadder/commands/moderation/NickCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/NickCommand.java new file mode 100644 index 0000000..3d1e6bb --- /dev/null +++ b/src/main/java/com/bbn/hadder/commands/moderation/NickCommand.java @@ -0,0 +1,46 @@ +package com.bbn.hadder.commands.moderation; + +/* + * @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; + +public class NickCommand implements Command { + + @Override + public void executed(String[] args, CommandEvent event) { + if (event.getMember().hasPermission(Permission.NICKNAME_MANAGE)) { + if (event.getGuild().getSelfMember().hasPermission(Permission.NICKNAME_MANAGE)) { + if (args.length < 1) { + + } + } 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_PERMISSION, builder).build()).queue(); + } + } + + @Override + public String[] labels() { + return new String[]{"nick"}; + } + + @Override + public String description() { + return "Rename a user"; + } + + @Override + public String usage() { + return "<@user> "; + } +} 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 0923ba1..b058ffa 100644 --- a/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java +++ b/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java @@ -12,10 +12,11 @@ import net.dv8tion.jda.api.EmbedBuilder; public class RebootCommand implements Command { + @Override public void executed(String[] args, CommandEvent event) { if (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")) { - + } else { EmbedBuilder builder = new EmbedBuilder(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.NO_PERMISSION, builder).build()).queue();