diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..3c8ecfa
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,28 @@
+# Java sources
+*.java text diff=java
+*.gradle text diff=java
+*.gradle.kts text diff=java
+
+# These files are text and should be normalized (Convert crlf => lf)
+*.css text diff=css
+*.df text
+*.htm text diff=html
+*.html text diff=html
+*.js text
+*.jsp text
+*.jspf text
+*.jspx text
+*.properties text
+*.tld text
+*.tag text
+*.tagx text
+*.xml text
+
+# These files are binary and should be left untouched
+# (binary is a macro for -text -diff)
+*.class binary
+*.dll binary
+*.ear binary
+*.jar binary
+*.so binary
+*.war binary
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 0000000..8084d83
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,34 @@
+---
+name: Bug report
+about: Create a report to help us improve
+title: Bug report
+labels: bug
+assignees: ''
+
+---
+
+**Describe the bug**
+A clear and concise description of what the bug is.
+
+**To Reproduce**
+Steps to reproduce the behavior:
+1. Go to '...'
+2. Click on '....'
+3. Scroll down to '....'
+4. See error
+
+**Expected behavior**
+A clear and concise description of what you expected to happen.
+
+**Screenshots**
+If applicable, add screenshots to help explain your problem.
+
+**Desktop (please complete the following information):**
+ - Discord version: [e.g. Discord PTB]
+
+**Smartphone (please complete the following information):**
+ - Device: [e.g. iPhone6]
+ - OS: [e.g. iOS8.1]
+
+**Additional context**
+Add any other context about the problem here.
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index aaeb397..a15e1a2 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -3,7 +3,7 @@ name: Hadder
on: [push]
jobs:
- test:
+ build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
@@ -16,7 +16,7 @@ jobs:
deploy:
runs-on: ubuntu-latest
- needs: test
+ needs: build
if: github.ref == 'refs/heads/master'
steps:
- uses: actions/checkout@v1
@@ -41,7 +41,7 @@ jobs:
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
port: ${{ secrets.PORT }}
- script: /home/Bots/deploy.sh
+ script: /home/Bots/deploy.sh
- name: Send Webhook Notification
if: always()
env:
diff --git a/README.md b/README.md
index a78d7e1..1116bc3 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,11 @@
# Hadder
-The Hadder Discord bot is a multi-purpose Discord Bot.
+The Hadder Discord Bot is a multi-purpose Discord Bot.
[](https://github.com/BigBotNetwork/Hadder)
+[](https://www.codacy.com/gh/BigBotNetwork/Hadder?utm_source=github.com&utm_medium=referral&utm_content=BigBotNetwork/Hadder&utm_campaign=Badge_Grade)
+[](https://top.gg/bot/637002314162372639)
+[](https://botlist.space/bot/637002314162372639?utm_source=bls&utm_medium=widget&utm_campaign=637002314162372639)
diff --git a/example-config.json b/example-config.json
new file mode 100644
index 0000000..f201256
--- /dev/null
+++ b/example-config.json
@@ -0,0 +1,24 @@
+{
+ "Owners":
+ [],
+ "Database":{"IP":"",
+ "Port": 6775,
+ "DBName": "",
+ "Username": "",
+ "Password": ""},
+ "Tokens": {
+ "BotToken": "",
+ "Giphy": "",
+ "GitHub": "",
+ "MythicalBotList": "",
+ "BotsForDiscord": "",
+ "DiscordBotList": "",
+ "DiscordBestBots": "",
+ "DiscordBoats": "",
+ "YetAnotherBotList": "",
+ "DiscordExtremeList": "",
+ "DiscordBotReviews": "",
+ "DiscordBots": "",
+ "BotListSpace": ""
+ }
+}
diff --git a/pom.xml b/pom.xml
index fcd89b3..cbb6bb5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
Hadder
Hadder
- 0.7.1-ALPHA
+ 0.8-ALPHA
Hadder
@@ -25,7 +25,7 @@
net.dv8tion
JDA
- 4.0.0_62
+ 4.0.0_69
org.json
@@ -60,7 +60,12 @@
org.kohsuke
github-api
- 1.99
+ 1.101
+
+
+ com.sedmelluq
+ lavaplayer
+ 1.3.32
@@ -131,14 +136,6 @@
13
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
- 12
- 12
-
-
maven-assembly-plugin
diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java
index eede5b6..71e75f9 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();
@@ -34,6 +35,7 @@ public class Hadder {
DefaultShardManagerBuilder builder = new DefaultShardManagerBuilder();
+ builder.setAutoReconnect(true);
builder.setShardsTotal(1);
builder.setActivity(Activity.streaming("on the BigBotNetwork", "https://twitch.tv/BigBotNetwork"));
builder.setToken(config.getBotToken());
@@ -52,7 +54,7 @@ public class Hadder {
new GifCommand(),
new ClearCommand(),
new GitHubCommand(),
- new ScreenshareCommand(),
+ new ScreenShareCommand(),
new RebootCommand(),
new EqualsCommand(),
new InviteCommand(),
@@ -70,6 +72,13 @@ public class Hadder {
new RoleCommand(),
new RulesCommand(),
new FeedbackCommand(),
+ new AvatarCommand(),
+ new EvalCommand(),
+ new JoinCommand(),
+ new LeaveCommand(),
+ new GuildLeaveCommand(),
+ new MemeCommand(),
+ new InviteDetectCommand(),
new LinkCommand()), config, helpCommand);
builder.addEventListeners(
@@ -78,9 +87,9 @@ public class Hadder {
new CommandListener(rethink, commandHandler),
new GuildListener(rethink, config),
new ReadyListener(rethink, config),
- new LinkListener(rethink),
+ //new LinkListener(rethink),
+ new InviteLinkListener(rethink),
new RulesListener(rethink));
-
try {
shardManager = builder.build();
diff --git a/src/main/java/com/bbn/hadder/Rethink.java b/src/main/java/com/bbn/hadder/Rethink.java
index e6ce4d6..283a1a1 100644
--- a/src/main/java/com/bbn/hadder/Rethink.java
+++ b/src/main/java/com/bbn/hadder/Rethink.java
@@ -32,7 +32,7 @@ public class Rethink {
.connect();
System.out.println("DB CONNECTED");
} catch (Exception e) {
- System.out.println(e.toString());
+ e.printStackTrace();
System.out.println("DB CONNECTION FAILED");
}
}
@@ -59,7 +59,7 @@ public class Rethink {
}
private String update(String table, String wherevalue, String what, String whatvalue) {
- String out="";
+ String out = "";
try {
Cursor cursor = r.table(table).get(wherevalue).update(r.hashMap(what, whatvalue)).run(conn);
out=cursor.toString();
@@ -95,16 +95,16 @@ public class Rethink {
}
- public String setUserPrefix(String prefix, String userid) {
- return this.update("user", userid, "prefix", prefix);
+ public void setUserPrefix(String prefix, String userid) {
+ this.update("user", userid, "prefix", prefix);
}
public String getUserPrefix(String id) {
return (String) this.get("user", "id", id, "prefix");
}
- public String setGuildPrefix(String prefix, String guildid) {
- return this.update("server", guildid, "prefix", prefix);
+ public void setGuildPrefix(String prefix, String guildid) {
+ this.update("server", guildid, "prefix", prefix);
}
public String getGuildPrefix(String id) {
@@ -115,12 +115,12 @@ public class Rethink {
return new JSONArray((String) this.get("server", "id", id, "links"));
}
- public String addLinkedGuild(String guildid, String linkid) {
+ public void addLinkedGuild(String guildid, String linkid) {
JSONArray links = getLinks(guildid);
for (int i = 0; links.length()>i; i++) {
- if (links.getString(i).equals(linkid)) return null;
+ if (links.getString(i).equals(linkid)) return;
}
- return this.update("server", guildid, "links", this.getLinks(guildid).put(linkid).toString());
+ this.update("server", guildid, "links", this.getLinks(guildid).put(linkid).toString());
}
public String removeLinkedGuild(String guildid, String linkid) {
@@ -134,26 +134,27 @@ public class Rethink {
return this.update("server", guildid, "links", linkedguildslist.toString());
}
- public String setLinkChannel(String guildid, String channelid) {
- return this.update("server", guildid, "linkchannel", channelid);
+ public void setLinkChannel(String guildid, String channelid) {
+ this.update("server", guildid, "linkchannel", channelid);
}
public String getLinkChannel(String guildid) {
return (String) this.get("server", "id", guildid, "linkchannel");
}
- public String insertGuild(String id) {
- return this.insert("server", r.hashMap("id", id).with("prefix", "h.").with("links", "[]").with("linkchannel", "").with("message_id", "").with("role_id", ""));
+ public void insertGuild(String id) {
+ this.insert("server", r.hashMap("id", id).with("prefix", "h.").with("links", "[]").with("linkchannel", "").with("message_id", "").with("role_id", "").with("invite_detect", false));
}
- public String insertUser(String id) {
- return this.insert("user", r.hashMap("id", id).with("prefix", "h."));
+ public void insertUser(String id) {
+ this.insert("user", r.hashMap("id", id).with("prefix", "h."));
}
- public String updateRules(String guild_id, String message_id, String role_id) {
+ public void updateRules(String guild_id, String message_id, String role_id, String accept_emote, String decline_emote) {
this.update("server", guild_id, "message_id", message_id);
this.update("server", guild_id, "role_id", role_id);
- return null;
+ this.update("server", guild_id, "accept_emote", accept_emote);
+ this.update("server", guild_id, "decline_emote", decline_emote);
}
public String getRulesMID(String guild_id) {
@@ -164,4 +165,24 @@ public class Rethink {
return (String) this.get("server", "id", guild_id, "role_id");
}
+ public String getRulesAEmote(String guild_id) {
+ return (String) this.get("server", "id", guild_id, "accept_emote");
+ }
+
+ public String getRulesDEmote(String guild_id) {
+ return (String) this.get("server", "id", guild_id, "decline_emote");
+ }
+
+ public void setInviteDetection(String guild_id, boolean b) {
+ try {
+ r.table("server").get(guild_id).update(r.hashMap("invite_detect", b)).run(conn);
+ } catch (ClassCastException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public Boolean getInviteDetection(String guild_id) {
+ return (Boolean) this.get("server", "id", guild_id, "invite_detect");
+ }
+
}
diff --git a/src/main/java/com/bbn/hadder/commands/fun/AvatarCommand.java b/src/main/java/com/bbn/hadder/commands/fun/AvatarCommand.java
new file mode 100644
index 0000000..fab81a9
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/commands/fun/AvatarCommand.java
@@ -0,0 +1,56 @@
+package com.bbn.hadder.commands.fun;
+
+/*
+ * @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.entities.Member;
+
+public class AvatarCommand implements Command {
+
+ @Override
+ public void executed(String[] args, CommandEvent event) {
+ if (args.length == 0) {
+ Member member = event.getMember();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Avatar of " + member.getUser().getAsTag())
+ .setImage(member.getUser().getAvatarUrl())
+ .setFooter(member.getUser().getAsTag())
+ .build()).queue();
+ } else if (event.getMessage().getMentionedMembers().size() == 1) {
+ Member member = event.getMessage().getMentionedMembers().get(0);
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Avatar of " + member.getUser().getAsTag())
+ .setImage(member.getUser().getAvatarUrl())
+ .setFooter(member.getUser().getAsTag())
+ .build()).queue();
+ } else if (args[0].length() == 18){
+ Member member = event.getGuild().getMemberById(args[0]);
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Avatar of " + member.getUser().getAsTag())
+ .setImage(member.getUser().getAvatarUrl())
+ .setFooter(member.getUser().getAsTag())
+ .build()).queue();
+ } else {
+ event.getHelpCommand().sendHelp(this , event.getRethink(), event.getAuthor(), event.getTextChannel());
+ }
+ }
+
+ @Override
+ public String[] labels() {
+ return new String[]{"avatar"};
+ }
+
+ @Override
+ public String description() {
+ return "Sends the avatar of the specified member.";
+ }
+
+ @Override
+ public String usage() {
+ return "<@User>/";
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java b/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java
index 25efe90..7d7bdec 100644
--- a/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java
@@ -6,9 +6,7 @@ package com.bbn.hadder.commands.fun;
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
-import com.bbn.hadder.core.Config;
import com.bbn.hadder.utils.MessageEditor;
-import net.dv8tion.jda.api.EmbedBuilder;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
@@ -28,19 +26,18 @@ public class GifCommand implements Command {
query = new StringBuilder(query.substring(0, query.length() - 1));
}
- OkHttpClient caller = new OkHttpClient();
+ OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().url("http://api.giphy.com/v1/gifs/search?q=" + query + "&api_key=" + event.getConfig().getGiphyToken()).build();
try {
Random rand = new Random();
- Response response = caller.newCall(request).execute();
+ Response response = client.newCall(request).execute();
JSONObject json = new JSONObject(response.body().string());
JSONArray array = json.getJSONArray("data");
int gifIndex = rand.nextInt(array.length());
String url = array.getJSONObject(gifIndex).get("url").toString();
event.getTextChannel().sendMessage(url).queue();
} catch (Exception e) {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR, builder).setTitle("Error").setDescription("Please try again with another term.").build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR).setTitle("Error").setDescription("Please try again with another term.").build()).queue();
}
} else {
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
diff --git a/src/main/java/com/bbn/hadder/commands/fun/MemeCommand.java b/src/main/java/com/bbn/hadder/commands/fun/MemeCommand.java
new file mode 100644
index 0000000..3accd6c
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/commands/fun/MemeCommand.java
@@ -0,0 +1,58 @@
+package com.bbn.hadder.commands.fun;
+
+/*
+ * @author Skidder / GregTCLTK
+ */
+
+import com.bbn.hadder.commands.Command;
+import com.bbn.hadder.commands.CommandEvent;
+import com.bbn.hadder.utils.MessageEditor;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
+import org.json.JSONObject;
+
+import java.awt.*;
+import java.io.IOException;
+
+public class MemeCommand implements Command {
+
+ @Override
+ public void executed(String[] args, CommandEvent event) {
+
+ OkHttpClient client = new OkHttpClient();
+ Request request = new Request.Builder().url("https://some-random-api.ml/meme").build();
+
+ try {
+ Response response = client.newCall(request).execute();
+ JSONObject json = new JSONObject(response.body().string());
+ String url = json.get("image").toString();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Your random meme")
+ .setImage(url)
+ .build()).queue();
+ } catch (IOException e) {
+ e.printStackTrace();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
+ .setTitle("Error!")
+ .setDescription("The request to the meme API could not be processed. Please try it again later.")
+ .setColor(Color.RED)
+ .build()).queue();
+ }
+ }
+
+ @Override
+ public String[] labels() {
+ return new String[]{"meme"};
+ }
+
+ @Override
+ public String description() {
+ return "Sends you a random meme.";
+ }
+
+ @Override
+ public String usage() {
+ return "";
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/commands/misc/EqualsCommand.java b/src/main/java/com/bbn/hadder/commands/general/EqualsCommand.java
similarity index 71%
rename from src/main/java/com/bbn/hadder/commands/misc/EqualsCommand.java
rename to src/main/java/com/bbn/hadder/commands/general/EqualsCommand.java
index 4ea64b1..d23bead 100644
--- a/src/main/java/com/bbn/hadder/commands/misc/EqualsCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/general/EqualsCommand.java
@@ -1,10 +1,13 @@
-package com.bbn.hadder.commands.misc;
+package com.bbn.hadder.commands.general;
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.EventWaiter;
import com.bbn.hadder.utils.MessageEditor;
-import net.dv8tion.jda.api.EmbedBuilder;
+
+/*
+ * @author Skidder / GregTCLTK
+ */
public class EqualsCommand implements Command {
@@ -12,32 +15,24 @@ public class EqualsCommand implements Command {
public void executed(String[] args, CommandEvent event) {
event.getChannel().sendMessage(
new MessageEditor()
- .setDefaultSettings(
- MessageEditor.MessageType.INFO,
- new EmbedBuilder()
- .setTitle("Please send me the first String")
- ).build()
- ).queue();
+ .setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Please send me the first String")
+ .build()).queue();
new EventWaiter().newOnMessageEventWaiter(msgevent -> {
String firstString = msgevent.getMessage().getContentRaw();
event.getChannel().sendMessage(
new MessageEditor()
.setDefaultSettings(
- MessageEditor.MessageType.INFO,
- new EmbedBuilder()
- .setTitle("Please send me the second String")
- ).build()
- ).queue();
+ MessageEditor.MessageType.INFO).setTitle("Please send me the second String").build()).queue();
new EventWaiter().newOnMessageEventWaiter(msgevent2 -> {
String secondString = msgevent2.getMessage().getContentRaw();
event.getChannel().sendMessage(
- new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle((firstString.equals(secondString)) ? "Yes! The first string equals the second string!" : "Well yes, but actually No. This isn't the same.")
.addField("First String", firstString, false)
.addField("Second String", secondString, false)
.addField("Result", String.valueOf(firstString.equals(secondString)), false)
- ).build()
- ).queue();
+ .build()).queue();
}, event.getJDA(), event.getAuthor());
}, event.getJDA(), event.getAuthor());
}
diff --git a/src/main/java/com/bbn/hadder/commands/general/HelpCommand.java b/src/main/java/com/bbn/hadder/commands/general/HelpCommand.java
index 45d3b0e..bb7c868 100644
--- a/src/main/java/com/bbn/hadder/commands/general/HelpCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/general/HelpCommand.java
@@ -42,12 +42,12 @@ public class HelpCommand implements Command {
eb.addField(ps[ps.length - 1], sb.toString(), false);
}
}
- new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, eb);
+ new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO);
event.getChannel().sendMessage(eb.build()).queue();
} else {
for (Command cmd : event.getCommandHandler().getCommandList()) {
for (String label : cmd.labels()) {
- if (label.toLowerCase().equals(args[0])) {
+ if (label.equalsIgnoreCase(args[0])) {
sendHelp(cmd, event.getRethink(), event.getAuthor(), event.getTextChannel());
}
}
@@ -65,7 +65,7 @@ public class HelpCommand implements Command {
String name = cmd.labels()[0];
eb.setDescription(cmd.description()).setTitle(name.replaceFirst(String.valueOf(name.charAt(0)), String.valueOf(name.charAt(0)).toUpperCase()));
eb.addField("Usage", rethink.getUserPrefix(author.getId()) + cmd.labels()[0] + " " + cmd.usage(), false);
- new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, eb);
+ new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO);
channel.sendMessage(eb.build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/misc/InviteCommand.java b/src/main/java/com/bbn/hadder/commands/general/InviteCommand.java
similarity index 61%
rename from src/main/java/com/bbn/hadder/commands/misc/InviteCommand.java
rename to src/main/java/com/bbn/hadder/commands/general/InviteCommand.java
index 6357d0e..1d99179 100644
--- a/src/main/java/com/bbn/hadder/commands/misc/InviteCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/general/InviteCommand.java
@@ -1,4 +1,4 @@
-package com.bbn.hadder.commands.misc;
+package com.bbn.hadder.commands.general;
/*
* @author Skidder / GregTCLTK
@@ -8,14 +8,19 @@ 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;
+
+/*
+ * @author Skidder / GregTCLTK
+ */
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)
+ .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
diff --git a/src/main/java/com/bbn/hadder/commands/general/PingCommand.java b/src/main/java/com/bbn/hadder/commands/general/PingCommand.java
index 29c3b3b..536975a 100644
--- a/src/main/java/com/bbn/hadder/commands/general/PingCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/general/PingCommand.java
@@ -7,14 +7,12 @@ package com.bbn.hadder.commands.general;
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 PingCommand implements Command {
@Override
public void executed(String[] args, CommandEvent event) {
- EmbedBuilder builder = new EmbedBuilder();
- event.getJDA().getRestPing().queue(ping -> event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setTitle("Ping").setDescription(String.valueOf(ping)).build()).queue());
+ event.getJDA().getRestPing().queue(ping -> event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("Ping").setDescription(String.valueOf(ping)).build()).queue());
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/misc/FeedbackCommand.java b/src/main/java/com/bbn/hadder/commands/misc/FeedbackCommand.java
index 002939c..c4889da 100644
--- a/src/main/java/com/bbn/hadder/commands/misc/FeedbackCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/misc/FeedbackCommand.java
@@ -8,7 +8,6 @@ import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.EventWaiter;
import com.bbn.hadder.utils.MessageEditor;
-import net.dv8tion.jda.api.EmbedBuilder;
import org.kohsuke.github.GHIssue;
import org.kohsuke.github.GHRepository;
import org.kohsuke.github.GitHub;
@@ -19,15 +18,15 @@ public class FeedbackCommand implements Command {
@Override
public void executed(String[] args, CommandEvent event) {
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Feedback Topic")
- .setDescription("Please send me the feedback topic."))
+ .setDescription("Please send me the feedback topic.")
.build()).queue();
new EventWaiter().newOnMessageEventWaiter(event1 -> {
String title = event1.getMessage().getContentDisplay();
- event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Feedback Description")
- .setDescription("Please send me the feedback description now."))
+ .setDescription("Please send me the feedback description now.")
.build()).queue();
new EventWaiter().newOnMessageEventWaiter(event2 -> {
String description = event2.getMessage().getContentDisplay();
@@ -35,8 +34,8 @@ public class FeedbackCommand implements Command {
GitHub connection = GitHub.connectUsingOAuth(event.getConfig().getGitHubToken());
GHRepository Hadder = connection.getOrganization("BigBotNetwork").getRepository("Hadder");
GHIssue issue = Hadder.createIssue(title).body("Feedback by " + event.getAuthor().getAsTag() + "
" + description).label("feedback").create();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
- .setTitle("Feedback successfully sent"))
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Feedback successfully sent")
.setDescription(issue.getHtmlUrl().toString())
.build()).queue();
} catch (IOException e) {
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 2cc681b..1e14ae3 100644
--- a/src/main/java/com/bbn/hadder/commands/misc/GitHubCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/misc/GitHubCommand.java
@@ -7,7 +7,6 @@ package com.bbn.hadder.commands.misc;
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 okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
@@ -22,8 +21,7 @@ public class GitHubCommand implements Command {
public void executed(String[] args, CommandEvent event) {
if (args.length > 0) {
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();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).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 {
@@ -46,8 +44,7 @@ public class GitHubCommand implements Command {
if (!json.getString("blog").equals("")) website = json.getString("blog");
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.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)
@@ -60,15 +57,16 @@ public class GitHubCommand implements Command {
.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();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR).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();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription("This user does not exist!").build()).queue();
}
}
} else {
- event.getTextChannel().sendMessage("SOON").queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Connect you GH account")
+ .setDescription("[Please connect your GitHub account here](https://github.com/login/oauth/authorize?client_id=25321f690bb1b6952942)")
+ .build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/misc/ScreenshareCommand.java b/src/main/java/com/bbn/hadder/commands/misc/ScreenShareCommand.java
similarity index 87%
rename from src/main/java/com/bbn/hadder/commands/misc/ScreenshareCommand.java
rename to src/main/java/com/bbn/hadder/commands/misc/ScreenShareCommand.java
index c9adbe0..15d2909 100644
--- a/src/main/java/com/bbn/hadder/commands/misc/ScreenshareCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/misc/ScreenShareCommand.java
@@ -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) {
@@ -17,15 +18,15 @@ public class ScreenshareCommand implements Command {
for (VoiceChannel vc : event.getGuild().getVoiceChannels()) {
try {
if (vc.getIdLong() == Long.parseLong(args[0])) {
- event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Here's your Url to share your Screen")
- .setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vc.getId() + "/")).build()).queue();
+ .setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vc.getId() + "/").build()).queue();
return;
}
} catch (NumberFormatException e) {
- event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR, new EmbedBuilder()
+ event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
.setTitle("Wait, that's illegal")
- .setDescription("This ID is invalid. \nMaybe you entered a wrong ID? \n\nNote: Make sure the Voice Channel is on this Guild.")).build()).queue();
+ .setDescription("This ID is invalid. \nMaybe you entered a wrong ID? \n\nNote: Make sure the Voice Channel is on this Guild.").build()).queue();
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
return;
}
@@ -40,38 +41,40 @@ public class ScreenshareCommand implements Command {
VoiceChannel voiceChannel = vcs.get(i);
eb.addField(i + ": " + voiceChannel.getName(), voiceChannel.getId(), false);
}
- event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, eb).build()).queue();
+ event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).build()).queue();
new EventWaiter().newOnMessageEventWaiter(msgevent -> {
try {
int i = Integer.parseInt(msgevent.getMessage().getContentRaw());
if (vcs.size() > i) {
- event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Here's your Url to share your Screen")
- .setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vcs.get(i).getId() + "/")).build()).queue();
+ .setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vcs.get(i).getId() + "/").build()).queue();
} else {
- event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR, new EmbedBuilder()
- .setTitle("You specified a wrong number!")).build()).queue();
+ event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
+ .setTitle("You specified a wrong number!").build()).queue();
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
}
} catch (NumberFormatException e) {
- event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR, new EmbedBuilder()
+ event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
.setTitle("Wait, that's illegal")
- .setDescription("This isn't a Number.")).build()).queue();
+ .setDescription("This isn't a Number.").build()).queue();
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
}
}, event.getJDA(), event.getAuthor());
} else if (vcs.size()==0) {
- event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR, new EmbedBuilder()
+ event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
.setTitle("Hol' up")
- .setDescription("There is no Voice Channel named like this. \n\nNote: Make sure the Voice Channel is on this Guild.")).build()).queue();
+ .setDescription("There is no Voice Channel named like this. \n\nNote: Make sure the Voice Channel is on this Guild.").build()).queue();
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
} else {
- event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Here's your Url to share your Screen")
- .setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vcs.get(0).getId() + "/")).build()).queue();
+ .setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vcs.get(0).getId() + "/").build()).queue();
}
}
+ } else {
+ event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
}
}
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 07405a4..178ebdb 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/BanCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/BanCommand.java
@@ -7,7 +7,6 @@ package com.bbn.hadder.commands.moderation;
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.Member;
@@ -15,30 +14,24 @@ public class BanCommand implements Command {
@Override
public void executed(String[] args, CommandEvent event) {
- if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.BAN_MEMBERS) || event.getGuild().getOwner().getId().equals(event.getAuthor().getId())) {
+ if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.BAN_MEMBERS) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
if (event.getMessage().getMentionedMembers().size() == 1) {
Member victim = event.getMessage().getMentionedMembers().get(0);
if (!event.getAuthor().getId().equals(victim.getId())) {
if (!event.getJDA().getSelfUser().getId().equals(victim.getId())) {
if (event.getGuild().getSelfMember().canInteract(victim)) {
event.getGuild().ban(victim, 0, "Banned by " + event.getAuthor().getAsTag()).queue();
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setTitle("✅ Successfully banned ✅").setDescription("I successfully baned " + victim.getUser().getName() + ".").build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully banned ✅").setDescription("I successfully baned " + victim.getUser().getName() + ".").build()).queue();
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).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();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription("I can not ban myself").build()).queue();
}
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("Not possible").setDescription("You can't ban yourself.").build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("Not possible").setDescription("You can't ban 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++) {
@@ -48,24 +41,19 @@ public class BanCommand implements Command {
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();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).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();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).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();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription("You can't ban yourself.").build()).queue();
}
}
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setTitle("✅ Successfully banned ✅").setDescription("I successfully banned " + event.getMessage().getMentionedMembers().size() + " Members!").build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully banned ✅").setDescription("I successfully banned " + event.getMessage().getMentionedMembers().size() + " Members!").build()).queue();
}
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder).build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java
index 884c7d8..a4288a7 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java
@@ -7,7 +7,6 @@ package com.bbn.hadder.commands.moderation;
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.Message;
@@ -20,37 +19,29 @@ public class ClearCommand implements Command {
@Override
public void executed(String[] args, CommandEvent event) {
if (args.length > 0) {
- if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.MESSAGE_MANAGE) || event.getGuild().getOwnerId().equals(event.getAuthor().getId())) {
+ if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.MESSAGE_MANAGE) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
if (event.getGuild().getMemberById(event.getJDA().getSelfUser().getId()).hasPermission(Permission.MESSAGE_MANAGE)) {
try {
int nbToDelete = Integer.parseInt(args[0]);
if(nbToDelete < 1 || nbToDelete > 200) {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("You have to choose a number between 1 and 200!").build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription("You have to choose a number between 1 and 200!").build()).queue();
return;
}
List history = event.getTextChannel().getHistory().retrievePast(nbToDelete +1).complete();
List msgToDelete = new ArrayList<>();
msgToDelete.addAll(history);
event.getTextChannel().deleteMessages(msgToDelete).queue();
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setDescription("Successfully deleted " + nbToDelete + " messages.").build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).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 {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder).build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).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());
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/moderation/GuildPrefixCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/GuildPrefixCommand.java
index 8407394..38b9d21 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/GuildPrefixCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/GuildPrefixCommand.java
@@ -3,34 +3,26 @@ package com.bbn.hadder.commands.moderation;
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 GuildPrefixCommand implements Command {
@Override
public void executed(String[] args, CommandEvent event) {
- if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.MANAGE_SERVER) || event.getGuild().getOwnerId().equals(event.getAuthor().getId())) {
+ if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
if (args.length == 1) {
if (!args[0].contains("\"")) {
event.getRethink().setGuildPrefix(args[0], event.getGuild().getId());
-
- 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();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully set ✅").setDescription("I successfully set the new prefix for the guild to " + args[0]).build()).queue();
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("The prefix must not contain **\"**").build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).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 {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder).build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/moderation/InviteDetectCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/InviteDetectCommand.java
new file mode 100644
index 0000000..12ddc03
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/commands/moderation/InviteDetectCommand.java
@@ -0,0 +1,72 @@
+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.Permission;
+
+public class InviteDetectCommand implements Command {
+
+ @Override
+ public void executed(String[] args, CommandEvent event) {
+ if (args.length == 1) {
+ if (event.getMember().hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
+ String opinion = args[0].toLowerCase();
+ switch (opinion) {
+ case "on":
+ if (!event.getRethink().getInviteDetection(event.getGuild().getId())) {
+ event.getRethink().setInviteDetection(event.getGuild().getId(), true);
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Successfully activated")
+ .setDescription("I successfully activated the invite link detection for this guild.")
+ .build()).queue();
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING)
+ .setTitle("Already activated")
+ .setDescription("The invite link detection is already activated on this guild.")
+ .build()).queue();
+ }
+ break;
+
+ case "off":
+ if (event.getRethink().getInviteDetection(event.getGuild().getId())) {
+ event.getRethink().setInviteDetection(event.getGuild().getId(), false);
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Successfully deactivated")
+ .setDescription("I successfully deactivated the invite link detection for this guild.")
+ .build()).queue();
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING)
+ .setTitle("Already deactivated")
+ .setDescription("The invite link detection is already deactivated on this guild.")
+ .build()).queue();
+ }
+ break;
+ }
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
+ }
+ } else {
+ event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
+ }
+ }
+
+ @Override
+ public String[] labels() {
+ return new String[]{"invitedetect", "detectinvite"};
+ }
+
+ @Override
+ public String description() {
+ return "Activate or deactivate the Discord invite link detection.";
+ }
+
+ @Override
+ public String usage() {
+ return "";
+ }
+}
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 36a7650..416027b 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/KickCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/KickCommand.java
@@ -7,7 +7,6 @@ package com.bbn.hadder.commands.moderation;
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.Member;
@@ -16,30 +15,24 @@ public class KickCommand implements Command {
@Override
public void executed(String[] args, CommandEvent event) {
- if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.KICK_MEMBERS) || event.getGuild().getOwnerId().equals(event.getAuthor().getId())) {
+ if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.KICK_MEMBERS) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
if (event.getMessage().getMentionedMembers().size() == 1) {
Member victim = event.getMessage().getMentionedMembers().get(0);
if (!event.getAuthor().getId().equals(victim.getId())) {
if (!event.getJDA().getSelfUser().getId().equals(victim.getId())) {
if (event.getGuild().getSelfMember().canInteract(victim)) {
event.getGuild().kick(victim, "Kicked by " + event.getAuthor().getAsTag()).queue();
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setTitle("✅ Successfully kicked ✅").setDescription("I successfully kicked " + victim.getUser().getName() + ".").build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully kicked ✅").setDescription("I successfully kicked " + victim.getUser().getName() + ".").build()).queue();
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).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();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).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();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).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++) {
@@ -49,20 +42,16 @@ public class KickCommand implements Command {
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();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).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();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).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();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).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();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).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/LinkCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/LinkCommand.java
index d33dd60..84a91a3 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/LinkCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/LinkCommand.java
@@ -10,13 +10,12 @@ public class LinkCommand implements Command {
@Override
public void executed(String[] args, CommandEvent event) {
if (args.length == 0) event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
- switch (args[0]) {
-
+ switch (args[0].toLowerCase()) {
case "add":
if (args.length != 2) return;
String linkid = args[1];
- // Check if guild is existing
+ // Check if guild exists
boolean found = false;
Guild linkguild = null;
for (Guild g : event.getJDA().getGuilds()) {
@@ -27,17 +26,17 @@ public class LinkCommand implements Command {
}
if (!found) {
event.getChannel().sendMessage(
- new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO,
- new EmbedBuilder().setTitle("Success!").setDescription("If i'm on this guild i sent a message to accept the link.")
- ).build()).queue();
+ new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Success!").setDescription("If i'm on this guild i sent a message to accept the link.")
+ .build()).queue();
return;
}
// Check if the guild is the same
if (event.getGuild().getId().equals(args[1])) {
event.getChannel().sendMessage(
- new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR,
- new EmbedBuilder().setTitle("Wait thats illegal.").setDescription("You specified the same guild as the guild on which you're reading this")).build()).queue();
+ new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
+ .setTitle("Wait thats illegal.").setDescription("You specified the same guild as the guild on which you're reading this").build()).queue();
return;
}
@@ -49,9 +48,9 @@ public class LinkCommand implements Command {
}
// Send Request to link Guild
event.getJDA().getTextChannelById(event.getRethink().getLinkChannel(linkid)).sendMessage(
- new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO,
- new EmbedBuilder().setTitle(event.getGuild().getName() + " (" + event.getGuild().getId() + ") wants to link guilds!")
- .setDescription("React with the reactions to accept or decline it")).build()
+ new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle(event.getGuild().getName() + " (" + event.getGuild().getId() + ") wants to link guilds!")
+ .setDescription("React with the reactions to accept or decline it").build()
).queue(
msg -> {
msg.addReaction("✅").queue();
@@ -62,9 +61,9 @@ public class LinkCommand implements Command {
event.getChannel().sendMessage(
- new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO,
- new EmbedBuilder().setTitle("Success!").setDescription("If i'm on this guild i sent a message to accept the link.")
- ).build()).queue();
+ new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Success!").setDescription("If i'm on this guild i sent a message to accept the link.")
+ .build()).queue();
break;
diff --git a/src/main/java/com/bbn/hadder/commands/moderation/NickCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/NickCommand.java
index 4ab91b9..3fb30f7 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/NickCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/NickCommand.java
@@ -7,7 +7,6 @@ package com.bbn.hadder.commands.moderation;
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.Member;
@@ -15,7 +14,7 @@ public class NickCommand implements Command {
@Override
public void executed(String[] args, CommandEvent event) {
- if (event.getMember().hasPermission(Permission.NICKNAME_MANAGE) || event.getGuild().getOwnerId().equals(event.getMember().getId())) {
+ if (event.getMember().hasPermission(Permission.NICKNAME_MANAGE) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
if (event.getGuild().getSelfMember().hasPermission(Permission.NICKNAME_MANAGE)) {
if (event.getMessage().getMentionedMembers().size() == 1) {
if (!event.getMessage().getMentionedMembers().get(0).getId().equals(event.getGuild().getSelfMember().getId())) {
@@ -23,36 +22,27 @@ public class NickCommand implements Command {
if (args.length > 1) {
if (event.getMessage().getContentRaw().startsWith(event.getRethink().getUserPrefix(event.getMember().getId()))) {
event.getGuild().modifyNickname(event.getMessage().getMentionedMembers().get(0), event.getMessage().getContentRaw().replaceFirst(event.getRethink().getUserPrefix(event.getMember().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
- EmbedBuilder builder = new EmbedBuilder();
- 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();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully nicked ✅").setDescription("I successfully nicked " + event.getMessage().getMentionedMembers().get(0).getUser().getAsTag() + ".").build()).queue();
} else if (event.getMessage().getContentRaw().startsWith(event.getRethink().getGuildPrefix(event.getGuild().getId()))) {
event.getGuild().modifyNickname(event.getMessage().getMentionedMembers().get(0), event.getMessage().getContentRaw().replaceFirst(event.getRethink().getGuildPrefix(event.getGuild().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
- EmbedBuilder builder = new EmbedBuilder();
- 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();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).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 {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} else {
if (event.getMessage().getContentRaw().startsWith(event.getRethink().getUserPrefix(event.getMember().getId()))) {
event.getGuild().getSelfMember().modifyNickname(event.getMessage().getContentRaw().replaceFirst(event.getRethink().getUserPrefix(event.getMember().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setTitle("✅ Successfully nicked ✅").setDescription("I successfully changed my nickname.").build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully nicked ✅").setDescription("I successfully changed my nickname.").build()).queue();
} else if (event.getMessage().getContentRaw().startsWith(event.getRethink().getGuildPrefix(event.getGuild().getId()))) {
event.getGuild().getSelfMember().modifyNickname(event.getMessage().getContentRaw().replaceFirst(event.getRethink().getGuildPrefix(event.getGuild().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setTitle("✅ Successfully nicked ✅").setDescription("I successfully changed my nickname.").build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully nicked ✅").setDescription("I successfully changed my nickname.").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 {
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
@@ -63,16 +53,13 @@ public class NickCommand implements Command {
event.getGuild().getSelfMember().modifyNickname(args[args.length - 1]).reason("Mass Nicked by " + event.getAuthor().getAsTag()).queue();
}
}
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setTitle("✅ Successfully nicked ✅").setDescription("I successfully nicked " + event.getMessage().getMentionedMembers().size() + " Members!").build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully nicked ✅").setDescription("I successfully nicked " + event.getMessage().getMentionedMembers().size() + " Members!").build()).queue();
}
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder).build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/moderation/RoleCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/RoleCommand.java
index 506da00..19dfe54 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/RoleCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/RoleCommand.java
@@ -3,7 +3,6 @@ package com.bbn.hadder.commands.moderation;
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.Member;
import net.dv8tion.jda.api.entities.Role;
@@ -14,8 +13,9 @@ public class RoleCommand implements Command {
public void executed(String[] args, CommandEvent event) {
if (args.length > 0) {
if (event.getMember().hasPermission(Permission.MANAGE_ROLES)) {
- if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES)) {
- switch (args[0].toLowerCase()) {
+ if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
+ String action = args[0].toLowerCase();
+ switch (action) {
case "add":
if (event.getMessage().getMentionedMembers().size() > 0 && event.getMessage().getMentionedRoles().size() > 0) {
for (Member member : event.getMessage().getMentionedMembers()) {
@@ -24,17 +24,14 @@ public class RoleCommand implements Command {
if (event.getGuild().getSelfMember().canInteract(role)) {
event.getGuild().addRoleToMember(member, role).reason("Role added by " + event.getAuthor().getAsTag()).queue();
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
}
}
- EmbedBuilder builder = new EmbedBuilder();
- event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
+ event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("✅ Successfully added role(s) ✅")
.setDescription("I successfully added " + event.getMessage().getMentionedRoles().size() + " roles to " + event.getMessage().getMentionedMembers().size() + " members.")
.build()).queue();
@@ -42,19 +39,35 @@ public class RoleCommand implements Command {
break;
case "remove":
- event.getTextChannel().sendMessage("SOON").queue();
+ if (event.getMessage().getMentionedMembers().size() > 0 && event.getMessage().getMentionedRoles().size() > 0) {
+ for (Member member : event.getMessage().getMentionedMembers()) {
+ for (Role role : event.getMessage().getMentionedRoles()) {
+ if (event.getGuild().getSelfMember().canInteract(member)) {
+ if (event.getGuild().getSelfMember().canInteract(role)) {
+ event.getGuild().removeRoleFromMember(member, role).reason("Role removed by " + event.getAuthor().getAsTag()).queue();
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
+ }
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
+ }
+ }
+ }
+ event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("✅ Successfully removed role(s) ✅")
+ .setDescription("I successfully removed " + event.getMessage().getMentionedRoles().size() + " roles from " + event.getMessage().getMentionedMembers().size() + " members.")
+ .build()).queue();
+ }
break;
}
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder).build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
}
} else {
- event.getTextChannel().sendMessage("Missing args").queue();
+ event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
}
}
@@ -70,6 +83,6 @@ public class RoleCommand implements Command {
@Override
public String usage() {
- return "<@role> <@user>";
+ return "add/remove <@role> <@user>";
}
}
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 67d4622..d6e80f8 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java
@@ -8,81 +8,176 @@ import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.EventWaiter;
import com.bbn.hadder.utils.MessageEditor;
-import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.Permission;
+import net.dv8tion.jda.api.entities.Emote;
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.entities.Role;
import net.dv8tion.jda.api.entities.TextChannel;
+import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
public class RulesCommand implements Command {
@Override
public void executed(String[] args, CommandEvent event) {
- if (event.getMember().hasPermission(Permission.MANAGE_SERVER)) {
+ if (event.getMember().hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES)) {
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.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() > 0) {
- TextChannel channel = event1.getMessage().getMentionedChannels().get(0);
- if (channel.getGuild().getId().equals(event1.getGuild().getId())) {
- 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.")
- .build()).queue();
- new EventWaiter().newOnMessageEventWaiter(event3 -> {
- 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());
- } else {
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, new EmbedBuilder()
- .setTitle("Wrong Guild")
- .setDescription("The mentioned channel must be on this guid!"))
+ if (event1.getMessage().getMentionedChannels().size() == 1) {
+ try {
+ TextChannel channel = event1.getMessage().getMentionedChannels().get(0);
+ createRules(event, event1, channel);
+ } catch (Exception e) {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
+ .setTitle("Channel not found")
+ .setDescription("I can't find the specified channel. Please start the setup again.")
.build()).queue();
}
} else {
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, new EmbedBuilder()
- .setTitle("No Channel mentioned"))
- .setDescription("Please mention a channel. This should look like #rules")
- .build()).queue();
+ try {
+ TextChannel channel = event1.getGuild().getTextChannelsByName(event1.getMessage().getContentRaw(), true).get(0);
+ createRules(event, event1, channel);
+ } catch (Exception e) {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
+ .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();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder).build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
+ }
+ }
+
+ public void createRules(CommandEvent event, GuildMessageReceivedEvent event1, TextChannel channel) {
+ 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)
+ .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)
+ .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);
+ setRole(event, channel, message, event3, role);
+ } else {
+ Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentStripped(), true).get(0);
+ setRole(event, channel, message, event3, role);
+ }
+ }, event.getJDA(), event.getAuthor());
+ }, event.getJDA(), event.getAuthor());
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION)
+ .build()).queue();
+ }
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING)
+ .setTitle("Wrong Guild")
+ .setDescription("The mentioned channel must be on this guid!")
+ .build()).queue();
+ }
+ }
+
+ public void setRole(CommandEvent event, TextChannel channel, String message, GuildMessageReceivedEvent event3, Role role) {
+ if (event3.getGuild().getSelfMember().canInteract(role)) {
+ event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Custom Accept Emote")
+ .setDescription("The role has been successfully set to " + role.getName() + ". Now send me the emote on which your user should react to to get verified.")
+ .build()).queue();
+ new EventWaiter().newOnMessageEventWaiter(event4 -> {
+ if (event4.getMessage().getEmotes().size() == 1) {
+ Emote aemote = event4.getMessage().getEmotes().get(0);
+ event4.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Custom Decline Emote")
+ .setDescription("The first emote has been successfully set to " + aemote + ". Please send me now the decline emote.")
+ .build()).queue();
+ new EventWaiter().newOnMessageEventWaiter(event5 -> {
+ Emote demote = event5.getMessage().getEmotes().get(0);
+ if (!aemote.equals(demote)) {
+ Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Rules")
+ .setDescription(message)
+ .build()).complete();
+ try {
+ rules.addReaction(aemote).queue();
+ rules.addReaction(demote).queue();
+ event5.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Successfully set the rules")
+ .setDescription("I successfully send the rules in " + channel.getAsMention() + ".")
+ .build()).queue();
+ } catch (Exception e) {
+ event5.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
+ .setTitle("Error")
+ .setDescription("I can not access the custom emote(s),")
+ .build()).queue();
+ e.printStackTrace();
+ }
+ event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId(), aemote.toString(), demote.toString());
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING)
+ .setTitle("Emotes are equal")
+ .setDescription("The 1st and 2nd emote equals each other.")
+ .build()).queue();
+ }
+ }, event.getJDA(), event.getAuthor());
+ } else {
+ String aemote = event4.getMessage().getContentRaw();
+ event4.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Custom Decline Emote")
+ .setDescription("The first emote has been successfully set. Please send me now the decline emote.")
+ .build()).queue();
+ new EventWaiter().newOnMessageEventWaiter(event5 -> {
+ String demote = event5.getMessage().getContentRaw();
+ if (!aemote.equals(demote)) {
+ Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Rules")
+ .setDescription(message)
+ .build()).complete();
+ try {
+ rules.addReaction(aemote).queue();
+ rules.addReaction(demote).queue();
+ event5.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Successfully set the rules")
+ .setDescription("I successfully send the rules in " + channel.getAsMention() + ".")
+ .build()).queue();
+ } catch (Exception e) {
+ event5.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
+ .setTitle("Error")
+ .setDescription("The given emote can't be used.")
+ .build()).queue();
+ e.printStackTrace();
+ }
+ event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId(), aemote, demote);
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING)
+ .setTitle("Emotes are equal")
+ .setDescription("The 1st and 2nd emote equals each other.")
+ .build()).queue();
+ }
+ }, event.getJDA(), event.getAuthor());
+ }
+ }, event.getJDA(), event.getAuthor());
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
}
@Override
public String[] labels() {
- return new String[]{"rules"};
+ 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..9cc43f5
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/commands/music/JoinCommand.java
@@ -0,0 +1,55 @@
+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.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();
+ event.getGuild().getAudioManager().openAudioConnection(vc);
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Successfully connected")
+ .setDescription("I successfully connected to " + vc.getName() + ".")
+ .build()).queue();
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING)
+ .setTitle("Already trying to connect")
+ .setDescription("Hadder is already trying to connect. Please wait a moment.")
+ .build()).queue();
+ }
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING)
+ .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..cb47830
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/commands/music/LeaveCommand.java
@@ -0,0 +1,43 @@
+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;
+
+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)
+ .setTitle("Successfully disconnected")
+ .setDescription("I successfully disconnected from the Voice Channel")
+ .build()).queue();
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING)
+ .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/nsfw/AnalCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/AnalCommand.java
index c73850e..a053a87 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/AnalCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/AnalCommand.java
@@ -7,13 +7,11 @@ package com.bbn.hadder.commands.nsfw;
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 okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
-import java.time.Instant;
public class AnalCommand implements Command {
@@ -29,11 +27,9 @@ public class AnalCommand implements Command {
Response response = caller.newCall(request).execute();
String url = response.body().string().replace("{\"url\":\"", "");
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
.setImage(url.replace("\"}", ""))
- .setTimestamp(Instant.now())
.setFooter("Anal")
.build()).queue();
@@ -42,8 +38,7 @@ public class AnalCommand implements Command {
}
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/BlowjobCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/BlowjobCommand.java
index 79f3219..67bafb8 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/BlowjobCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/BlowjobCommand.java
@@ -7,13 +7,11 @@ package com.bbn.hadder.commands.nsfw;
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 okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
-import java.time.Instant;
public class BlowjobCommand implements Command {
@@ -29,11 +27,9 @@ public class BlowjobCommand implements Command {
Response response = caller.newCall(request).execute();
String url = response.body().string().replace("{\"url\":\"", "");
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setAuthor("Image not showing? Click here", url.replace("\"}", ""))
.setImage(url.replace("\"}", ""))
- .setTimestamp(Instant.now())
.setFooter("Blowjob")
.build()).queue();
@@ -42,8 +38,7 @@ public class BlowjobCommand implements Command {
}
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/BoobsCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/BoobsCommand.java
index 76ae669..3b74e25 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/BoobsCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/BoobsCommand.java
@@ -7,13 +7,11 @@ package com.bbn.hadder.commands.nsfw;
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 okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
-import java.time.Instant;
public class BoobsCommand implements Command {
@@ -29,11 +27,9 @@ public class BoobsCommand implements Command {
Response response = caller.newCall(request).execute();
String url = response.body().string().replace("{\"url\":\"", "");
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
.setImage(url.replace("\"}", ""))
- .setTimestamp(Instant.now())
.setFooter("Boobs")
.build()).queue();
@@ -42,8 +38,7 @@ public class BoobsCommand implements Command {
}
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/CumCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/CumCommand.java
index 6999fe2..acb2da9 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/CumCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/CumCommand.java
@@ -7,13 +7,11 @@ package com.bbn.hadder.commands.nsfw;
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 okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
-import java.time.Instant;
public class CumCommand implements Command {
@@ -29,11 +27,9 @@ public class CumCommand implements Command {
Response response = caller.newCall(request).execute();
String url = response.body().string().replace("{\"url\":\"", "");
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
.setImage(url.replace("\"}", ""))
- .setTimestamp(Instant.now())
.setFooter("Cum")
.build()).queue();
@@ -42,8 +38,7 @@ public class CumCommand implements Command {
}
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/EroticCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/EroticCommand.java
index fb92f53..8247ac6 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/EroticCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/EroticCommand.java
@@ -7,13 +7,11 @@ package com.bbn.hadder.commands.nsfw;
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 okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
-import java.time.Instant;
public class EroticCommand implements Command {
@@ -29,11 +27,9 @@ public class EroticCommand implements Command {
Response response = caller.newCall(request).execute();
String url = response.body().string().replace("{\"url\":\"", "");
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setAuthor("Image not showing? Click here", url.replace("\"}", ""))
.setImage(url.replace("\"}", ""))
- .setTimestamp(Instant.now())
.setFooter("Erotic")
.build()).queue();
@@ -42,8 +38,7 @@ public class EroticCommand implements Command {
}
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/FeetCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/FeetCommand.java
index 27cf07e..8a55c83 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/FeetCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/FeetCommand.java
@@ -7,13 +7,11 @@ package com.bbn.hadder.commands.nsfw;
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 okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
-import java.time.Instant;
public class FeetCommand implements Command {
@@ -29,11 +27,9 @@ public class FeetCommand implements Command {
Response response = caller.newCall(request).execute();
String url = response.body().string().replace("{\"url\":\"", "");
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setAuthor("Image not showing? Click here", url.replace("\"}", ""))
.setImage(url.replace("\"}", ""))
- .setTimestamp(Instant.now())
.setFooter("Feet")
.build()).queue();
@@ -42,8 +38,7 @@ public class FeetCommand implements Command {
}
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/PornCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/PornCommand.java
index 98e21ae..a92b4b6 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/PornCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/PornCommand.java
@@ -7,13 +7,11 @@ package com.bbn.hadder.commands.nsfw;
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 okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
-import java.time.Instant;
public class PornCommand implements Command {
@@ -29,11 +27,9 @@ public class PornCommand implements Command {
Response response = caller.newCall(request).execute();
String url = response.body().string().replace("{\"url\":\"", "");
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
.setImage(url.replace("\"}", ""))
- .setTimestamp(Instant.now())
.setFooter("Porn")
.build()).queue();
@@ -42,8 +38,7 @@ public class PornCommand implements Command {
}
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/PussyCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/PussyCommand.java
index fd67018..33f4638 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/PussyCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/PussyCommand.java
@@ -7,13 +7,11 @@ package com.bbn.hadder.commands.nsfw;
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 okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
-import java.time.Instant;
public class PussyCommand implements Command {
@@ -29,11 +27,9 @@ public class PussyCommand implements Command {
Response response = caller.newCall(request).execute();
String url = response.body().string().replace("{\"url\":\"", "");
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
.setImage(url.replace("\"}", ""))
- .setTimestamp(Instant.now())
.setFooter("Pussy")
.build()).queue();
@@ -42,8 +38,7 @@ public class PussyCommand implements Command {
}
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/TransCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/TransCommand.java
index 2cd6a59..9c2b316 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/TransCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/TransCommand.java
@@ -7,13 +7,11 @@ package com.bbn.hadder.commands.nsfw;
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 okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
-import java.time.Instant;
public class TransCommand implements Command {
@@ -29,11 +27,9 @@ public class TransCommand implements Command {
Response response = caller.newCall(request).execute();
String url = response.body().string().replace("{\"url\":\"", "");
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setAuthor("Image not showing? Click here", url.replace("\"}", ""))
.setImage(url.replace("\"}", ""))
- .setTimestamp(Instant.now())
.setFooter("Trans")
.build()).queue();
@@ -42,8 +38,7 @@ public class TransCommand implements Command {
}
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/owner/EvalCommand.java b/src/main/java/com/bbn/hadder/commands/owner/EvalCommand.java
new file mode 100644
index 0000000..189a156
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/commands/owner/EvalCommand.java
@@ -0,0 +1,101 @@
+package com.bbn.hadder.commands.owner;
+
+/*
+ * @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 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.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("msg", event.getMessage());
+ engine.put("shradmanager", Hadder.shardManager);
+ engine.put("rethink", event.getRethink());
+ 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("author", event.getAuthor());
+ engine.put("member", event.getMember());
+ engine.put("self", event.getGuild().getSelfMember());
+
+ ScheduledExecutorService service = Executors.newScheduledThreadPool(1);
+
+ service.schedule(() -> {
+
+ long startExec = System.currentTimeMillis();
+ Object out;
+
+ 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]+" ";
+ }
+ out = engine.eval(script);
+
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Eval Command")
+ .addField("Input", "```java\n\n" + script + "```", false)
+ .addField("Output", "```java\n\n" + out.toString() + "```", false)
+ .addField("Timing", System.currentTimeMillis()-startExec + " milliseconds", false)
+ .build()).queue();
+ } catch (Exception ex) {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Eval Command")
+ .addField("Error", "```java\n\n" + ex.getMessage() + "```", false)
+ .addField("Timing", System.currentTimeMillis()-startExec + " milliseconds", false)
+ .build()).queue();
+
+ }
+
+ service.shutdownNow();
+
+ }, 0, TimeUnit.MILLISECONDS);
+
+ } else {
+ event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
+ }
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
+ }
+ }
+
+ @Override
+ public String[] labels() {
+ return new String[]{"eval"};
+ }
+
+ @Override
+ public String description() {
+ return "Execute the given code";
+ }
+
+ @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..5b1975b
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/commands/owner/GuildLeaveCommand.java
@@ -0,0 +1,46 @@
+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.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)
+ .setTitle("Successfully left")
+ .setDescription("I successfully left " + guild.getName())
+ .build()).queue();
+ } else {
+ event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
+ }
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).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 fceaa38..cb37c27 100644
--- a/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java
@@ -7,25 +7,22 @@ package com.bbn.hadder.commands.owner;
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 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())) {
+ Runtime.getRuntime().exit(69);
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder).build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
}
}
@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 14c161b..14cfdd2 100644
--- a/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java
@@ -7,26 +7,24 @@ package com.bbn.hadder.commands.owner;
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 ShutdownCommand implements Command {
+
@Override
public void executed(String[] args, CommandEvent event) {
- if (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")) {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setTitle("Shutdown").build()).queue();
+ if (event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("Shutdown").build()).queue();
event.getJDA().getShardManager().shutdown();
System.out.println("Bot shut down via Command...");
- System.exit(0);
+ Runtime.getRuntime().exit(69);
} else {
- EmbedBuilder builder = new EmbedBuilder();
- event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder).build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
}
}
@Override
public String[] labels() {
- return new String[]{"shutdown"};
+ return new String[]{"shutdown", "exit"};
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/settings/PrefixCommand.java b/src/main/java/com/bbn/hadder/commands/settings/PrefixCommand.java
index 70ea455..aa70bf1 100644
--- a/src/main/java/com/bbn/hadder/commands/settings/PrefixCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/settings/PrefixCommand.java
@@ -7,7 +7,6 @@ package com.bbn.hadder.commands.settings;
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 PrefixCommand implements Command {
@@ -15,11 +14,8 @@ public class PrefixCommand implements Command {
public void executed(String[] args, CommandEvent event) {
if (args.length == 1) {
event.getRethink().setUserPrefix(args[0], event.getAuthor().getId());
- 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();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).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());
}
}
diff --git a/src/main/java/com/bbn/hadder/core/Config.java b/src/main/java/com/bbn/hadder/core/Config.java
index 69ca2aa..7abbf78 100644
--- a/src/main/java/com/bbn/hadder/core/Config.java
+++ b/src/main/java/com/bbn/hadder/core/Config.java
@@ -59,6 +59,10 @@ public class Config {
.key("DiscordBotList").value(null)
.key("DiscordBestBots").value(null)
.key("DiscordBoats").value(null)
+ .key("YetAnotherBotList").value(null)
+ .value("DiscordExtremeList").value(null)
+ .value("DiscordBotReviews").value(null)
+ .value("DiscordBots").value(null)
.endObject().endObject().toString();
}
@@ -129,4 +133,12 @@ public class Config {
public String getDiscordBotReviewsToken() {
return config.getJSONObject("Tokens").getString("DiscordBotReviews");
}
+
+ public String getDiscordBotsToken() {
+ return config.getJSONObject("Tokens").getString("DiscordBots");
+ }
+
+ public String getBotListSpaceToken() {
+ return config.getJSONObject("Tokens").getString("BotListSpace");
+ }
}
diff --git a/src/main/java/com/bbn/hadder/core/LinkUtils.java b/src/main/java/com/bbn/hadder/core/LinkUtils.java
index 1d5315a..ea6bd6c 100644
--- a/src/main/java/com/bbn/hadder/core/LinkUtils.java
+++ b/src/main/java/com/bbn/hadder/core/LinkUtils.java
@@ -25,7 +25,7 @@ public class LinkUtils {
private void send(Message message, TextChannel channel, User user, List 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();
}
}
diff --git a/src/main/java/com/bbn/hadder/listener/CommandListener.java b/src/main/java/com/bbn/hadder/listener/CommandListener.java
index b0d4bc9..82df7a8 100644
--- a/src/main/java/com/bbn/hadder/listener/CommandListener.java
+++ b/src/main/java/com/bbn/hadder/listener/CommandListener.java
@@ -22,14 +22,12 @@ public class CommandListener extends ListenerAdapter {
@Override
public void onMessageReceived(MessageReceivedEvent event) {
- if (event.isFromType(ChannelType.TEXT)) {
- if (!event.getAuthor().isBot()) {
- String[] prefixes = {rethink.getUserPrefix(event.getAuthor().getId()), rethink.getGuildPrefix(event.getGuild().getId()), event.getGuild().getSelfMember().getAsMention()+" ", event.getGuild().getSelfMember().getAsMention()};
- for (String prefix : prefixes) {
- if (event.getMessage().getContentRaw().startsWith(prefix)) {
- handler.handle(event, rethink, prefix);
- return;
- }
+ if (event.isFromType(ChannelType.TEXT) && !event.getAuthor().isBot()) {
+ String[] prefixes = {rethink.getUserPrefix(event.getAuthor().getId()), rethink.getGuildPrefix(event.getGuild().getId()), event.getGuild().getSelfMember().getAsMention() + " ", event.getGuild().getSelfMember().getAsMention()};
+ for (String prefix : prefixes) {
+ if (event.getMessage().getContentRaw().startsWith(prefix)) {
+ handler.handle(event, rethink, prefix);
+ return;
}
}
}
diff --git a/src/main/java/com/bbn/hadder/listener/GuildListener.java b/src/main/java/com/bbn/hadder/listener/GuildListener.java
index b0c91fcc..920f10c 100644
--- a/src/main/java/com/bbn/hadder/listener/GuildListener.java
+++ b/src/main/java/com/bbn/hadder/listener/GuildListener.java
@@ -8,7 +8,6 @@ import com.bbn.hadder.Rethink;
import com.bbn.hadder.core.Config;
import com.bbn.hadder.utils.BotList;
import com.bbn.hadder.utils.MessageEditor;
-import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.events.guild.GuildJoinEvent;
import net.dv8tion.jda.api.events.guild.GuildLeaveEvent;
@@ -37,8 +36,7 @@ public class GuildListener extends ListenerAdapter {
}).start();
rethink.insertGuild(event.getGuild().getId());
- EmbedBuilder builder = new EmbedBuilder();
- event.getJDA().getTextChannelById("475722540140986369").sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
+ event.getJDA().getTextChannelById("475722540140986369").sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Joined Server")
.setThumbnail(event.getGuild().getIconUrl())
.addField("Name", event.getGuild().getName(), true)
@@ -53,8 +51,7 @@ public class GuildListener extends ListenerAdapter {
}
public void onGuildLeave(GuildLeaveEvent event) {
- EmbedBuilder builder = new EmbedBuilder();
- event.getJDA().getTextChannelById("475722540140986369").sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
+ event.getJDA().getTextChannelById("475722540140986369").sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Left Server")
.setThumbnail(event.getGuild().getIconUrl())
.addField("Name", event.getGuild().getName(), true)
diff --git a/src/main/java/com/bbn/hadder/listener/InviteLinkListener.java b/src/main/java/com/bbn/hadder/listener/InviteLinkListener.java
new file mode 100644
index 0000000..b8bc2bb
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/listener/InviteLinkListener.java
@@ -0,0 +1,97 @@
+package com.bbn.hadder.listener;
+
+/*
+ * @author Skidder / GregTCLTK
+ */
+
+import com.bbn.hadder.Rethink;
+import net.dv8tion.jda.api.Permission;
+import net.dv8tion.jda.api.entities.ChannelType;
+import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
+import net.dv8tion.jda.api.events.message.MessageUpdateEvent;
+import net.dv8tion.jda.api.hooks.ListenerAdapter;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
+import org.json.JSONObject;
+
+import javax.annotation.Nonnull;
+
+public class InviteLinkListener extends ListenerAdapter {
+
+ private Rethink rethink;
+
+ public InviteLinkListener(Rethink rethink) {
+ this.rethink = rethink;
+ }
+
+ @Override
+ public void onMessageReceived(@Nonnull MessageReceivedEvent event) {
+ if (event.isFromType(ChannelType.TEXT)) {
+ if (event.getMessage().getContentRaw().contains("discord.gg/")) {
+ if (!event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
+ String split = event.getMessage().getContentRaw().split("discord.gg/", 10)[1];
+ String invite = split.split(" ")[0];
+ OkHttpClient client = new OkHttpClient();
+ Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
+ try {
+ Response response = client.newCall(request).execute();
+ JSONObject json = new JSONObject(response.body().string());
+ if (!json.toString().contains("\"message\":")) {
+ event.getMessage().delete().reason("Invite Link detected").queue();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ } else if (event.getMessage().getContentRaw().contains("discordapp.com/invite") && !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
+ String split = event.getMessage().getContentRaw().split("discordapp.com/invite/", 10)[1];
+ String invite = split.split(" ")[0];
+ OkHttpClient client = new OkHttpClient();
+ Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
+ try {
+ Response response = client.newCall(request).execute();
+ JSONObject json = new JSONObject(response.body().string());
+ if (!json.toString().contains("\"message\":")) {
+ event.getMessage().delete().reason("Invite Link detected").queue();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
+ @Override
+ public void onMessageUpdate(@Nonnull MessageUpdateEvent event) {
+ if (event.isFromType(ChannelType.TEXT) && event.getMessage().getContentRaw().contains("discord.gg/") && !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
+ String split = event.getMessage().getContentRaw().split("discord.gg/", 10)[1];
+ String invite = split.split(" ")[0];
+ OkHttpClient client = new OkHttpClient();
+ Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
+ try {
+ Response response = client.newCall(request).execute();
+ JSONObject json = new JSONObject(response.body().string());
+ if (!json.toString().contains("\"message\":")) {
+ event.getMessage().delete().reason("Invite Link detected").queue();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ } else if (event.getMessage().getContentRaw().contains("discordapp.com/invite") && !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
+ String split = event.getMessage().getContentRaw().split("discordapp.com/invite/", 10)[1];
+ String invite = split.split(" ")[0];
+ OkHttpClient client = new OkHttpClient();
+ Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
+ try {
+ Response response = client.newCall(request).execute();
+ JSONObject json = new JSONObject(response.body().string());
+ if (!json.toString().contains("\"message\":")) {
+ event.getMessage().delete().reason("Invite Link detected").queue();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/listener/LinkListener.java b/src/main/java/com/bbn/hadder/listener/LinkListener.java
index d709e3c..d678b8d 100644
--- a/src/main/java/com/bbn/hadder/listener/LinkListener.java
+++ b/src/main/java/com/bbn/hadder/listener/LinkListener.java
@@ -3,8 +3,8 @@ package com.bbn.hadder.listener;
import com.bbn.hadder.Rethink;
import com.bbn.hadder.core.LinkUtils;
import com.bbn.hadder.utils.MessageEditor;
-import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.Permission;
+import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.entities.MessageEmbed;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent;
@@ -15,7 +15,7 @@ import java.util.ArrayList;
public class LinkListener extends ListenerAdapter {
- Rethink rethink;
+ private Rethink rethink;
public LinkListener(Rethink rethink) {
this.rethink = rethink;
@@ -25,44 +25,38 @@ public class LinkListener extends ListenerAdapter {
public void onMessageReactionAdd(@Nonnull MessageReactionAddEvent event) {
event.getChannel().retrieveMessageById(event.getMessageId()).queue(
msg -> {
- if (event.getMember().hasPermission(Permission.MANAGE_CHANNEL)) {
- if (!event.getMember().getUser().equals(event.getJDA().getSelfUser())) {
- if (msg.getAuthor().equals(event.getJDA().getSelfUser())) {
- if (msg.getEmbeds().size() == 1) {
- if (msg.getEmbeds().get(0).getFooter() == null) {
- if (msg.getEmbeds().get(0).getTitle().endsWith(") wants to link guilds!")) {
- String requestguild = msg.getEmbeds().get(0).getTitle().replaceAll("\\) wants to link guilds!", "");
- String requestguildid = null;
- for (int i = requestguild.length() - 1; i >= 0; i--) {
- if (String.valueOf(requestguild.charAt(i)).equals("(")) {
- requestguildid = requestguild.substring(i + 1);
- break;
- }
- }
- if (requestguildid != null) {
- if (event.getReactionEmote().getName().equals("✅")) {
- rethink.addLinkedGuild(event.getGuild().getId(), requestguildid);
- rethink.addLinkedGuild(requestguildid, event.getGuild().getId());
-
- msg.delete().queue();
-
- MessageEmbed msgembed = new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO,
- new EmbedBuilder().setTitle("Guilds linked!").setDescription("The Guild allowed the link. Have fun!")).build();
- event.getChannel().sendMessage(msgembed).queue();
- event.getJDA().getTextChannelById(rethink.getLinkChannel(requestguildid)).sendMessage(msgembed).queue();
- } else if (event.getReactionEmote().getName().equals("❌")) {
- msg.delete().queue();
-
- MessageEmbed msgembed = new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO,
- new EmbedBuilder().setTitle("Guild linking denied.").setDescription("The Guild denied the link. :(")).build();
- event.getChannel().sendMessage(msgembed).queue();
- event.getJDA().getTextChannelById(rethink.getLinkChannel(requestguildid)).sendMessage(msgembed).queue();
- }
- }
- }
- }
+ if (!event.getMember().getUser().equals(event.getJDA().getSelfUser()) && msg.getAuthor().equals(event.getJDA().getSelfUser()) && msg.getEmbeds().size() == 1 && msg.getEmbeds().get(0).getFooter() == null && msg.getEmbeds().get(0).getTitle().endsWith(") wants to link guilds!")) {
+ if (event.getMember().hasPermission(Permission.MANAGE_CHANNEL)) {
+ String requestguild = msg.getEmbeds().get(0).getTitle().replaceAll("\\) wants to link guilds!", "");
+ String requestguildid = null;
+ for (int i = requestguild.length() - 1; i >= 0; i--) {
+ if (String.valueOf(requestguild.charAt(i)).equals("(")) {
+ requestguildid = requestguild.substring(i + 1);
+ break;
}
}
+ if (requestguildid != null) {
+ if (event.getReactionEmote().getName().equals("✅")) {
+ rethink.addLinkedGuild(event.getGuild().getId(), requestguildid);
+ rethink.addLinkedGuild(requestguildid, event.getGuild().getId());
+
+ msg.delete().queue();
+
+ MessageEmbed msgembed = new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Guilds linked!").setDescription("The Guild allowed the link. Have fun!").build();
+ event.getChannel().sendMessage(msgembed).queue();
+ event.getJDA().getTextChannelById(rethink.getLinkChannel(requestguildid)).sendMessage(msgembed).queue();
+ } else if (event.getReactionEmote().getName().equals("❌")) {
+ msg.delete().queue();
+
+ MessageEmbed msgembed = new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Guild linking denied.").setDescription("The Guild denied the linking. :(").build();
+ event.getChannel().sendMessage(msgembed).queue();
+ event.getJDA().getTextChannelById(rethink.getLinkChannel(requestguildid)).sendMessage(msgembed).queue();
+ }
+ }
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
}
}
}
@@ -71,11 +65,9 @@ public class LinkListener extends ListenerAdapter {
@Override
public void onMessageReceived(@Nonnull MessageReceivedEvent event) {
- if (!event.isWebhookMessage()) {
- if (event.getChannel().getId().equals(rethink.getLinkChannel(event.getGuild().getId()))) {
+ if (!event.isWebhookMessage() && event.getChannel().getId().equals(rethink.getLinkChannel(event.getGuild().getId())) && event.isFromType(ChannelType.TEXT)) {
new LinkUtils().sendAll(rethink.getLinks(event.getGuild().getId()), event.getJDA(), event.getMessage(), event.getAuthor(), new ArrayList<>() {
}, rethink, false);
- }
}
}
}
diff --git a/src/main/java/com/bbn/hadder/listener/MentionListener.java b/src/main/java/com/bbn/hadder/listener/MentionListener.java
index 07e2cc3..3d46a3d 100644
--- a/src/main/java/com/bbn/hadder/listener/MentionListener.java
+++ b/src/main/java/com/bbn/hadder/listener/MentionListener.java
@@ -2,7 +2,6 @@ package com.bbn.hadder.listener;
import com.bbn.hadder.Rethink;
import com.bbn.hadder.utils.MessageEditor;
-import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
@@ -19,17 +18,15 @@ public class MentionListener extends ListenerAdapter {
@Override
public void onMessageReceived(@Nonnull MessageReceivedEvent event) {
- if (event.isFromType(ChannelType.TEXT)) {
- if (event.getMessage().getContentRaw().equals(event.getGuild().getSelfMember().getAsMention())) {
- EmbedBuilder builder = new EmbedBuilder()
- .setTitle("Hello I'm Hadder.")
- .setAuthor(event.getJDA().getSelfUser().getName(), event.getJDA().getSelfUser().getAvatarUrl(), event.getJDA().getSelfUser().getAvatarUrl())
- .addField("Users", String.valueOf(event.getJDA().getUsers().size()), false)
- .addField("Guilds", String.valueOf(event.getJDA().getGuilds().size()), false)
- .addField("Prefix (User)", rethink.getUserPrefix(event.getAuthor().getId()), false)
- .addField("Prefix (Guild)", rethink.getGuildPrefix(event.getGuild().getId()), false);
- event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).build()).queue();
- }
+ if (event.isFromType(ChannelType.TEXT) && event.getMessage().getContentRaw().equals(event.getGuild().getSelfMember().getAsMention())) {
+ event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Hello I'm Hadder.")
+ .setAuthor(event.getJDA().getSelfUser().getName(), event.getJDA().getSelfUser().getAvatarUrl(), event.getJDA().getSelfUser().getAvatarUrl())
+ .addField("Users", String.valueOf(event.getJDA().getUsers().size()), false)
+ .addField("Guilds", String.valueOf(event.getJDA().getGuilds().size()), false)
+ .addField("Prefix (User)", rethink.getUserPrefix(event.getAuthor().getId()), false)
+ .addField("Prefix (Guild)", rethink.getGuildPrefix(event.getGuild().getId()), false)
+ .build()).queue();
}
}
}
diff --git a/src/main/java/com/bbn/hadder/listener/PrivateMessageListener.java b/src/main/java/com/bbn/hadder/listener/PrivateMessageListener.java
index 6bd21cf..8672e28 100644
--- a/src/main/java/com/bbn/hadder/listener/PrivateMessageListener.java
+++ b/src/main/java/com/bbn/hadder/listener/PrivateMessageListener.java
@@ -5,7 +5,6 @@ package com.bbn.hadder.listener;
*/
import com.bbn.hadder.utils.MessageEditor;
-import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.entities.PrivateChannel;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
@@ -16,21 +15,22 @@ import java.time.Instant;
public class PrivateMessageListener extends ListenerAdapter {
public void onMessageReceived(MessageReceivedEvent event) {
- if (event.isFromType(ChannelType.PRIVATE)) {
- if (!event.getAuthor().getId().equals(event.getJDA().getSelfUser().getId())) {
+ if (event.isFromType(ChannelType.PRIVATE) && !event.getAuthor().getId().equals(event.getJDA().getSelfUser().getId())) {
+ PrivateChannel Skidder = event.getJDA().getUserById("477141528981012511").openPrivateChannel().complete();
+ PrivateChannel Hax = event.getJDA().getUserById("261083609148948488").openPrivateChannel().complete();
- PrivateChannel Skidder = event.getJDA().getUserById("477141528981012511").openPrivateChannel().complete();
- PrivateChannel Hax = event.getJDA().getUserById("261083609148948488").openPrivateChannel().complete();
-
- EmbedBuilder message = new EmbedBuilder()
- .setTitle("New DM by " + event.getAuthor().getAsTag())
- .setAuthor(event.getAuthor().getName(), event.getAuthor().getAvatarUrl(), event.getAuthor().getAvatarUrl())
- .setDescription(event.getMessage().getContentRaw())
- .setTimestamp(Instant.now());
-
- Skidder.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, message).build()).queue();
- Hax.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, message).build()).queue();
- }
+ Skidder.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("New DM by " + event.getAuthor().getAsTag())
+ .setAuthor(event.getAuthor().getName(), event.getAuthor().getAvatarUrl(), event.getAuthor().getAvatarUrl())
+ .setDescription(event.getMessage().getContentRaw())
+ .setTimestamp(Instant.now())
+ .build()).queue();
+ Hax.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("New DM by " + event.getAuthor().getAsTag())
+ .setAuthor(event.getAuthor().getName(), event.getAuthor().getAvatarUrl(), event.getAuthor().getAvatarUrl())
+ .setDescription(event.getMessage().getContentRaw())
+ .setTimestamp(Instant.now())
+ .build()).queue();
}
}
}
diff --git a/src/main/java/com/bbn/hadder/listener/RulesListener.java b/src/main/java/com/bbn/hadder/listener/RulesListener.java
index aba0854..43ca93f 100644
--- a/src/main/java/com/bbn/hadder/listener/RulesListener.java
+++ b/src/main/java/com/bbn/hadder/listener/RulesListener.java
@@ -6,6 +6,7 @@ package com.bbn.hadder.listener;
import com.bbn.hadder.Rethink;
import net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent;
+import net.dv8tion.jda.api.events.message.react.MessageReactionRemoveEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
public class RulesListener extends ListenerAdapter {
@@ -18,10 +19,33 @@ public class RulesListener extends ListenerAdapter {
@Override
public void onMessageReactionAdd(MessageReactionAddEvent event) {
- if (event.getMessageId().equals(rethink.getRulesMID(event.getGuild().getId()))) {
- if (!event.getMember().getUser().isBot()) {
- event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).queue();
+ if (event.getMessageId().equals(rethink.getRulesMID(event.getGuild().getId())) && !event.getMember().getUser().isBot()) {
+ if (event.getReactionEmote().isEmote()) {
+ if (rethink.getRulesAEmote(event.getGuild().getId()).contains(event.getReactionEmote().getId())) {
+ event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).reason("Accepted rules").queue();
+ } else if (rethink.getRulesDEmote(event.getGuild().getId()).contains(event.getReactionEmote().getId())) {
+ event.getReaction().removeReaction(event.getUser()).queue();
+ if (event.getGuild().getSelfMember().canInteract(event.getMember())) {
+ event.getMember().kick().reason("Declined the rules");
+ }
+ }
+ } else {
+ if (event.getReactionEmote().getEmoji().equals(rethink.getRulesAEmote(event.getGuild().getId()))) {
+ event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).reason("Accepted rules").queue();
+ } else if (event.getReactionEmote().getEmoji().equals(rethink.getRulesDEmote(event.getGuild().getId()))) {
+ event.getReaction().removeReaction(event.getUser()).queue();
+ if (event.getGuild().getSelfMember().canInteract(event.getMember())) {
+ event.getMember().kick().reason("Declined the rules");
+ }
+ }
}
}
}
+
+ @Override
+ public void onMessageReactionRemove(MessageReactionRemoveEvent event) {
+ if (event.getMessageId().equals(rethink.getRulesMID(event.getGuild().getId())) && !event.getMember().getUser().isBot()) {
+ event.getGuild().removeRoleFromMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).reason("Withdrawal of the acceptance of the rules").queue();
+ }
+ }
}
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;
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/utils/BotList.java b/src/main/java/com/bbn/hadder/utils/BotList.java
index be35045..5bbba34 100644
--- a/src/main/java/com/bbn/hadder/utils/BotList.java
+++ b/src/main/java/com/bbn/hadder/utils/BotList.java
@@ -26,6 +26,8 @@ public class BotList {
private static String YetAnotherBotList = "https://yabl.xyz/api/bot/637002314162372639/stats";
private static String DiscordExtremeList = "https://discordextremelist.xyz/api/bot/637002314162372639";
private static String DiscordBotReviews = "https://discordbotreviews.xyz/api/bot/637002314162372639/stats";
+ private static String DiscordBots = "https://top.gg/api/bots/637002314162372639/stats";
+ private static String BotListSpace = "https://api.botlist.space/v1/bots/637002314162372639";
private Config config;
@@ -40,6 +42,7 @@ public class BotList {
json.put("guildCount", Hadder.shardManager.getGuilds().size());
json.put("guilds", Hadder.shardManager.getGuilds().size());
json.put("users", Hadder.shardManager.getUsers().size());
+ json.put("shard_count", Hadder.shardManager.getShards().size());
RequestBody body = RequestBody.create(MediaType.parse("application/json"), json.toString());
@@ -143,7 +146,7 @@ public class BotList {
try {
new OkHttpClient().newCall(discordextremelist).execute().close();
- System.out.println("Successfully posted count to the Discord Extreme List!");
+ System.out.println("Successfully posted count for the Discord Extreme List!");
} catch (IOException e) {
e.printStackTrace();
}
@@ -162,7 +165,36 @@ public class BotList {
} catch (IOException e) {
e.printStackTrace();
}
+
+ // Discord Bots
+
+ Request discordbots = new Request.Builder()
+ .url(DiscordBots)
+ .post(body)
+ .addHeader("Authorization", config.getDiscordBotsToken())
+ .build();
+
+ try {
+ new OkHttpClient().newCall(discordbots).execute().close();
+ System.out.println("Successfully posted count to Discord Bots!");
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ // BotListSpace
+
+ Request botlistspace = new Request.Builder()
+ .url(BotListSpace)
+ .post(body)
+ .addHeader("Authorization", config.getBotListSpaceToken())
+ .build();
+
+ try {
+ new OkHttpClient().newCall(botlistspace).execute().close();
+ System.out.println("Successfully posted count to BotList.Space!");
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
}
}
-
}
diff --git a/src/main/java/com/bbn/hadder/utils/MessageEditor.java b/src/main/java/com/bbn/hadder/utils/MessageEditor.java
index 4ab9ee7..0121acd 100644
--- a/src/main/java/com/bbn/hadder/utils/MessageEditor.java
+++ b/src/main/java/com/bbn/hadder/utils/MessageEditor.java
@@ -3,32 +3,53 @@ package com.bbn.hadder.utils;
import net.dv8tion.jda.api.EmbedBuilder;
import java.awt.*;
+import java.time.Instant;
public class MessageEditor {
- public EmbedBuilder setDefaultSettings(MessageType type, EmbedBuilder embedBuilder) {
+ public EmbedBuilder setDefaultSettings(MessageType type) {
+ EmbedBuilder builder = new EmbedBuilder();
switch (type) {
case INFO:
- embedBuilder.setColor(new Color(47,94,105));
+ builder
+ .setColor(new Color(47, 94, 105))
+ .setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png")
+ .setTimestamp(Instant.now());
break;
case ERROR:
- embedBuilder.setColor(Color.RED);
+ builder
+ .setColor(Color.RED)
+ .setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png")
+ .setTimestamp(Instant.now());
break;
case WARNING:
- embedBuilder.setColor(Color.ORANGE);
+ builder
+ .setColor(Color.ORANGE)
+ .setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png")
+ .setTimestamp(Instant.now());
break;
case NO_PERMISSION:
- embedBuilder.setTitle("⛔ No Permission ⛔").setDescription("You are not authorized to execute this command!").setColor(Color.RED);
+ builder
+ .setTitle("⛔ No Permission ⛔")
+ .setDescription("You are not authorized to execute this command!")
+ .setColor(Color.RED)
+ .setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png")
+ .setTimestamp(Instant.now());
break;
case NO_SELF_PERMISSION:
- embedBuilder.setTitle("⛔ No Permission ⛔").setDescription("Unfortunately, I do not have the required rights to perform this action").setColor(Color.RED);
+ builder
+ .setTitle("⛔ No Permission ⛔")
+ .setDescription("Unfortunately, I do not have the required rights to perform this action")
+ .setColor(Color.RED)
+ .setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png")
+ .setTimestamp(Instant.now());
break;
}
- return embedBuilder;
+ return builder;
}
public enum MessageType {
@@ -38,5 +59,4 @@ public class MessageEditor {
NO_PERMISSION,
NO_SELF_PERMISSION
}
-
}