diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index dca2500..a5d1924 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -69,7 +69,7 @@ further defined and clarified by project maintainers.
### Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
-reported by contacting the project team on [Discord](https://discordapp.com/invite/Vf4zCYn). All
+reported by contacting the project team on [Discord](https://discordapp.com/invite/58My2dM). All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
diff --git a/pom.xml b/pom.xml
index 470de55..256bfda 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,7 +27,7 @@
net.dv8tion
JDA
- 4.1.0_99
+ 4.1.1_101
org.json
@@ -52,7 +52,7 @@
org.kohsuke
github-api
- 1.101
+ 1.103
com.sedmelluq
diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java
index 917328f..ca360af 100644
--- a/src/main/java/com/bbn/hadder/Hadder.java
+++ b/src/main/java/com/bbn/hadder/Hadder.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder;
import com.bbn.hadder.audio.AudioManager;
@@ -103,7 +119,8 @@ public class Hadder {
new BlacklistCommand(),
new PauseCommand(),
new LoopCommand(),
- new BassCommand()), config, helpCommand);
+ new BassCommand(),
+ new EchoCommand()), config, helpCommand);
builder.addEventListeners(
new MentionListener(rethink),
diff --git a/src/main/java/com/bbn/hadder/Rethink.java b/src/main/java/com/bbn/hadder/Rethink.java
index f51814e..6b2b137 100644
--- a/src/main/java/com/bbn/hadder/Rethink.java
+++ b/src/main/java/com/bbn/hadder/Rethink.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder;
import com.bbn.hadder.core.Config;
@@ -5,12 +21,11 @@ import com.rethinkdb.RethinkDB;
import com.rethinkdb.gen.exc.ReqlOpFailedError;
import com.rethinkdb.net.Connection;
import org.json.JSONArray;
+import org.json.JSONObject;
+import java.lang.reflect.Field;
import java.util.NoSuchElementException;
-/*
- * @author Skidder / GregTCLTK
- */
public class Rethink {
private RethinkDB r = RethinkDB.r;
@@ -62,28 +77,13 @@ public class Rethink {
else return null;
}
- public void update(String table, String where, String what, String value) {
- try {
- r.table(table).get(where).update(r.hashMap(what, value)).run(conn);
- } catch (ClassCastException e) {
- e.printStackTrace();
- }
+ public Object getByID(String table, String wherevalue, String column) {
+ return r.table(table).get(wherevalue).getField(column).run(conn);
}
- public void update(String table, String where, String what, int value) {
- try {
- r.table(table).get(where).update(r.hashMap(what, value)).run(conn);
- } catch (ClassCastException e) {
- e.printStackTrace();
- }
- }
-
- public void update(String table, String where, String what, boolean value) {
- try {
- r.table(table).get(where).update(r.hashMap(what, value)).run(conn);
- } catch (ClassCastException e) {
- e.printStackTrace();
- }
+ public JSONObject getObjectByID(String table, String id) {
+ String response = r.table(table).get(id).toJson().run(conn);
+ return new JSONObject(response);
}
public void insert(String table, Object object) {
@@ -107,7 +107,7 @@ public class Rethink {
try {
r.tableCreate("server").run(conn);
} catch (ReqlOpFailedError e) {
- System.out.println(e.getMessage());
+ System.out.println(e.getMessage());
}
try {
r.tableCreate("user").run(conn);
@@ -121,22 +121,6 @@ public class Rethink {
}
}
- public void setUserPrefix(String prefix, String user_id) {
- this.update("user", user_id, "prefix", prefix);
- }
-
- public String getUserPrefix(String id) {
- return (String) this.get("user", "id", id, "prefix");
- }
-
- public void setGuildPrefix(String prefix, String guild_id) {
- this.update("server", guild_id, "prefix", prefix);
- }
-
- public String getGuildPrefix(String id) {
- return (String) this.get("server", "id", id, "prefix");
- }
-
public void insertGuild(String id) {
this.insert("server", r
.hashMap("id", id)
@@ -157,87 +141,54 @@ public class Rethink {
.with("blacklisted", "none"));
}
- public void setBlackListed(String id, String commands) {
- this.update("user", id, "blacklisted", commands);
- }
-
- public String getBlackListed(String id) {
- return (String) this.get("user", "id", id, "blacklisted");
- }
-
- public void setNeededStars(String stars, String guild_id) {
- this.update("server", guild_id, "neededstars", stars);
- }
-
- public String getNeededStars(String guild_id) {
- return (String) this.get("server", "id", guild_id, "neededstars");
- }
-
- public void setStarboardChannel(String guild_id, String channel_id) {
- this.update("server", guild_id, "starboard", channel_id);
- }
-
- public String getStarboardChannel(String guild_id) {
- return (String) this.get("server", "id", guild_id, "starboard");
- }
-
+ // TODO
public boolean hasStarboardChannel(String guild_id) {
- return !this.get("server", "id", guild_id, "starboard").equals("");
+ return !this.getByID("server", guild_id, "starboard").equals("");
}
-
+ // TODO
public void insertStarboardMessage(String message_id, String guild_id, String starboard_message_id) {
this.insert("stars", r.hashMap("id", message_id).with("guild", guild_id).with("starboardmsg", starboard_message_id));
}
-
+ // TODO
public String getStarboardMessage(String message_id) {
- return (String) this.get("stars", "id", message_id, "starboardmsg");
+ return (String) this.getByID("stars", message_id, "starboardmsg");
}
-
+ // TODO
public void removeStarboardMessage(String message_id) {
this.remove("stars", "id", message_id);
}
-
+ // TODO
public boolean hasStarboardMessage(String message_id) {
- return this.get("stars", "id", message_id, "guild") != null;
+ return this.getByID("stars", message_id, "guild") != null;
}
- 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);
- this.update("server", guild_id, "accept_emote", accept_emote);
- this.update("server", guild_id, "decline_emote", decline_emote);
+
+ public void pushServer(RethinkServer server) {
+ JSONObject object = new JSONObject();
+ for (Field field : server.getClass().getDeclaredFields()) {
+ if (!field.getName().equals("rethink")) {
+ try {
+ object.put(field.getName(), field.get(server));
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ r.table("server").get(server.getId()).update(object).run(conn);
}
- public String getRulesMID(String guild_id) {
- return (String) this.get("server", "id", guild_id, "message_id");
- }
-
- public String getRulesRID(String guild_id) {
- 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) {
- this.update("server", guild_id, "invite_detect", b);
- }
-
- public Boolean getInviteDetection(String guild_id) {
- return (Boolean) this.get("server", "id", guild_id, "invite_detect");
- }
-
- public void setLanguage(String user_id, String language) {
- this.update("user", user_id, "language", language);
- }
-
- public String getLanguage(String user_id) {
- return (String) this.get("user", "id", user_id, "language");
+ public void pushUser(RethinkUser user) {
+ JSONObject object = new JSONObject();
+ for (Field field : user.getClass().getDeclaredFields()) {
+ if (!field.getName().equals("rethink")) {
+ try {
+ object.put(field.getName(), field.get(user));
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ r.table("user").get(user.getId()).update(object).run(conn);
}
}
diff --git a/src/main/java/com/bbn/hadder/RethinkServer.java b/src/main/java/com/bbn/hadder/RethinkServer.java
new file mode 100644
index 0000000..36af37e
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/RethinkServer.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.bbn.hadder;
+
+import org.json.JSONObject;
+
+import java.lang.reflect.Field;
+
+public class RethinkServer {
+
+ private Rethink rethink;
+
+ private String accept_emote = "";
+ private String decline_emote = "";
+ private String id;
+ private boolean invite_detect = false;
+ private String message_id = "";
+ private String neededstars = "3";
+ private String prefix = "h.";
+ private String role_id = "";
+ private String starboard = "";
+
+ public RethinkServer(JSONObject object, Rethink rethink) {
+ for (Field field : this.getClass().getDeclaredFields()) {
+ if (!field.getName().equals("rethink")) {
+ try {
+ if (object.has(field.getName()))
+ field.set(this, object.get(field.getName()));
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ this.rethink = rethink;
+ }
+
+ public String getAcceptEmote() {
+ return accept_emote;
+ }
+
+ public void setAcceptEmote(String accept_emote) {
+ this.accept_emote = accept_emote;
+ }
+
+ public String getDeclineEmote() {
+ return decline_emote;
+ }
+
+ public void setDeclineEmote(String decline_emote) {
+ this.decline_emote = decline_emote;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public boolean isInviteDetect() {
+ return invite_detect;
+ }
+
+ public void setInviteDetect(boolean invite_detect) {
+ this.invite_detect = invite_detect;
+ }
+
+ public String getMessageID() {
+ return message_id;
+ }
+
+ public void setMessageID(String message_id) {
+ this.message_id = message_id;
+ }
+
+ public String getNeededStars() {
+ return neededstars;
+ }
+
+ public void setNeededStars(String neededstars) {
+ this.neededstars = neededstars;
+ }
+
+ public String getPrefix() {
+ return prefix;
+ }
+
+ public void setPrefix(String prefix) {
+ this.prefix = prefix;
+ }
+
+ public String getRoleID() {
+ return role_id;
+ }
+
+ public void setRoleID(String role_id) {
+ this.role_id = role_id;
+ }
+
+ public String getStarboard() {
+ return starboard;
+ }
+
+ public void setStarboard(String starboard) {
+ this.starboard = starboard;
+ }
+
+ public void updateRules(String message_id, String role_id, String accept_emote, String decline_emote) {
+ this.setMessageID(message_id);
+ this.setRoleID(role_id);
+ this.setAcceptEmote(accept_emote);
+ this.setDeclineEmote(decline_emote);
+ }
+
+ public void push() {
+ rethink.pushServer(this);
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/RethinkUser.java b/src/main/java/com/bbn/hadder/RethinkUser.java
new file mode 100644
index 0000000..94a7189
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/RethinkUser.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.bbn.hadder;
+
+import org.json.JSONObject;
+
+import java.lang.reflect.Field;
+
+public class RethinkUser {
+
+ private Rethink rethink;
+
+ private String id;
+ private String prefix = "h.";
+ private String language = "en";
+ private String blacklisted = "none";
+
+ public RethinkUser(JSONObject object, Rethink rethink) {
+ for (Field field : this.getClass().getDeclaredFields()) {
+ if (!field.getName().equals("rethink")) {
+ try {
+ if (object.has(field.getName()))
+ field.set(this, object.getString(field.getName()));
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ this.rethink = rethink;
+ }
+
+ public RethinkUser(String id) {
+ this.id = id;
+ }
+
+ public Rethink getRethink() {
+ return rethink;
+ }
+
+ public void setRethink(Rethink rethink) {
+ this.rethink = rethink;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public String getPrefix() {
+ return prefix;
+ }
+
+ public void setPrefix(String prefix) {
+ this.prefix = prefix;
+ }
+
+ public String getLanguage() {
+ return language;
+ }
+
+ public void setLanguage(String language) {
+ this.language = language;
+ }
+
+ public String getBlacklisted() {
+ return blacklisted;
+ }
+
+ public void setBlacklisted(String blacklisted) {
+ this.blacklisted = blacklisted;
+ }
+
+ public void push() {
+ rethink.pushUser(this);
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/audio/AudioInfo.java b/src/main/java/com/bbn/hadder/audio/AudioInfo.java
index 8aa35e9..7568b60 100644
--- a/src/main/java/com/bbn/hadder/audio/AudioInfo.java
+++ b/src/main/java/com/bbn/hadder/audio/AudioInfo.java
@@ -1,12 +1,24 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.audio;
import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
import net.dv8tion.jda.api.entities.Member;
-/**
- * @author Skidder / GregTCLTK
- */
-
public class AudioInfo {
private final AudioTrack track;
diff --git a/src/main/java/com/bbn/hadder/audio/AudioManager.java b/src/main/java/com/bbn/hadder/audio/AudioManager.java
index c40002a..051c479 100644
--- a/src/main/java/com/bbn/hadder/audio/AudioManager.java
+++ b/src/main/java/com/bbn/hadder/audio/AudioManager.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.audio;
import com.bbn.hadder.commands.CommandEvent;
@@ -19,10 +35,6 @@ import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
-/**
- * @author Skidder / GregTCLTK
- */
-
public class AudioManager {
public Map> players = new HashMap<>();
diff --git a/src/main/java/com/bbn/hadder/audio/AudioPlayerSendHandler.java b/src/main/java/com/bbn/hadder/audio/AudioPlayerSendHandler.java
index 1863de2..cdbda28 100644
--- a/src/main/java/com/bbn/hadder/audio/AudioPlayerSendHandler.java
+++ b/src/main/java/com/bbn/hadder/audio/AudioPlayerSendHandler.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.audio;
import com.sedmelluq.discord.lavaplayer.player.AudioPlayer;
@@ -7,10 +23,6 @@ import net.dv8tion.jda.api.audio.AudioSendHandler;
import javax.annotation.Nullable;
import java.nio.ByteBuffer;
-/**
- * @author Skidder / GregTCLTK
- */
-
public class AudioPlayerSendHandler implements AudioSendHandler {
private final AudioPlayer audioPlayer;
diff --git a/src/main/java/com/bbn/hadder/audio/TrackManager.java b/src/main/java/com/bbn/hadder/audio/TrackManager.java
index c5710fe..bb4141f 100644
--- a/src/main/java/com/bbn/hadder/audio/TrackManager.java
+++ b/src/main/java/com/bbn/hadder/audio/TrackManager.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.audio;
import com.sedmelluq.discord.lavaplayer.player.AudioPlayer;
@@ -11,15 +27,12 @@ import net.dv8tion.jda.api.entities.VoiceChannel;
import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;
-/**
- * @author Skidder / GregTCLTK
- */
-
public class TrackManager extends AudioEventAdapter {
private final AudioPlayer player;
private final AudioManager manager;
private final Queue queue;
+ private AudioTrack lastTrack;
private boolean loop = false;
public TrackManager(AudioPlayer player, AudioManager manager) {
@@ -51,8 +64,9 @@ public class TrackManager extends AudioEventAdapter {
@Override
public void onTrackEnd(AudioPlayer player, AudioTrack track, AudioTrackEndReason endReason) {
Guild g = queue.poll().getAuthor().getGuild();
+ this.lastTrack = track;
if (loop) {
- player.playTrack(track.makeClone());
+ player.playTrack(lastTrack.makeClone());
} else if (queue.isEmpty()) {
manager.players.remove(g.getId());
manager.getPlayer(g).destroy();
diff --git a/src/main/java/com/bbn/hadder/commands/Command.java b/src/main/java/com/bbn/hadder/commands/Command.java
index 83132c0..ae80476 100644
--- a/src/main/java/com/bbn/hadder/commands/Command.java
+++ b/src/main/java/com/bbn/hadder/commands/Command.java
@@ -1,11 +1,23 @@
-package com.bbn.hadder.commands;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands;
+
public interface Command {
- void executed(String[] args, CommandEvent event);
+ void executed(String[] args, CommandEvent e);
String[] labels();
diff --git a/src/main/java/com/bbn/hadder/commands/CommandEvent.java b/src/main/java/com/bbn/hadder/commands/CommandEvent.java
index dc6d222..90b1d8b 100644
--- a/src/main/java/com/bbn/hadder/commands/CommandEvent.java
+++ b/src/main/java/com/bbn/hadder/commands/CommandEvent.java
@@ -1,6 +1,24 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.commands;
import com.bbn.hadder.Rethink;
+import com.bbn.hadder.RethinkServer;
+import com.bbn.hadder.RethinkUser;
import com.bbn.hadder.audio.AudioManager;
import com.bbn.hadder.commands.general.HelpCommand;
import com.bbn.hadder.core.CommandHandler;
@@ -22,8 +40,13 @@ public class CommandEvent extends MessageReceivedEvent {
private MessageEditor messageEditor;
private EventWaiter eventWaiter;
private AudioManager audioManager;
+ private RethinkUser rethinkUser;
+ private RethinkServer rethinkServer;
- public CommandEvent(@Nonnull JDA api, long responseNumber, @Nonnull Message message, Rethink rethink, Config config, CommandHandler commandHandler, HelpCommand helpCommand, MessageEditor messageEditor, EventWaiter eventWaiter, AudioManager audioManager) {
+ public CommandEvent(@Nonnull JDA api, long responseNumber, @Nonnull Message message, Rethink rethink, Config config,
+ CommandHandler commandHandler, HelpCommand helpCommand, MessageEditor messageEditor,
+ EventWaiter eventWaiter, AudioManager audioManager, RethinkUser rethinkUser,
+ RethinkServer rethinkServer) {
super(api, responseNumber, message);
this.rethink = rethink;
this.config = config;
@@ -32,17 +55,8 @@ public class CommandEvent extends MessageReceivedEvent {
this.messageEditor = messageEditor;
this.eventWaiter = eventWaiter;
this.audioManager = audioManager;
- }
-
- public CommandEvent(MessageReceivedEvent event, Rethink rethink, Config config, CommandHandler commandHandler, HelpCommand helpCommand, MessageEditor messageEditor, EventWaiter eventWaiter, AudioManager audioManager) {
- super(event.getJDA(), event.getResponseNumber(), event.getMessage());
- this.rethink = rethink;
- this.config = config;
- this.commandHandler = commandHandler;
- this.helpCommand = helpCommand;
- this.messageEditor = messageEditor;
- this.eventWaiter = eventWaiter;
- this.audioManager = audioManager;
+ this.rethinkUser = rethinkUser;
+ this.rethinkServer = rethinkServer;
}
public Rethink getRethink() {
@@ -72,4 +86,12 @@ public class CommandEvent extends MessageReceivedEvent {
public AudioManager getAudioManager() {
return audioManager;
}
+
+ public RethinkServer getRethinkServer() {
+ return rethinkServer;
+ }
+
+ public RethinkUser getRethinkUser() {
+ return rethinkUser;
+ }
}
diff --git a/src/main/java/com/bbn/hadder/commands/fun/AvatarCommand.java b/src/main/java/com/bbn/hadder/commands/fun/AvatarCommand.java
index e251c95..ffc9c76 100644
--- a/src/main/java/com/bbn/hadder/commands/fun/AvatarCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/fun/AvatarCommand.java
@@ -1,56 +1,101 @@
-package com.bbn.hadder.commands.fun;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.fun;
+
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;
+import net.dv8tion.jda.api.entities.User;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
+import org.json.JSONException;
+import org.json.JSONObject;
public class AvatarCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
+ public void executed(String[] args, CommandEvent e) {
if (args.length == 0) {
- Member member = event.getMember();
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ User u = e.getAuthor();
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.fun.avatar.success.title",
- member.getUser().getAsTag(),
+ u.getAsTag(),
"",
"")
- .setImage(member.getUser().getAvatarUrl())
- .setFooter(member.getUser().getAsTag())
+ .setImage(u.getAvatarUrl())
+ .setFooter(u.getAsTag())
.build()).queue();
- } else if (event.getMessage().getMentionedMembers().size() == 1) {
- Member member = event.getMessage().getMentionedMembers().get(0);
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ } else if (e.getMessage().getMentionedUsers().size() == 1) {
+ User u = e.getMessage().getMentionedUsers().get(0);
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.fun.avatar.success.title",
- member.getUser().getAsTag(),
+ u.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(
- event.getMessageEditor().getMessage(
- MessageEditor.MessageType.INFO,
- "commands.fun.avatar.success.title",
- member.getUser().getAsTag(),
- "",
- "")
- .setImage(member.getUser().getAvatarUrl())
- .setFooter(member.getUser().getAsTag())
+ .setImage(u.getAvatarUrl())
+ .setFooter(u.getAsTag())
.build()).queue();
+ } else if (args[0].length() == 18) {
+ try {
+ User u = e.getJDA().getUserById(args[0]);
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
+ MessageEditor.MessageType.INFO,
+ "commands.fun.avatar.success.title",
+ u.getAsTag(),
+ "",
+ "")
+ .setImage(u.getAvatarUrl())
+ .setFooter(u.getAsTag())
+ .build()).queue();
+ } catch (NullPointerException ignore) {
+
+ OkHttpClient client = new OkHttpClient();
+ Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/users/" + args[0]).addHeader("Authorization", "Bot " + e.getConfig().getBotToken()).build();
+
+ try {
+ Response response = client.newCall(request).execute();
+ JSONObject json = new JSONObject(response.body().string());
+ String url = "https://cdn.discordapp.com/avatars/" + args[0] + "/" + json.getString("avatar") + ".png";
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(
+ MessageEditor.MessageType.INFO,
+ "commands.fun.avatar.success.title",
+ json.getString("username") + "#" + json.getString("discriminator"),
+ "",
+ "")
+ .setImage(url)
+ .setFooter(json.getString("username") + "#" + json.getString("discriminator"))
+ .build()).queue();
+ } catch (JSONException ex) {
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ "commands.fun.avatar.error.title",
+ "commands.fun.avatar.error.description"
+ ).build()).queue();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
} else {
- event.getHelpCommand().sendHelp(this, event);
+ e.getHelpCommand().sendHelp(this, e);
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java b/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java
index 26d9070..e456876 100644
--- a/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/fun/ClydeCommand.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.commands.fun;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.fun;
+
import club.minnced.discord.webhook.WebhookClient;
import club.minnced.discord.webhook.WebhookClientBuilder;
import com.bbn.hadder.commands.Command;
@@ -24,13 +36,13 @@ import java.util.concurrent.TimeUnit;
public class ClydeCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
+ public void executed(String[] args, CommandEvent e) {
if (args.length > 0) {
- if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_WEBHOOKS)) {
- TextChannel channel = event.getMessage().getTextChannel();
- String content = event.getMessage().getContentRaw().replace(event.getRethink().getGuildPrefix(event.getGuild().getId()), "").replace(event.getRethink().getUserPrefix(event.getAuthor().getId()), "").replace("clyde", "");
+ if (e.getGuild().getSelfMember().hasPermission(Permission.MANAGE_WEBHOOKS)) {
+ TextChannel channel = e.getMessage().getTextChannel();
+ String content = e.getMessage().getContentRaw().replace(e.getRethinkServer().getPrefix(), "").replace(e.getRethinkUser().getPrefix(), "").replace("clyde", "");
- Webhook webhook = channel.createWebhook(event.getConfig().getClydeName()).complete();
+ Webhook webhook = channel.createWebhook(e.getConfig().getClydeName()).complete();
try {
InputStream s = new URL("https://discordapp.com/assets/f78426a064bc9dd24847519259bc42af.png").openStream();
webhook.getManager().setAvatar(Icon.from(s)).queue();
@@ -40,24 +52,24 @@ public class ClydeCommand implements Command {
WebhookClient client = builder.build();
try {
TimeUnit.SECONDS.sleep(1);
- } catch (InterruptedException e) {
- e.printStackTrace();
+ } catch (InterruptedException ex) {
+ ex.printStackTrace();
}
client.send(content);
- } catch (Exception e) {
- e.printStackTrace();
+ } catch (Exception ex) {
+ ex.printStackTrace();
}
try {
TimeUnit.SECONDS.sleep(2);
- } catch (InterruptedException e) {
- e.printStackTrace();
+ } catch (InterruptedException ex) {
+ ex.printStackTrace();
}
webhook.delete().queue();
- event.getMessage().delete().queue();
+ e.getMessage().delete().queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
- } else event.getHelpCommand().sendHelp(this, event);
+ } else e.getHelpCommand().sendHelp(this, e);
}
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 78d70fd..22e4e14 100644
--- a/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.commands.fun;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.fun;
+
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor;
@@ -18,7 +30,7 @@ import java.util.Random;
public class GifCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
+ public void executed(String[] args, CommandEvent e) {
if (args.length > 0) {
StringBuilder query = new StringBuilder();
for (String arg : args) {
@@ -27,7 +39,7 @@ public class GifCommand implements Command {
}
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();
+ Request request = new Request.Builder().url("http://api.giphy.com/v1/gifs/search?q=" + query + "&api_key=" + e.getConfig().getGiphyToken()).build();
try {
Random rand = new Random();
Response response = client.newCall(request).execute();
@@ -35,15 +47,15 @@ public class GifCommand implements Command {
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) {
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(url).queue();
+ } catch (Exception ignore) {
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"error",
"commands.fun.gif.error.description").build()).queue();
}
- } else event.getHelpCommand().sendHelp(this, event);
+ } else e.getHelpCommand().sendHelp(this, e);
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/fun/MemeCommand.java b/src/main/java/com/bbn/hadder/commands/fun/MemeCommand.java
index b9c3e0c..9aa4aa2 100644
--- a/src/main/java/com/bbn/hadder/commands/fun/MemeCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/fun/MemeCommand.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.commands.fun;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.fun;
+
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor;
@@ -18,7 +30,7 @@ import java.io.IOException;
public class MemeCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
+ public void executed(String[] args, CommandEvent e) {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().url("https://meme-api.herokuapp.com/gimme").build();
@@ -27,16 +39,15 @@ public class MemeCommand implements Command {
Response response = client.newCall(request).execute();
JSONObject json = new JSONObject(response.body().string());
String url = json.getString("url");
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
"commands.fun.meme.success.title", "")
.setImage(url)
.setAuthor("Subreddit: " + json.getString("subreddit"))
.build()).queue();
- } catch (IOException e) {
- e.printStackTrace();
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ } catch (IOException ignore) {
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"error",
"commands.fun.meme.api.error")
diff --git a/src/main/java/com/bbn/hadder/commands/general/AboutCommand.java b/src/main/java/com/bbn/hadder/commands/general/AboutCommand.java
index be5d20d..e2f2f58 100644
--- a/src/main/java/com/bbn/hadder/commands/general/AboutCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/general/AboutCommand.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.commands.general;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.general;
+
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor;
@@ -11,13 +23,13 @@ import com.bbn.hadder.utils.MessageEditor;
public class AboutCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ public void executed(String[] args, CommandEvent e) {
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.general.about.success.title",
"commands.general.about.success.description")
- .addField(event.getMessageEditor().getTerm("commands.general.about.success.field.one.title"), event.getMessageEditor().getTerm("commands.general.about.success.field.one.description", "(https://donatebot.io/checkout/448554629282922527?buyer=" + event.getAuthor().getId() + "). :smiley:", ""), true)
+ .addField(e.getMessageEditor().getTerm("commands.general.about.success.field.one.title"), e.getMessageEditor().getTerm("commands.general.about.success.field.one.description", "(https://donatebot.io/checkout/448554629282922527?buyer=" + e.getAuthor().getId() + "). :smiley:", ""), true)
.setThumbnail("https://bigbotnetwork.com/images/Hadder.png")
.build()).queue();
}
diff --git a/src/main/java/com/bbn/hadder/commands/general/EqualsCommand.java b/src/main/java/com/bbn/hadder/commands/general/EqualsCommand.java
index e3380f5..6cfb621 100644
--- a/src/main/java/com/bbn/hadder/commands/general/EqualsCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/general/EqualsCommand.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.commands.general;
import com.bbn.hadder.commands.Command;
@@ -5,37 +21,33 @@ import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.EventWaiter;
import com.bbn.hadder.utils.MessageEditor;
-/*
- * @author Skidder / GregTCLTK
- */
-
public class EqualsCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- event.getChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ public void executed(String[] args, CommandEvent e) {
+ e.getChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.general.equals.string.first.request", "")
.build()).queue();
- new EventWaiter().newOnMessageEventWaiter(msgevent -> {
- String firstString = msgevent.getMessage().getContentRaw();
- event.getChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ new EventWaiter().newOnMessageEventWaiter(msge -> {
+ String firstString = msge.getMessage().getContentRaw();
+ e.getChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.general.equals.string.second.request",
"").build()).queue();
- new EventWaiter().newOnMessageEventWaiter(msgevent2 -> {
- String secondString = msgevent2.getMessage().getContentRaw();
- event.getChannel().sendMessage(
- event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
- .setTitle((firstString.equals(secondString)) ? event.getMessageEditor().getTerm( "commands.general.equals.string.equals.true") : event.getMessageEditor().getTerm( "commands.general.equals.string.equals.false"))
- .addField(event.getMessageEditor().getTerm( "commands.general.equals.string.first"), firstString, false)
- .addField(event.getMessageEditor().getTerm( "commands.general.equals.string.second"), secondString, false)
- .addField(event.getMessageEditor().getTerm( "commands.general.equals.string.result"), String.valueOf(firstString.equals(secondString)), false)
+ new EventWaiter().newOnMessageEventWaiter(msge2 -> {
+ String secondString = msge2.getMessage().getContentRaw();
+ e.getChannel().sendMessage(
+ e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ .setTitle((firstString.equals(secondString)) ? e.getMessageEditor().getTerm( "commands.general.equals.string.equals.true") : e.getMessageEditor().getTerm( "commands.general.equals.string.equals.false"))
+ .addField(e.getMessageEditor().getTerm( "commands.general.equals.string.first"), firstString, false)
+ .addField(e.getMessageEditor().getTerm( "commands.general.equals.string.second"), secondString, false)
+ .addField(e.getMessageEditor().getTerm( "commands.general.equals.string.result"), String.valueOf(firstString.equals(secondString)), false)
.build()).queue();
- }, event.getJDA(), event.getAuthor());
- }, event.getJDA(), event.getAuthor());
+ }, e.getJDA(), e.getAuthor());
+ }, e.getJDA(), e.getAuthor());
}
@Override
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 7322465..533e688 100644
--- a/src/main/java/com/bbn/hadder/commands/general/HelpCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/general/HelpCommand.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.commands.general;
import com.bbn.hadder.commands.Command;
@@ -13,11 +29,11 @@ import java.util.Map;
public class HelpCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getGuild().getSelfMember().hasPermission(Permission.MESSAGE_EMBED_LINKS)) {
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getGuild().getSelfMember().hasPermission(Permission.MESSAGE_EMBED_LINKS)) {
if (args.length == 0) {
HashMap> hashMap = new HashMap<>();
- for (Command cmd : event.getCommandHandler().getCommandList()) {
+ for (Command cmd : e.getCommandHandler().getCommandList()) {
if (!hashMap.containsKey(cmd.getClass().getPackageName())) {
ArrayList cmdlist = new ArrayList<>();
cmdlist.add(cmd);
@@ -28,8 +44,8 @@ public class HelpCommand implements Command {
}
EmbedBuilder eb = new EmbedBuilder();
for (Map.Entry> entry : hashMap.entrySet()) {
- if (!entry.getKey().endsWith("owner") || (entry.getKey().endsWith("owner") && (event.getAuthor().getId().equals("477141528981012511") ||
- event.getAuthor().getId().equals("261083609148948488")))) {
+ if (!entry.getKey().endsWith("owner") || (entry.getKey().endsWith("owner") && (e.getAuthor().getId().equals("477141528981012511") ||
+ e.getAuthor().getId().equals("261083609148948488")))) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < entry.getValue().size(); i++) {
Command cmd = entry.getValue().get(i);
@@ -40,35 +56,35 @@ public class HelpCommand implements Command {
eb.addField(ps[ps.length - 1], sb.toString(), false);
}
}
- event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO);
- event.getChannel().sendMessage(eb.build()).queue();
+ e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO);
+ e.getChannel().sendMessage(eb.build()).queue();
} else {
- for (Command cmd : event.getCommandHandler().getCommandList()) {
+ for (Command cmd : e.getCommandHandler().getCommandList()) {
for (String label : cmd.labels()) {
if (label.equalsIgnoreCase(args[0])) {
- sendHelp(cmd, event);
+ sendHelp(cmd, e);
}
}
}
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getTerm("commands.general.help.error.description")).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getTerm("commands.general.help.error.description")).queue();
}
}
- public void sendHelp(Command cmd, CommandEvent event) {
+ public void sendHelp(Command cmd, CommandEvent e) {
if (!cmd.getClass().getPackageName().endsWith("owner") || (cmd.getClass().getPackageName().endsWith("owner") &&
- (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")))) {
+ (e.getAuthor().getId().equals("477141528981012511") || e.getAuthor().getId().equals("261083609148948488")))) {
String name = cmd.labels()[0];
StringBuilder b = new StringBuilder();
- b.append(event.getMessageEditor().getTerm("commands.general.help.description")).append(" ").append(event.getMessageEditor().getTerm(cmd.description())).append("\n");
+ b.append(e.getMessageEditor().getTerm("commands.general.help.description")).append(" ").append(e.getMessageEditor().getTerm(cmd.description())).append("\n");
if (cmd.usage() != null) {
- b.append(event.getMessageEditor().getTerm("commands.general.help.usage")).append(" ").append(event.getRethink().getGuildPrefix(event.getGuild().getId())).append(name).append(" ").append(cmd.usage()).append("\n");
+ b.append(e.getMessageEditor().getTerm("commands.general.help.usage")).append(" ").append(e.getRethinkServer().getPrefix()).append(name).append(" ").append(cmd.usage()).append("\n");
}
if (cmd.example() != null) {
- b.append(event.getMessageEditor().getTerm("commands.general.help.example")).append(" ").append(event.getRethink().getGuildPrefix(event.getGuild().getId())).append(name).append(" ").append(cmd.example());
+ b.append(e.getMessageEditor().getTerm("commands.general.help.example")).append(" ").append(e.getRethinkServer().getPrefix()).append(name).append(" ").append(cmd.example());
}
- event.getChannel().sendMessage(event.getMessageEditor().getMessage(
+ e.getChannel().sendMessage(e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO)
.setTitle(cmd.labels()[0])
.setDescription(b.toString())
diff --git a/src/main/java/com/bbn/hadder/commands/general/InviteCommand.java b/src/main/java/com/bbn/hadder/commands/general/InviteCommand.java
index 8d5a65c..6127fce 100644
--- a/src/main/java/com/bbn/hadder/commands/general/InviteCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/general/InviteCommand.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.commands.general;
import com.bbn.hadder.Hadder;
@@ -5,16 +21,12 @@ import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor;
-/*
- * @author Skidder / GregTCLTK
- */
-
public class InviteCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ public void executed(String[] args, CommandEvent e) {
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.general.invite.success.title",
"",
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 09d2ebe..cfec2b2 100644
--- a/src/main/java/com/bbn/hadder/commands/general/PingCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/general/PingCommand.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.commands.general;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.general;
+
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor;
@@ -11,8 +23,8 @@ import com.bbn.hadder.utils.MessageEditor;
public class PingCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- event.getJDA().getRestPing().queue(ping -> event.getTextChannel().sendMessage(event.getMessageEditor()
+ public void executed(String[] args, CommandEvent e) {
+ e.getJDA().getRestPing().queue(ping -> e.getTextChannel().sendMessage(e.getMessageEditor()
.getMessage(MessageEditor.MessageType.INFO)
.setTitle("Ping")
.setDescription(String.valueOf(ping))
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 fb8cc4f..9592704 100644
--- a/src/main/java/com/bbn/hadder/commands/misc/FeedbackCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/misc/FeedbackCommand.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.commands.misc;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.misc;
+
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.EventWaiter;
@@ -17,39 +29,39 @@ import java.io.IOException;
public class FeedbackCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ public void executed(String[] args, CommandEvent e) {
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.misc.feedback.title.request.title",
"commands.misc.feedback.title.request.description")
.build()).queue();
- new EventWaiter().newOnMessageEventWaiter(event1 -> {
- String title = event1.getMessage().getContentDisplay();
- event1.getChannel().sendMessage(event.getMessageEditor().getMessage(
+ new EventWaiter().newOnMessageEventWaiter(e1 -> {
+ String title = e1.getMessage().getContentDisplay();
+ e1.getChannel().sendMessage(e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.misc.feedback.description.request.title",
"commands.misc.feedback.description.request.description")
.build()).queue();
- new EventWaiter().newOnMessageEventWaiter(event2 -> {
- String description = event2.getMessage().getContentDisplay();
+ new EventWaiter().newOnMessageEventWaiter(e2 -> {
+ String description = e2.getMessage().getContentDisplay();
try {
- GitHub connection = GitHub.connectUsingOAuth(event.getConfig().getGitHubToken());
+ GitHub connection = GitHub.connectUsingOAuth(e.getConfig().getGitHubToken());
GHRepository Hadder = connection.getOrganization("BigBotNetwork").getRepository("Hadder");
- GHIssue issue = Hadder.createIssue(title).body("Feedback by " + event.getAuthor().getAsTag() + "
" + description).label("feedback").create();
+ GHIssue issue = Hadder.createIssue(title).body("Feedback by " + e.getAuthor().getAsTag() + "
" + description).label("feedback").create();
issue.addLabels("feedback");
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.misc.feedback.success.title",
"")
.setDescription(issue.getHtmlUrl().toString())
.build()).queue();
- } catch (IOException e) {
- e.printStackTrace();
+ } catch (IOException ex) {
+ ex.printStackTrace();
}
- }, event.getJDA(), event.getAuthor());
- }, event.getJDA(), event.getAuthor());
+ }, e.getJDA(), e.getAuthor());
+ }, e.getJDA(), e.getAuthor());
}
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 8c1ffd6..343bc5c 100644
--- a/src/main/java/com/bbn/hadder/commands/misc/GitHubCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/misc/GitHubCommand.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.commands.misc;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.misc;
+
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor;
@@ -18,11 +30,11 @@ import java.io.IOException;
public class GitHubCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
+ public void executed(String[] args, CommandEvent e) {
if (args.length > 0) {
if (args[0].equals("link")) {
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.misc.github.link.title",
"")
@@ -51,39 +63,39 @@ public class GitHubCommand implements Command {
if (!json.getString("blog").equals("")) website = json.getString("blog");
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
- .setAuthor(event.getMessageEditor().getTerm("commands.misc.github.success.title", nickname + " (" + args[0] + ")", ""), "https://github.com/" + args[0] + "", "https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png")
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ .setAuthor(e.getMessageEditor().getTerm("commands.misc.github.success.title", 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(event.getMessageEditor().getTerm("commands.misc.github.success.bio"), bio, false)
- .addField(event.getMessageEditor().getTerm("commands.misc.github.success.location"), location, true)
- .addField(event.getMessageEditor().getTerm("commands.misc.github.success.website"), website, true)
- .addField(event.getMessageEditor().getTerm("commands.misc.github.success.repositories"), String.valueOf(json.getInt("public_repos")), true)
- .addField(event.getMessageEditor().getTerm("commands.misc.github.success.gists"), String.valueOf(json.getInt("public_gists")), true)
- .addField(event.getMessageEditor().getTerm("commands.misc.github.success.followers"), String.valueOf(json.getInt("followers")), true)
- .addField(event.getMessageEditor().getTerm("commands.misc.github.success.following"), String.valueOf(json.getInt("following")), true)
+ .addField(e.getMessageEditor().getTerm("commands.misc.github.success.bio"), bio, false)
+ .addField(e.getMessageEditor().getTerm("commands.misc.github.success.location"), location, true)
+ .addField(e.getMessageEditor().getTerm("commands.misc.github.success.website"), website, true)
+ .addField(e.getMessageEditor().getTerm("commands.misc.github.success.repositories"), String.valueOf(json.getInt("public_repos")), true)
+ .addField(e.getMessageEditor().getTerm("commands.misc.github.success.gists"), String.valueOf(json.getInt("public_gists")), true)
+ .addField(e.getMessageEditor().getTerm("commands.misc.github.success.followers"), String.valueOf(json.getInt("followers")), true)
+ .addField(e.getMessageEditor().getTerm("commands.misc.github.success.following"), String.valueOf(json.getInt("following")), true)
.build()).queue();
- } catch (IOException | NullPointerException e) {
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ } catch (IOException | NullPointerException ex) {
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"commands.misc.github.api.error.title",
"commands.misc.github.api.error.description")
.build()
).queue();
- } catch (JSONException e) {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
+ } catch (JSONException ex) {
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"commands.misc.github.user.error.title",
"commands.misc.github.user.error.description").build()).queue();
}
}
} else {
- event.getHelpCommand().sendHelp(this, event);
+ e.getHelpCommand().sendHelp(this, e);
/*
TODO: THIS
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.misc.github.connect.title",
"",
diff --git a/src/main/java/com/bbn/hadder/commands/misc/ScreenShareCommand.java b/src/main/java/com/bbn/hadder/commands/misc/ScreenShareCommand.java
index 8f13cc5..e8bb036 100644
--- a/src/main/java/com/bbn/hadder/commands/misc/ScreenShareCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/misc/ScreenShareCommand.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.commands.misc;
import com.bbn.hadder.commands.Command;
@@ -14,52 +30,52 @@ import java.util.List;
public class ScreenShareCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
+ public void executed(String[] args, CommandEvent e) {
if (args.length>0) {
if (args[0].matches("[0-9]*") && args.length==1 && args[0].length() == 18) {
- if (event.getGuild().getVoiceChannelById(args[0]) != null) {
- event.getChannel().sendMessage(event.getMessageEditor().getMessage(
+ if (e.getGuild().getVoiceChannelById(args[0]) != null) {
+ e.getChannel().sendMessage(e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.misc.screenshare.success.title", "")
- .setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + args[0] + "/").build()).queue();
+ .setDescription("http://discordapp.com/channels/" + e.getGuild().getId() + "/" + args[0] + "/").build()).queue();
} else {
- event.getChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.misc.screenshare.id.error.title", "commands.misc.screenshare.id.error.description").build()).queue();
- event.getHelpCommand().sendHelp(this, event);
+ e.getChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.misc.screenshare.id.error.title", "commands.misc.screenshare.id.error.description").build()).queue();
+ e.getHelpCommand().sendHelp(this, e);
}
} else {
- List vcs = event.getGuild().getVoiceChannelsByName(String.join(" ", args), true);
+ List vcs = e.getGuild().getVoiceChannelsByName(String.join(" ", args), true);
if (vcs.size() > 1) {
- EmbedBuilder eb = event.getMessageEditor().getMessage(MessageType.WARNING, "commands.misc.screenshare.channel.error.title", "commands.misc.screenshare.channel.error.description");
+ EmbedBuilder eb = e.getMessageEditor().getMessage(MessageType.WARNING, "commands.misc.screenshare.channel.error.title", "commands.misc.screenshare.channel.error.description");
for (int i = 0; i < vcs.size(); i++) {
VoiceChannel voiceChannel = vcs.get(i);
eb.addField(i + ": " + voiceChannel.getName(), voiceChannel.getId(), false);
}
- event.getChannel().sendMessage(eb.build()).queue();
- new EventWaiter().newOnMessageEventWaiter(msgevent -> {
+ e.getChannel().sendMessage(eb.build()).queue();
+ new EventWaiter().newOnMessageEventWaiter(msge -> {
try {
- int i = Integer.parseInt(msgevent.getMessage().getContentRaw());
+ int i = Integer.parseInt(msge.getMessage().getContentRaw());
if (vcs.size() > i) {
- event.getChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "commands.misc.screenshare.success.title", "")
- .setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vcs.get(i).getId() + "/").build()).queue();
+ e.getChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "commands.misc.screenshare.success.title", "")
+ .setDescription("http://discordapp.com/channels/" + e.getGuild().getId() + "/" + vcs.get(i).getId() + "/").build()).queue();
} else {
- event.getChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.misc.screenshare.number.error.title", "").build()).queue();
- event.getHelpCommand().sendHelp(this, event);
+ e.getChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.misc.screenshare.number.error.title", "").build()).queue();
+ e.getHelpCommand().sendHelp(this, e);
}
- } catch (NumberFormatException e) {
- event.getChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.misc.screenshare.id.error.title", "commands.misc.screenshare.number.error.description").build()).queue();
- event.getHelpCommand().sendHelp(this, event);
+ } catch (NumberFormatException ex) {
+ e.getChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.misc.screenshare.id.error.title", "commands.misc.screenshare.number.error.description").build()).queue();
+ e.getHelpCommand().sendHelp(this, e);
}
- }, event.getJDA(), event.getAuthor());
+ }, e.getJDA(), e.getAuthor());
} else if (vcs.size()==0) {
- event.getChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.misc.screenshare.channel.existing.error", "commands.misc.screenshare.channel.existing.description").build()).queue();
- event.getHelpCommand().sendHelp(this, event);
+ e.getChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.misc.screenshare.channel.existing.error", "commands.misc.screenshare.channel.existing.description").build()).queue();
+ e.getHelpCommand().sendHelp(this, e);
} else {
- event.getChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "commands.misc.screenshare.success.title", "")
- .setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vcs.get(0).getId() + "/").build()).queue();
+ e.getChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "commands.misc.screenshare.success.title", "")
+ .setDescription("http://discordapp.com/channels/" + e.getGuild().getId() + "/" + vcs.get(0).getId() + "/").build()).queue();
}
}
} else {
- event.getHelpCommand().sendHelp(this, event);
+ e.getHelpCommand().sendHelp(this, e);
}
}
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 98feb04..cb62cec 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/BanCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/BanCommand.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.commands.moderation;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.moderation;
+
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.core.Perm;
@@ -15,68 +27,68 @@ import net.dv8tion.jda.api.entities.Member;
public class BanCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- 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();
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getMessage().getMentionedMembers().size() == 1) {
+ Member victim = e.getMessage().getMentionedMembers().get(0);
+ if (!e.getAuthor().getId().equals(victim.getId())) {
+ if (!e.getJDA().getSelfUser().getId().equals(victim.getId())) {
+ if (e.getGuild().getSelfMember().canInteract(victim)) {
+ e.getGuild().ban(victim, 0, "Banned by " + e.getAuthor().getAsTag()).queue();
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.ban.success.title",
"",
"commands.moderation.ban.success.description",
victim.getUser().getName() + ".").build()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} else {
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"commands.moderation.ban.error.title",
"commands.moderation.ban.myself.error.description").build()).queue();
}
} else {
- event.getTextChannel().sendMessage
- (event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage
+ (e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"commands.moderation.ban.error.title",
"commands.moderation.ban.yourself.error.description").build()).queue();
}
- } else if (event.getMessage().getMentionedMembers().size() == 0) {
- event.getHelpCommand().sendHelp(this, event);
- } else if (event.getMessage().getMentionedMembers().size() > 1) {
- for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
- Member member = event.getMessage().getMentionedMembers().get(i);
- if (!event.getAuthor().getId().equals(member.getId())) {
- if (!event.getJDA().getSelfUser().getId().equals(member.getId())) {
- if (event.getGuild().getSelfMember().canInteract(member)) {
- event.getGuild().ban(member, 0).reason("Mass Ban by " + event.getAuthor().getAsTag()).queue();
+ } else if (e.getMessage().getMentionedMembers().size() == 0) {
+ e.getHelpCommand().sendHelp(this, e);
+ } else if (e.getMessage().getMentionedMembers().size() > 1) {
+ for (int i = 0; i < e.getMessage().getMentionedMembers().size(); i++) {
+ Member member = e.getMessage().getMentionedMembers().get(i);
+ if (!e.getAuthor().getId().equals(member.getId())) {
+ if (!e.getJDA().getSelfUser().getId().equals(member.getId())) {
+ if (e.getGuild().getSelfMember().canInteract(member)) {
+ e.getGuild().ban(member, 0).reason("Mass Ban by " + e.getAuthor().getAsTag()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} else {
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"commands.moderation.ban.error.title",
"commands.moderation.ban.myself.error.description").build()).queue();
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"commands.moderation.ban.error.title",
"commands.moderation.ban.yourself.error.description").build()).queue();
}
}
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
"commands.moderation.ban.success.title",
"",
"commands.moderation.ban.massban.success.description",
- String.valueOf(event.getMessage().getMentionedMembers().size())).build()).queue();
+ String.valueOf(e.getMessage().getMentionedMembers().size())).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 12d1a58..290a6af 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.commands.moderation;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.moderation;
+
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.core.Perm;
@@ -20,15 +32,15 @@ import java.util.concurrent.TimeUnit;
public class ClearCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
+ public void executed(String[] args, CommandEvent e) {
if (args.length > 0) {
- if (event.getGuild().getSelfMember().hasPermission(Permission.MESSAGE_MANAGE)) {
+ if (e.getGuild().getSelfMember().hasPermission(Permission.MESSAGE_MANAGE)) {
if (args[0].equals("all")) {
- List msg = event.getTextChannel().getIterableHistory().complete();
+ List msg = e.getTextChannel().getIterableHistory().complete();
for (Message message : msg) {
message.delete().queue();
}
- Message message = event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
+ Message message = e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.clear.all.success.title",
"",
@@ -37,51 +49,51 @@ public class ClearCommand implements Command {
.build()).complete();
try {
TimeUnit.SECONDS.sleep(3);
- } catch (InterruptedException e) {
- e.printStackTrace();
+ } catch (InterruptedException ex) {
+ ex.printStackTrace();
}
message.delete().queue();
} else {
try {
int nbToDelete = Integer.parseInt(args[0]);
if (nbToDelete < 1 || nbToDelete > 99) {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.moderation.clear.number.error.title", "commands.moderation.clear.number.error.description").build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.moderation.clear.number.error.title", "commands.moderation.clear.number.error.description").build()).queue();
} else {
- List history = event.getTextChannel().getHistory().retrievePast(nbToDelete + 1).complete();
+ List history = e.getTextChannel().getHistory().retrievePast(nbToDelete + 1).complete();
List msgToDelete = new ArrayList<>(history);
- event.getTextChannel().deleteMessages(msgToDelete).queue();
+ e.getTextChannel().deleteMessages(msgToDelete).queue();
if (nbToDelete == 1) {
- Message msg = event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "commands.moderation.clear.success.title",
+ Message msg = e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "commands.moderation.clear.success.title",
"commands.moderation.clear.success.description.singular").build()).complete();
try {
TimeUnit.SECONDS.sleep(2);
- } catch (InterruptedException e) {
- e.printStackTrace();
+ } catch (InterruptedException ex) {
+ ex.printStackTrace();
}
msg.delete().queue();
} else {
- Message msg = event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "commands.moderation.clear.success.title", "",
+ Message msg = e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "commands.moderation.clear.success.title", "",
"commands.moderation.clear.success.description.plural", String.valueOf(nbToDelete)).build()).complete();
try {
TimeUnit.SECONDS.sleep(2);
- } catch (InterruptedException e) {
- e.printStackTrace();
+ } catch (InterruptedException ex) {
+ ex.printStackTrace();
}
msg.delete().queue();
}
}
- } catch (NumberFormatException e) {
- event.getHelpCommand().sendHelp(this, event);
- } catch (IllegalArgumentException e) {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.moderation.clear.message.error.title", "commands.moderation.clear.message.error.description")
+ } catch (NumberFormatException ex) {
+ e.getHelpCommand().sendHelp(this, e);
+ } catch (IllegalArgumentException ex) {
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.moderation.clear.message.error.title", "commands.moderation.clear.message.error.description")
.build()).queue();
}
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} else {
- event.getHelpCommand().sendHelp(this, event);
+ e.getHelpCommand().sendHelp(this, e);
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/moderation/EditRulesCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/EditRulesCommand.java
index e276391..7b6b70b 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/EditRulesCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/EditRulesCommand.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.commands.moderation;
import com.bbn.hadder.commands.Command;
@@ -7,75 +23,71 @@ import com.bbn.hadder.core.Perms;
import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.entities.TextChannel;
-/**
- * @author Skidder / GregTCLTK
- */
-
@Perms(Perm.MANAGE_SERVER)
public class EditRulesCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getRethink().getRulesMID(event.getGuild().getId()).length() == 18) {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getRethinkServer().getMessageID().length() == 18) {
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
"commands.moderation.editrules.message.title",
"commands.moderation.editrules.message.description").build()).queue();
- event.getEventWaiter().newOnMessageEventWaiter(event1 -> {
- String rules = event1.getMessage().getContentRaw();
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
+ e.getEventWaiter().newOnMessageEventWaiter(e1 -> {
+ String rules = e1.getMessage().getContentRaw();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
"commands.moderation.editrules.channel.title",
"commands.moderation.editrules.channel.description").build()).queue();
- event.getEventWaiter().newOnMessageEventWaiter(event2 -> {
- if (event2.getMessage().getMentionedChannels().size() == 1) {
+ e.getEventWaiter().newOnMessageEventWaiter(e2 -> {
+ if (e2.getMessage().getMentionedChannels().size() == 1) {
try {
- TextChannel channel = event2.getMessage().getMentionedChannels().get(0);
- checkChannel(event, rules, channel);
- } catch (Exception e) {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ TextChannel channel = e2.getMessage().getMentionedChannels().get(0);
+ checkChannel(e, rules, channel);
+ } catch (Exception ex) {
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.moderation.editrules.channel.error.title",
"commands.moderation.editrules.channel.error.description")
.build()).queue();
}
} else {
try {
- TextChannel channel = event1.getGuild().getTextChannelsByName(event2.getMessage().getContentRaw(), true).get(0);
- checkChannel(event, rules, channel);
- } catch (Exception e) {
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ TextChannel channel = e1.getGuild().getTextChannelsByName(e2.getMessage().getContentRaw(), true).get(0);
+ checkChannel(e, rules, channel);
+ } catch (Exception ex) {
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"commands.moderation.editrules.channel.error.title",
"commands.moderation.editrules.channel.error.description")
.build()).queue();
}
}
- }, event.getJDA(), event.getAuthor());
- }, event.getJDA(), event.getAuthor());
+ }, e.getJDA(), e.getAuthor());
+ }, e.getJDA(), e.getAuthor());
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.moderation.editrules.error.title", "",
- "commands.moderation.editrules.error.description", event.getRethink().getGuildPrefix(event.getGuild().getId())).build()).queue();
+ "commands.moderation.editrules.error.description", e.getRethinkServer().getPrefix()).build()).queue();
}
}
- public void checkChannel(CommandEvent event, String rules, TextChannel channel) {
+ public void checkChannel(CommandEvent e, String rules, TextChannel channel) {
try {
- channel.retrieveMessageById(event.getRethink().getRulesMID(event.getGuild().getId())).queue();
- setRules(event, rules, channel);
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
+ channel.retrieveMessageById(e.getRethinkServer().getMessageID()).queue();
+ setRules(e, rules, channel);
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
"commands.moderation.editrules.success.title",
"commands.moderation.editrules.success.description").build()).queue();
- } catch (Exception e) {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ } catch (Exception ex) {
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.moderation.editrules.channel.message.error.title",
"commands.moderation.editrules.channel.message.error.description").build()).queue();
}
}
- public void setRules(CommandEvent event, String rules, TextChannel channel) {
- channel.retrieveMessageById(event.getRethink().getRulesMID(event.getGuild().getId())).complete().editMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ public void setRules(CommandEvent e, String rules, TextChannel channel) {
+ channel.retrieveMessageById(e.getRethinkServer().getMessageID()).complete().editMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
.setTitle("Rules")
.setDescription(rules)
.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
index a3b03b0..faad4da 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/InviteDetectCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/InviteDetectCommand.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.commands.moderation;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.moderation;
+
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.core.Perm;
@@ -14,21 +26,22 @@ import com.bbn.hadder.utils.MessageEditor;
public class InviteDetectCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
+ public void executed(String[] args, CommandEvent e) {
if (args.length == 1) {
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(
- event.getMessageEditor().getMessage(
+ if (!e.getRethinkServer().isInviteDetect()) {
+ e.getRethinkServer().setInviteDetect(true);
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.invitedetect.activate.success.title",
"commands.moderation.invitedetect.activate.success.description")
.build()).queue();
+ e.getRethinkServer().push();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"commands.moderation.invitedetect.activate.error.title",
"commands.moderation.invitedetect.activate.error.description")
@@ -37,15 +50,16 @@ public class InviteDetectCommand implements Command {
break;
case "off":
- if (event.getRethink().getInviteDetection(event.getGuild().getId())) {
- event.getRethink().setInviteDetection(event.getGuild().getId(), false);
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
+ if (e.getRethinkServer().isInviteDetect()) {
+ e.getRethinkServer().setInviteDetect(false);
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.invitedetect.deactivate.success.title",
"commands.moderation.invitedetect.deactivate.success.description")
.build()).queue();
+ e.getRethinkServer().push();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"commands.moderation.invitedetect.deactivate.error.title",
"commands.moderation.invitedetect.deactivate.error.description")
@@ -53,10 +67,10 @@ public class InviteDetectCommand implements Command {
}
break;
default:
- event.getHelpCommand().sendHelp(this, event);
+ e.getHelpCommand().sendHelp(this, e);
}
} else {
- event.getHelpCommand().sendHelp(this, event);
+ e.getHelpCommand().sendHelp(this, e);
}
}
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 2fe1b53..87db3de 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/KickCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/KickCommand.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.commands.moderation;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.moderation;
+
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.core.Perm;
@@ -15,53 +27,53 @@ import net.dv8tion.jda.api.entities.Member;
public class KickCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- 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();
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getMessage().getMentionedMembers().size() == 1) {
+ Member victim = e.getMessage().getMentionedMembers().get(0);
+ if (!e.getAuthor().getId().equals(victim.getId())) {
+ if (!e.getJDA().getSelfUser().getId().equals(victim.getId())) {
+ if (e.getGuild().getSelfMember().canInteract(victim)) {
+ e.getGuild().kick(victim, "Kicked by " + e.getAuthor().getAsTag()).queue();
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.kick.success.title",
"✅",
"commands.moderation.kick.success.description",
victim.getUser().getName()).build()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} else {
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"commands.moderation.kick.error.title",
"commands.moderation.kick.myself.error.description").build()).queue();
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.moderation.kick.error.title", "commands.moderation.kick.yourself.error.description").build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.moderation.kick.error.title", "commands.moderation.kick.yourself.error.description").build()).queue();
}
- } else if (event.getMessage().getMentionedMembers().size() == 0) {
- event.getHelpCommand().sendHelp(this, event);
- } else if (event.getMessage().getMentionedMembers().size() > 1) {
- for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
- Member member = event.getMessage().getMentionedMembers().get(i);
- if (!event.getAuthor().getId().equals(member.getId())) {
- if (!event.getJDA().getSelfUser().getId().equals(member.getId())) {
- if (event.getGuild().getSelfMember().canInteract(member)) {
- event.getGuild().kick(member).reason("Mass Kicked by " + event.getAuthor().getAsTag()).queue();
+ } else if (e.getMessage().getMentionedMembers().size() == 0) {
+ e.getHelpCommand().sendHelp(this, e);
+ } else if (e.getMessage().getMentionedMembers().size() > 1) {
+ for (int i = 0; i < e.getMessage().getMentionedMembers().size(); i++) {
+ Member member = e.getMessage().getMentionedMembers().get(i);
+ if (!e.getAuthor().getId().equals(member.getId())) {
+ if (!e.getJDA().getSelfUser().getId().equals(member.getId())) {
+ if (e.getGuild().getSelfMember().canInteract(member)) {
+ e.getGuild().kick(member).reason("Mass Kicked by " + e.getAuthor().getAsTag()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.moderation.kick.error.title", "commands.moderation.kick.myself.error.description").build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.moderation.kick.error.title", "commands.moderation.kick.myself.error.description").build()).queue();
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.moderation.kick.error.title", "commands.moderation.kick.yourself.error.description").build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.moderation.kick.error.title", "commands.moderation.kick.yourself.error.description").build()).queue();
}
}
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "commands.moderation.kick.success.title", "✅", "commands.moderation.kick.masskick.success.description", String.valueOf(event.getMessage().getMentionedMembers().size())).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "commands.moderation.kick.success.title", "✅", "commands.moderation.kick.masskick.success.description", String.valueOf(e.getMessage().getMentionedMembers().size())).build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/moderation/NickCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/NickCommand.java
index e15d9f9..2f838f7 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/NickCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/NickCommand.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.commands.moderation;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.moderation;
+
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.core.Perm;
@@ -16,52 +28,52 @@ import net.dv8tion.jda.api.entities.Member;
public class NickCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- 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())) {
- if (event.getGuild().getSelfMember().canInteract(event.getMessage().getMentionedMembers().get(0))) {
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getGuild().getSelfMember().hasPermission(Permission.NICKNAME_MANAGE)) {
+ if (e.getMessage().getMentionedMembers().size() == 1) {
+ if (!e.getMessage().getMentionedMembers().get(0).getId().equals(e.getGuild().getSelfMember().getId())) {
+ if (e.getGuild().getSelfMember().canInteract(e.getMessage().getMentionedMembers().get(0))) {
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();
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ if (e.getMessage().getContentRaw().startsWith(e.getRethinkUser().getPrefix())) {
+ e.getGuild().modifyNickname(e.getMessage().getMentionedMembers().get(0), e.getMessage().getContentRaw().replaceFirst(e.getRethinkUser().getPrefix() + "nick " + args[0], "")).reason("Nicked by " + e.getAuthor().getAsTag()).queue();
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.nick.success.title",
"✅",
"commands.moderation.nick.success.description",
- event.getMessage().getMentionedMembers().get(0).getUser().getAsTag()
+ e.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();
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ } else if (e.getMessage().getContentRaw().startsWith(e.getRethinkServer().getPrefix())) {
+ e.getGuild().modifyNickname(e.getMessage().getMentionedMembers().get(0), e.getMessage().getContentRaw().replaceFirst(e.getRethinkServer().getPrefix() + "nick " + args[0], "")).reason("Nicked by " + e.getAuthor().getAsTag()).queue();
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.nick.success.title",
"✅",
- "commands.moderation.nick.success.description", event.getMessage().getMentionedMembers().get(0).getUser().getAsTag()
+ "commands.moderation.nick.success.description", e.getMessage().getMentionedMembers().get(0).getUser().getAsTag()
).build()).queue();
}
} else {
- event.getHelpCommand().sendHelp(this, event);
+ e.getHelpCommand().sendHelp(this, e);
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(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();
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ if (e.getMessage().getContentRaw().startsWith(e.getRethinkUser().getPrefix())) {
+ e.getGuild().getSelfMember().modifyNickname(e.getMessage().getContentRaw().replaceFirst(e.getRethinkUser().getPrefix() + "nick " + args[0], "")).reason("Nicked by " + e.getAuthor().getAsTag()).queue();
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.nick.success.title",
"✅",
"commands.moderation.nick.myself.success.description",
"").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();
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ } else if (e.getMessage().getContentRaw().startsWith(e.getRethinkServer().getPrefix())) {
+ e.getGuild().getSelfMember().modifyNickname(e.getMessage().getContentRaw().replaceFirst(e.getRethinkServer().getPrefix() + "nick " + args[0], "")).reason("Nicked by " + e.getAuthor().getAsTag()).queue();
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.nick.success.title",
"✅",
@@ -69,27 +81,27 @@ public class NickCommand implements Command {
).build()).queue();
}
}
- } else if (event.getMessage().getMentionedMembers().size() == 0) {
- event.getHelpCommand().sendHelp(this, event);
+ } else if (e.getMessage().getMentionedMembers().size() == 0) {
+ e.getHelpCommand().sendHelp(this, e);
} else {
- for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
- Member member = event.getMessage().getMentionedMembers().get(i);
- if (!event.getJDA().getSelfUser().getId().equals(member.getId())) {
- event.getGuild().modifyNickname(member, args[args.length - 1]).reason("Mass Nicked by " + event.getAuthor().getAsTag()).queue();
+ for (int i = 0; i < e.getMessage().getMentionedMembers().size(); i++) {
+ Member member = e.getMessage().getMentionedMembers().get(i);
+ if (!e.getJDA().getSelfUser().getId().equals(member.getId())) {
+ e.getGuild().modifyNickname(member, args[args.length - 1]).reason("Mass Nicked by " + e.getAuthor().getAsTag()).queue();
} else {
- event.getGuild().getSelfMember().modifyNickname(args[args.length - 1]).reason("Mass Nicked by " + event.getAuthor().getAsTag()).queue();
+ e.getGuild().getSelfMember().modifyNickname(args[args.length - 1]).reason("Mass Nicked by " + e.getAuthor().getAsTag()).queue();
}
}
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.nick.success.title",
"✅",
- "commands.moderation.nick.myself.success.description", String.valueOf(event.getMessage().getMentionedMembers().size())
+ "commands.moderation.nick.myself.success.description", String.valueOf(e.getMessage().getMentionedMembers().size())
).build()).queue();
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/moderation/PrefixCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/PrefixCommand.java
index 153e64f..7d2293e 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/PrefixCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/PrefixCommand.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.commands.moderation;
import com.bbn.hadder.commands.Command;
@@ -10,11 +26,12 @@ import com.bbn.hadder.utils.MessageEditor;
public class PrefixCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
+ public void executed(String[] args, CommandEvent e) {
if (args.length == 1) {
if (!args[0].contains("\"")) {
- event.getRethink().setGuildPrefix(args[0], event.getGuild().getId());
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
+ e.getRethinkServer().setPrefix(args[0]);
+ e.getRethinkServer().push();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.prefix.success.title",
"✅",
@@ -22,14 +39,14 @@ public class PrefixCommand implements Command {
args[0]).build()
).queue();
} else {
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.WARNING,
"",
"commands.moderation.prefix.error.description").build()).queue();
}
} else {
- event.getHelpCommand().sendHelp(this, event);
+ e.getHelpCommand().sendHelp(this, e);
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/moderation/RegionChangeCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/RegionChangeCommand.java
index 95f7fff..5ceed72 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/RegionChangeCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/RegionChangeCommand.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.commands.moderation;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.moderation;
+
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.core.Perm;
@@ -16,67 +28,67 @@ import net.dv8tion.jda.api.Region;
public class RegionChangeCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
+ public void executed(String[] args, CommandEvent e) {
if (args.length == 1) {
- if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_SERVER)) {
+ if (e.getGuild().getSelfMember().hasPermission(Permission.MANAGE_SERVER)) {
switch (args[0].toLowerCase()) {
case "amsterdam":
- setRegion(Region.AMSTERDAM, "Amsterdam", event);
+ setRegion(Region.AMSTERDAM, "Amsterdam", e);
break;
case "frankfurt":
- setRegion(Region.FRANKFURT, "Frankfurt", event);
+ setRegion(Region.FRANKFURT, "Frankfurt", e);
break;
case "eu-west":
- setRegion(Region.EU_WEST, "EU West", event);
+ setRegion(Region.EU_WEST, "EU West", e);
break;
case "eu-central":
- setRegion(Region.EU_CENTRAL, "EU Central", event);
+ setRegion(Region.EU_CENTRAL, "EU Central", e);
break;
case "europe":
- setRegion(Region.EUROPE, "EUROPE", event);
+ setRegion(Region.EUROPE, "EUROPE", e);
break;
case "brazil":
- setRegion(Region.BRAZIL, "Brazil", event);
+ setRegion(Region.BRAZIL, "Brazil", e);
break;
case "hongkong":
- setRegion(Region.HONG_KONG, "Hong Kong", event);
+ setRegion(Region.HONG_KONG, "Hong Kong", e);
break;
case "india":
- setRegion(Region.INDIA, "India", event);
+ setRegion(Region.INDIA, "India", e);
break;
case "japan":
- setRegion(Region.JAPAN, "Japan", event);
+ setRegion(Region.JAPAN, "Japan", e);
break;
case "london":
- setRegion(Region.LONDON, "London", event);
+ setRegion(Region.LONDON, "London", e);
break;
case "russia":
- setRegion(Region.RUSSIA, "Russia", event);
+ setRegion(Region.RUSSIA, "Russia", e);
break;
case "singapore":
- setRegion(Region.SINGAPORE, "Singapore", event);
+ setRegion(Region.SINGAPORE, "Singapore", e);
break;
case "south-africa":
- setRegion(Region.SOUTH_AFRICA, "South Africa", event);
+ setRegion(Region.SOUTH_AFRICA, "South Africa", e);
break;
case "sydney":
- setRegion(Region.SYDNEY, "Sydney", event);
+ setRegion(Region.SYDNEY, "Sydney", e);
break;
case "us-central":
- setRegion(Region.US_CENTRAL, "US Central", event);
+ setRegion(Region.US_CENTRAL, "US Central", e);
break;
case "us-east":
- setRegion(Region.US_EAST, "US East", event);
+ setRegion(Region.US_EAST, "US East", e);
break;
case "us-west":
- setRegion(Region.US_WEST, "US West", event);
+ setRegion(Region.US_WEST, "US West", e);
break;
case "us-south":
- setRegion(Region.US_SOUTH, "US South", event);
+ setRegion(Region.US_SOUTH, "US South", e);
break;
default:
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.regionchange.regions.title",
"")
@@ -84,10 +96,12 @@ public class RegionChangeCommand implements Command {
.build()).queue();
break;
}
+
+ //TODO: Maybe South Korea. Check the geo restricted discussion
} else
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
- } else event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
+ } else e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.regionchange.regions.title",
"")
@@ -95,10 +109,10 @@ public class RegionChangeCommand implements Command {
.build()).queue();
}
- public void setRegion (Region region, String region_name, CommandEvent event) {
- event.getGuild().getManager().setRegion(region).reason("Region changed by " + event.getAuthor().getAsTag()).queue();
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ public void setRegion (Region region, String region_name, CommandEvent e) {
+ e.getGuild().getManager().setRegion(region).reason("Region changed by " + e.getAuthor().getAsTag()).queue();
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.regionchange.success.title", "",
"commands.moderation.regionchange.success.description", region_name)
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 47842e8..3d774d7 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/RoleCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/RoleCommand.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.commands.moderation;
import com.bbn.hadder.commands.Command;
@@ -13,74 +29,74 @@ import net.dv8tion.jda.api.entities.Role;
public class RoleCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
+ public void executed(String[] args, CommandEvent e) {
if (args.length > 0) {
- if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES)) {
+ if (e.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES)) {
switch (args[0].toLowerCase()) {
case "add":
- 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().addRoleToMember(member, role).reason("Role added by " + event.getAuthor().getAsTag()).queue();
+ if (e.getMessage().getMentionedMembers().size() > 0 && e.getMessage().getMentionedRoles().size() > 0) {
+ for (Member member : e.getMessage().getMentionedMembers()) {
+ for (Role role : e.getMessage().getMentionedRoles()) {
+ if (e.getGuild().getSelfMember().canInteract(member)) {
+ if (e.getGuild().getSelfMember().canInteract(role)) {
+ e.getGuild().addRoleToMember(member, role).reason("Role added by " + e.getAuthor().getAsTag()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
}
}
- event.getChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e.getChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.role.add.success.title",
"",
"",
"commands.moderation.role.add.success.description",
- String.valueOf(event.getMessage().getMentionedRoles().size()),
- String.valueOf(event.getMessage().getMentionedMembers().size()))
+ String.valueOf(e.getMessage().getMentionedRoles().size()),
+ String.valueOf(e.getMessage().getMentionedMembers().size()))
.build()).queue();
}
break;
case "remove":
- 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();
+ if (e.getMessage().getMentionedMembers().size() > 0 && e.getMessage().getMentionedRoles().size() > 0) {
+ for (Member member : e.getMessage().getMentionedMembers()) {
+ for (Role role : e.getMessage().getMentionedRoles()) {
+ if (e.getGuild().getSelfMember().canInteract(member)) {
+ if (e.getGuild().getSelfMember().canInteract(role)) {
+ e.getGuild().removeRoleFromMember(member, role).reason("Role removed by " + e.getAuthor().getAsTag()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
}
}
- event.getChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e.getChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.role.remove.success.title",
"",
"",
"commands.moderation.role.remove.success.description",
- String.valueOf(event.getMessage().getMentionedRoles().size()),
- String.valueOf(event.getMessage().getMentionedMembers().size()))
+ String.valueOf(e.getMessage().getMentionedRoles().size()),
+ String.valueOf(e.getMessage().getMentionedMembers().size()))
.build()).queue();
}
break;
default:
- event.getHelpCommand().sendHelp(this, event);
+ e.getHelpCommand().sendHelp(this, e);
break;
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} else {
- event.getHelpCommand().sendHelp(this, event);
+ e.getHelpCommand().sendHelp(this, e);
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java
index 48951c5..48d54d2 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.commands.moderation;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.moderation;
+
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.core.Perm;
@@ -21,92 +33,94 @@ import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
public class RulesCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES)) {
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES)) {
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.rules.setup.title",
"commands.moderation.rules.setup.description")
.build()).queue();
- event.getEventWaiter().newOnMessageEventWaiter(event1 -> {
- if (event1.getMessage().getMentionedChannels().size() == 1) {
+ e.getEventWaiter().newOnMessageEventWaiter(e1 -> {
+ if (e1.getMessage().getMentionedChannels().size() == 1) {
try {
- TextChannel channel = event1.getMessage().getMentionedChannels().get(0);
- createRules(event, event1, channel);
- } catch (Exception e) {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ TextChannel channel = e1.getMessage().getMentionedChannels().get(0);
+ createRules(e, e1, channel);
+ } catch (Exception ex) {
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.moderation.rules.channel.error.title",
"commands.moderation.rules.channel.error.description")
.build()).queue();
}
} else {
try {
- TextChannel channel = event1.getGuild().getTextChannelsByName(event1.getMessage().getContentRaw(), true).get(0);
- createRules(event, event1, channel);
- } catch (Exception e) {
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ TextChannel channel = e1.getGuild().getTextChannelsByName(e1.getMessage().getContentRaw(), true).get(0);
+ createRules(e, e1, channel);
+ } catch (NullPointerException ex) {
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"commands.moderation.rules.channel.error.title",
"commands.moderation.rules.channel.error.description")
.build()).queue();
+ } catch (Exception ex) {
+ ex.printStackTrace();
}
}
- }, event.getJDA(), event.getAuthor());
+ }, e.getJDA(), e.getAuthor());
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.moderation.rules.error.permission.title",
"commands.moderation.rules.error.permission.description")
.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(
- event.getMessageEditor().getMessage(
+ public void createRules(CommandEvent e, GuildMessageReceivedEvent e1, TextChannel channel) {
+ if (channel.getGuild().getId().equals(e1.getGuild().getId())) {
+ if (e.getGuild().getSelfMember().hasPermission(channel, Permission.MESSAGE_WRITE)) {
+ e1.getChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.rules.rules.title",
"",
"commands.moderation.rules.rules.description",
channel.getName())
.build()).queue();
- event.getEventWaiter().newOnMessageEventWaiter(event2 -> {
- String message = event2.getMessage().getContentRaw();
- event2.getChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e.getEventWaiter().newOnMessageEventWaiter(e2 -> {
+ String message = e2.getMessage().getContentRaw();
+ e2.getChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.rules.role.title",
"commands.moderation.rules.role.description")
.build()).queue();
- new EventWaiter().newOnMessageEventWaiter(event3 -> {
- if (event3.getMessage().getMentionedRoles().size() == 1) {
- Role role = event3.getMessage().getMentionedRoles().get(0);
- setRole(event, channel, message, event3, role);
- } else if (event3.getGuild().getRolesByName(event3.getMessage().getContentRaw(), true).size() > 0) {
- Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentRaw(), true).get(0);
- setRole(event, channel, message, event3, role);
+ new EventWaiter().newOnMessageEventWaiter(e3 -> {
+ if (e3.getMessage().getMentionedRoles().size() == 1) {
+ Role role = e3.getMessage().getMentionedRoles().get(0);
+ setRole(e, channel, message, e3, role);
+ } else if (e3.getGuild().getRolesByName(e3.getMessage().getContentRaw(), true).size() > 0) {
+ Role role = e3.getGuild().getRolesByName(e3.getMessage().getContentRaw(), true).get(0);
+ setRole(e, channel, message, e3, role);
} else {
- event3.getChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e3.getChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"commands.moderation.rules.role.error.title",
"commands.moderation.rules.role.error.description")
.build()).queue();
}
- }, event.getJDA(), event.getAuthor());
- }, event.getJDA(), event.getAuthor());
+ }, e.getJDA(), e.getAuthor());
+ }, e.getJDA(), e.getAuthor());
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.moderation.rules.error.message.title",
"commands.moderation.rules.error.message.description")
.build()).queue();
}
} else {
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"commands.moderation.rules.guild.error.title",
"commands.moderation.rules.guild.error.description")
@@ -114,117 +128,119 @@ public class RulesCommand implements Command {
}
}
- public void setRole(CommandEvent event, TextChannel channel, String message, GuildMessageReceivedEvent event3, Role role) {
- if (event3.getGuild().getSelfMember().canInteract(role)) {
- if (event3.getMember().canInteract(role)) {
- event3.getChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ public void setRole(CommandEvent e, TextChannel channel, String message, GuildMessageReceivedEvent e3, Role role) {
+ if (e3.getGuild().getSelfMember().canInteract(role)) {
+ if (e3.getMember().canInteract(role)) {
+ e3.getChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.rules.emote.accept.title",
"",
"commands.moderation.rules.emote.accept.description", role.getName())
.build()).queue();
- event.getEventWaiter().newOnMessageEventWaiter(event4 -> {
- if (event4.getMessage().getEmotes().size() == 1) {
- Emote aemote = event4.getMessage().getEmotes().get(0);
- event4.getChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e.getEventWaiter().newOnMessageEventWaiter(e4 -> {
+ if (e4.getMessage().getEmotes().size() == 1) {
+ Emote aemote = e4.getMessage().getEmotes().get(0);
+ e4.getChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.rules.emote.decline.title", "",
"commands.moderation.rules.emote.decline.description", String.valueOf(aemote))
.build()).queue();
- event.getEventWaiter().newOnMessageEventWaiter(event5 -> {
- Emote demote = event5.getMessage().getEmotes().get(0);
+ e.getEventWaiter().newOnMessageEventWaiter(e5 -> {
+ Emote demote = e5.getMessage().getEmotes().get(0);
if (!aemote.equals(demote)) {
- Message rules = channel.sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ Message rules = channel.sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
.setTitle("Rules")
.setDescription(message)
.build()).complete();
try {
rules.addReaction(aemote).queue();
rules.addReaction(demote).queue();
- event5.getChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e5.getChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.rules.success.title",
"",
"commands.moderation.rules.success.description",
channel.getAsMention())
.build()).queue();
- } catch (Exception e) {
- event5.getChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ } catch (Exception ex) {
+ e5.getChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"error",
"commands.moderation.rules.emote.error.access.description")
.build()).queue();
- e.printStackTrace();
+ ex.printStackTrace();
}
- event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId(), aemote.toString(), demote.toString());
+ e.getRethinkServer().updateRules(rules.getId(), role.getId(), aemote.toString(), demote.toString());
+ e.getRethinkServer().push();
} else {
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"commands.moderation.rules.emote.error.equal.title",
"commands.moderation.rules.emote.error.equal.description")
.build()).queue();
}
- }, event.getJDA(), event.getAuthor());
+ }, e.getJDA(), e.getAuthor());
} else {
- String aemote = event4.getMessage().getContentRaw();
- event4.getChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ String aemote = e4.getMessage().getContentRaw();
+ e4.getChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.rules.emote.decline.title",
"commands.moderation.rules.emoji.decline.description")
.build()).queue();
- event.getEventWaiter().newOnMessageEventWaiter(event5 -> {
- String demote = event5.getMessage().getContentRaw();
+ e.getEventWaiter().newOnMessageEventWaiter(e5 -> {
+ String demote = e5.getMessage().getContentRaw();
if (!aemote.equals(demote)) {
- Message rules = channel.sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ Message rules = channel.sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
.setTitle("Rules")
.setDescription(message)
.build()).complete();
try {
rules.addReaction(aemote).queue();
rules.addReaction(demote).queue();
- event5.getChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e5.getChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.rules.success.title",
"",
"commands.moderation.rules.success.description",
channel.getAsMention())
.build()).queue();
- } catch (Exception e) {
- event5.getChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ } catch (Exception ex) {
+ e5.getChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"error",
"commands.moderation.rules.emoji.error.description")
.build()).queue();
- e.printStackTrace();
+ ex.printStackTrace();
}
- event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId(), aemote, demote);
+ e.getRethinkServer().updateRules(rules.getId(), role.getId(), aemote, demote);
+ e.getRethinkServer().push();
} else {
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"commands.moderation.rules.emote.error.equal.title",
"commands.moderation.rules.emote.error.equal.description")
.build()).queue();
}
- }, event.getJDA(), event.getAuthor());
+ }, e.getJDA(), e.getAuthor());
}
- }, event.getJDA(), event.getAuthor());
+ }, e.getJDA(), e.getAuthor());
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.moderation.rules.role.permission.error.title",
"commands.moderation.rules.role.permission.error.description")
.build()).queue();
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.moderation.rules.error.interact.title",
"commands.moderation.rules.error.interact.description")
.build()).queue();
diff --git a/src/main/java/com/bbn/hadder/commands/moderation/StarboardCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/StarboardCommand.java
index d3c97ff..2c497e3 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/StarboardCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/StarboardCommand.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.commands.moderation;
import com.bbn.hadder.commands.Command;
@@ -8,29 +24,31 @@ import net.dv8tion.jda.api.entities.TextChannel;
public class StarboardCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getMessage().getMentionedChannels().size()==1) {
- event.getRethink().setStarboardChannel(event.getGuild().getId(), event.getMessage().getMentionedChannels().get(0).getId());
- event.getChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getMessage().getMentionedChannels().size()==1) {
+ e.getRethinkServer().setStarboard(e.getMessage().getMentionedChannels().get(0).getId());
+ e.getChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.moderation.starboard.success.title","")
.build())
.queue();
} else {
if (args.length>0) {
- TextChannel channel = event.getGuild().getTextChannelById(args[0]);
+ TextChannel channel = e.getGuild().getTextChannelById(args[0]);
if (channel!=null) {
- event.getRethink().setStarboardChannel(event.getGuild().getId(), channel.getId());
+ e.getRethinkServer().setStarboard(channel.getId());
}
} else {
- event.getHelpCommand().sendHelp(this, event);
+ e.getHelpCommand().sendHelp(this, e);
}
}
if (args.length==2) {
- event.getRethink().setNeededStars(args[1], event.getGuild().getId());
+ e.getRethinkServer().setNeededStars(args[1]);
}
+
+ e.getRethinkServer().push();
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/music/BassCommand.java b/src/main/java/com/bbn/hadder/commands/music/BassCommand.java
index c227118..2df554a 100644
--- a/src/main/java/com/bbn/hadder/commands/music/BassCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/music/BassCommand.java
@@ -1,5 +1,17 @@
/*
- @author Hax / Hax6775 / Schlauer_Hax
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
package com.bbn.hadder.commands.music;
@@ -14,29 +26,29 @@ public class BassCommand implements Command {
-0.1f, -0.1f, -0.1f, -0.1f };
@Override
- public void executed(String[] args, CommandEvent event) {
+ public void executed(String[] args, CommandEvent e) {
if (args.length > 0) {
- if (event.getAudioManager().hasPlayer(event.getGuild()) && event.getAudioManager().getPlayer(event.getGuild()).getPlayingTrack() != null) {
- if (event.getMember().getVoiceState().inVoiceChannel() && event.getGuild().getSelfMember().getVoiceState().inVoiceChannel() && event.getGuild().getSelfMember().getVoiceState().getChannel().equals(event.getMember().getVoiceState().getChannel())) {
+ if (e.getAudioManager().hasPlayer(e.getGuild()) && e.getAudioManager().getPlayer(e.getGuild()).getPlayingTrack() != null) {
+ if (e.getMember().getVoiceState().inVoiceChannel() && e.getGuild().getSelfMember().getVoiceState().inVoiceChannel() && e.getGuild().getSelfMember().getVoiceState().getChannel().equals(e.getMember().getVoiceState().getChannel())) {
float value = Float.parseFloat(args[0]);
EqualizerFactory equalizer = new EqualizerFactory();
for (int i = 0; i < BASS_BOOST.length; i++) {
equalizer.setGain(i, BASS_BOOST[i] + value);
}
- event.getAudioManager().getPlayer(event.getGuild()).setFrameBufferDuration(500);
- event.getAudioManager().getPlayer(event.getGuild()).setFilterFactory(equalizer);
+ e.getAudioManager().getPlayer(e.getGuild()).setFrameBufferDuration(500);
+ e.getAudioManager().getPlayer(e.getGuild()).setFilterFactory(equalizer);
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.bass.error.connected.title",
"commands.music.bass.error.connected.description")
.build()).queue();
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.info.error.title",
"commands.music.info.error.description").build()).queue();
}
- } else event.getHelpCommand().sendHelp(this, event);
+ } else e.getHelpCommand().sendHelp(this, e);
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/music/EchoCommand.java b/src/main/java/com/bbn/hadder/commands/music/EchoCommand.java
new file mode 100644
index 0000000..268498b
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/commands/music/EchoCommand.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.bbn.hadder.commands.music;
+
+import com.bbn.hadder.commands.Command;
+import com.bbn.hadder.commands.CommandEvent;
+import com.bbn.hadder.core.Perm;
+import com.bbn.hadder.core.Perms;
+import net.dv8tion.jda.api.audio.*;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.managers.AudioManager;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import java.nio.ByteBuffer;
+import java.util.Queue;
+import java.util.concurrent.ConcurrentLinkedQueue;
+
+@Perms(Perm.BOT_OWNER)
+public class EchoCommand implements Command {
+
+ @Override
+ public void executed(String[] args, CommandEvent event) {
+ Guild guild = event.getMember().getVoiceState().getChannel().getGuild();
+ AudioManager audioManager = guild.getAudioManager();
+ EchoHandler handler = new EchoHandler();
+ if (!audioManager.isConnected()) {
+ audioManager.setSendingHandler(handler);
+ audioManager.setReceivingHandler(handler);
+ audioManager.openAudioConnection(event.getMember().getVoiceState().getChannel());
+ } else {
+ audioManager.closeAudioConnection();
+ }
+ }
+
+ public static class EchoHandler implements AudioSendHandler, AudioReceiveHandler {
+
+ private final Queue queue = new ConcurrentLinkedQueue<>();
+
+ @Override
+ public boolean canProvide() {
+ return !queue.isEmpty();
+ }
+
+ @Nullable
+ @Override
+ public ByteBuffer provide20MsAudio() {
+ byte[] data = queue.poll();
+ return data == null ? null : ByteBuffer.wrap(data); // Wrap this in a java.nio.ByteBuffer
+ }
+
+ @Override
+ public boolean canReceiveCombined() {
+ return queue.size() < 10;
+ }
+
+ @Override
+ public void handleCombinedAudio(@Nonnull CombinedAudio combinedAudio) {
+ if (combinedAudio.getUsers().isEmpty())
+ return;
+
+ byte[] data = combinedAudio.getAudioData(1.0f); // volume at 100% = 1.0 (50% = 0.5 / 55% = 0.55)
+ queue.add(data);
+ }
+ }
+
+ @Override
+ public String[] labels() {
+ return new String[]{"echo"};
+ }
+
+ @Override
+ public String description() {
+ return null;
+ }
+
+ @Override
+ public String usage() {
+ return null;
+ }
+
+ @Override
+ public String example() {
+ return null;
+ }
+
+}
diff --git a/src/main/java/com/bbn/hadder/commands/music/InfoCommand.java b/src/main/java/com/bbn/hadder/commands/music/InfoCommand.java
index e91f03e..6096550 100644
--- a/src/main/java/com/bbn/hadder/commands/music/InfoCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/music/InfoCommand.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.commands.music;
import com.bbn.hadder.commands.Command;
@@ -5,24 +21,20 @@ import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor;
import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
-/**
- * @author Skidder / GregTCLTK
- */
-
public class InfoCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getAudioManager().hasPlayer(event.getGuild()) && event.getAudioManager().getPlayer(event.getGuild()).getPlayingTrack() != null) {
- AudioTrack track = event.getAudioManager().getPlayer(event.getGuild()).getPlayingTrack();
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getAudioManager().hasPlayer(e.getGuild()) && e.getAudioManager().getPlayer(e.getGuild()).getPlayingTrack() != null) {
+ AudioTrack track = e.getAudioManager().getPlayer(e.getGuild()).getPlayingTrack();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
"commands.music.info.success.title", "")
.setAuthor(track.getInfo().author)
.addField("Title", track.getInfo().title, true)
- .addField("Progress", "`[ " + event.getAudioManager().getTimestamp(track.getPosition()) + " / " + event.getAudioManager().getTimestamp(track.getInfo().length) + " ]`", false)
+ .addField("Progress", "`[ " + e.getAudioManager().getTimestamp(track.getPosition()) + " / " + e.getAudioManager().getTimestamp(track.getInfo().length) + " ]`", false)
.build()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.info.error.title",
"commands.music.info.error.description").build()).queue();
}
diff --git a/src/main/java/com/bbn/hadder/commands/music/JoinCommand.java b/src/main/java/com/bbn/hadder/commands/music/JoinCommand.java
index acce3c6..aac598c 100644
--- a/src/main/java/com/bbn/hadder/commands/music/JoinCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/music/JoinCommand.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.commands.music;
import com.bbn.hadder.commands.Command;
@@ -7,39 +23,35 @@ import net.dv8tion.jda.api.entities.VoiceChannel;
import net.dv8tion.jda.api.exceptions.InsufficientPermissionException;
import net.dv8tion.jda.api.managers.AudioManager;
-/*
- * @author Skidder / GregTCLTK
- */
-
public class JoinCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getMember().getVoiceState().inVoiceChannel()) {
- AudioManager audioManager = event.getGuild().getAudioManager();
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getMember().getVoiceState().inVoiceChannel()) {
+ AudioManager audioManager = e.getGuild().getAudioManager();
if(!audioManager.isAttemptingToConnect()) {
- VoiceChannel vc = event.getMember().getVoiceState().getChannel();
- if (event.getGuild().getSelfMember().getVoiceState().inVoiceChannel()) {
- if (!event.getGuild().getSelfMember().getVoiceState().getChannel().getId().equals(vc.getId())) {
+ VoiceChannel vc = e.getMember().getVoiceState().getChannel();
+ if (e.getGuild().getSelfMember().getVoiceState().inVoiceChannel()) {
+ if (!e.getGuild().getSelfMember().getVoiceState().getChannel().getId().equals(vc.getId())) {
try {
- event.getGuild().getAudioManager().openAudioConnection(vc);
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e.getGuild().getAudioManager().openAudioConnection(vc);
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.music.join.success.title",
"",
"commands.music.join.success.description",
vc.getName())
.build()).queue();
- } catch (InsufficientPermissionException e) {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ } catch (InsufficientPermissionException ex) {
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.join.error.permission.title",
"commands.music.join.error.permission.description")
.build()).queue();
}
} else {
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(
MessageEditor.MessageType.WARNING,
"commands.music.join.error.connecting.already.title",
"commands.music.join.error.connecting.already.description")
@@ -47,28 +59,28 @@ public class JoinCommand implements Command {
}
} else {
try {
- event.getGuild().getAudioManager().openAudioConnection(vc);
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
+ e.getGuild().getAudioManager().openAudioConnection(vc);
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.music.join.success.title", "",
"commands.music.join.success.description", vc.getName())
.build()).queue();
- } catch (InsufficientPermissionException e) {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ } catch (InsufficientPermissionException ex) {
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.join.error.permission.title",
"commands.music.join.error.permission.description")
.build()).queue();
}
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(
MessageEditor.MessageType.WARNING,
"commands.music.join.error.connecting.trying.title",
"commands.music.join.error.connecting.trying.description")
.build()).queue();
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"commands.music.join.error.channel.title",
"commands.music.join.error.channel.description")
diff --git a/src/main/java/com/bbn/hadder/commands/music/LeaveCommand.java b/src/main/java/com/bbn/hadder/commands/music/LeaveCommand.java
index 8636984..d63cdb1 100644
--- a/src/main/java/com/bbn/hadder/commands/music/LeaveCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/music/LeaveCommand.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.commands.music;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.music;
+
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor;
@@ -11,23 +23,23 @@ 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()) {
- if (event.getMember().getVoiceState().inVoiceChannel() && event.getGuild().getSelfMember().getVoiceState().getChannel().equals(event.getMember().getVoiceState().getChannel())) {
- event.getGuild().getAudioManager().closeAudioConnection();
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getGuild().getSelfMember().getVoiceState().inVoiceChannel()) {
+ if (e.getMember().getVoiceState().inVoiceChannel() && e.getGuild().getSelfMember().getVoiceState().getChannel().equals(e.getMember().getVoiceState().getChannel())) {
+ e.getGuild().getAudioManager().closeAudioConnection();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
"commands.music.leave.success.title",
"commands.music.leave.success.description")
.build()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.leave.error.channel.title",
"commands.music.leave.error.channel.description")
.build()).queue();
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"commands.music.leave.error.connected.tile",
"commands.music.leave.error.connected.description")
diff --git a/src/main/java/com/bbn/hadder/commands/music/LoopCommand.java b/src/main/java/com/bbn/hadder/commands/music/LoopCommand.java
index 5003134..1189845 100644
--- a/src/main/java/com/bbn/hadder/commands/music/LoopCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/music/LoopCommand.java
@@ -1,34 +1,46 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.commands.music;
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor;
-/**
- * @author Skidder / GregTCLTK
- */
-
public class LoopCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getAudioManager().hasPlayer(event.getGuild()) && event.getAudioManager().getPlayer(event.getGuild()).getPlayingTrack() != null) {
- if (event.getMember().getVoiceState().inVoiceChannel() && event.getGuild().getSelfMember().getVoiceState().inVoiceChannel() && event.getGuild().getSelfMember().getVoiceState().getChannel().equals(event.getMember().getVoiceState().getChannel())) {
- if (event.getAudioManager().getTrackManager(event.getGuild()).isLoop()) {
- event.getAudioManager().getTrackManager(event.getGuild()).setLoop(false);
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "commands.music.loop.success.unloop.title", "commands.music.loop.success.unloop.description").build()).queue();
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getAudioManager().hasPlayer(e.getGuild()) && e.getAudioManager().getPlayer(e.getGuild()).getPlayingTrack() != null) {
+ if (e.getMember().getVoiceState().inVoiceChannel() && e.getGuild().getSelfMember().getVoiceState().inVoiceChannel() && e.getGuild().getSelfMember().getVoiceState().getChannel().equals(e.getMember().getVoiceState().getChannel())) {
+ if (e.getAudioManager().getTrackManager(e.getGuild()).isLoop()) {
+ e.getAudioManager().getTrackManager(e.getGuild()).setLoop(false);
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "commands.music.loop.success.unloop.title", "commands.music.loop.success.unloop.description").build()).queue();
} else {
- event.getAudioManager().getTrackManager(event.getGuild()).setLoop(true);
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "commands.music.loop.success.loop.title", "commands.music.loop.success.loop.description").build()).queue();
+ e.getAudioManager().getTrackManager(e.getGuild()).setLoop(true);
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "commands.music.loop.success.loop.title", "commands.music.loop.success.loop.description").build()).queue();
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.loop.error.connected.title",
"commands.music.loop.error.connected.description")
.build()).queue();
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.info.error.title",
"commands.music.info.error.description").build()).queue();
}
diff --git a/src/main/java/com/bbn/hadder/commands/music/PauseCommand.java b/src/main/java/com/bbn/hadder/commands/music/PauseCommand.java
index f67a099..baf55b0 100644
--- a/src/main/java/com/bbn/hadder/commands/music/PauseCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/music/PauseCommand.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.commands.music;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.music;
+
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor;
@@ -11,29 +23,29 @@ import com.bbn.hadder.utils.MessageEditor;
public class PauseCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getAudioManager().hasPlayer(event.getGuild()) && event.getAudioManager().getPlayer(event.getGuild()).getPlayingTrack() != null) {
- if (event.getMember().getVoiceState().inVoiceChannel() && event.getGuild().getSelfMember().getVoiceState().inVoiceChannel() && event.getGuild().getSelfMember().getVoiceState().getChannel().equals(event.getMember().getVoiceState().getChannel())) {
- if (!event.getAudioManager().getPlayer(event.getGuild()).isPaused()) {
- event.getAudioManager().getPlayer(event.getGuild()).setPaused(true);
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getAudioManager().hasPlayer(e.getGuild()) && e.getAudioManager().getPlayer(e.getGuild()).getPlayingTrack() != null) {
+ if (e.getMember().getVoiceState().inVoiceChannel() && e.getGuild().getSelfMember().getVoiceState().inVoiceChannel() && e.getGuild().getSelfMember().getVoiceState().getChannel().equals(e.getMember().getVoiceState().getChannel())) {
+ if (!e.getAudioManager().getPlayer(e.getGuild()).isPaused()) {
+ e.getAudioManager().getPlayer(e.getGuild()).setPaused(true);
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
"commands.music.pause.success.title",
"commands.music.pause.success.description")
.build()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.pause.error.paused.title",
"commands.music.pause.error.paused.description")
.build()).queue();
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.pause.error.connected.title",
"commands.music.pause.error.connected.description")
.build()).queue();
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.info.error.title",
"commands.music.info.error.description").build()).queue();
}
diff --git a/src/main/java/com/bbn/hadder/commands/music/PlayCommand.java b/src/main/java/com/bbn/hadder/commands/music/PlayCommand.java
index 1646769..794c960 100644
--- a/src/main/java/com/bbn/hadder/commands/music/PlayCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/music/PlayCommand.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.commands.music;
import com.bbn.hadder.commands.Command;
@@ -8,55 +24,51 @@ import net.dv8tion.jda.api.exceptions.InsufficientPermissionException;
import java.net.URL;
-/**
- * @author Skidder / GregTCLTK
- */
-
public class PlayCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
+ public void executed(String[] args, CommandEvent e) {
if (args.length > 0) {
- if (event.getMember().getVoiceState().inVoiceChannel()) {
- String input = event.getMessage().getContentRaw().replaceFirst(event.getRethink().getGuildPrefix(event.getGuild().getId()) + "play ", "").replaceFirst(event.getRethink().getUserPrefix(event.getAuthor().getId()) + "play ", "");
+ if (e.getMember().getVoiceState().inVoiceChannel()) {
+ String input = e.getMessage().getContentRaw().replaceFirst(e.getRethinkServer().getPrefix() + "play ", "").replaceFirst(e.getRethinkUser().getPrefix() + "play ", "");
try {
new URL(input).toURI();
- Message msg = event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
+ Message msg = e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
"commands.music.play.load.title", "⭕",
"commands.music.play.load.description", "").build()).complete();
- event.getAudioManager().loadTrack(input, event, msg);
- } catch (InsufficientPermissionException e) {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getAudioManager().loadTrack(input, e, msg);
+ } catch (InsufficientPermissionException ex) {
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.join.error.permission.title",
"commands.music.join.error.permission.description")
.build()).queue();
} catch (Exception ignore) {
- Message msg = event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
+ Message msg = e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
"commands.music.play.load.title", "⭕",
"commands.music.play.load.description", "").build()).complete();
- event.getAudioManager().loadTrack("ytsearch: " + input, event, msg);
+ e.getAudioManager().loadTrack("ytsearch: " + input, e, msg);
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR,
"commands.music.join.error.channel.title",
"commands.music.join.error.channel.description")
.build()).queue();
}
- } else if (event.getAudioManager().getPlayer(event.getGuild()).isPaused()) {
- if (event.getMember().getVoiceState().inVoiceChannel() && event.getGuild().getSelfMember().getVoiceState().inVoiceChannel() && event.getGuild().getSelfMember().getVoiceState().getChannel().equals(event.getMember().getVoiceState().getChannel())) {
- event.getAudioManager().getPlayer(event.getGuild()).setPaused(false);
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
+ } else if (e.getAudioManager().getPlayer(e.getGuild()).isPaused()) {
+ if (e.getMember().getVoiceState().inVoiceChannel() && e.getGuild().getSelfMember().getVoiceState().inVoiceChannel() && e.getGuild().getSelfMember().getVoiceState().getChannel().equals(e.getMember().getVoiceState().getChannel())) {
+ e.getAudioManager().getPlayer(e.getGuild()).setPaused(false);
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
"commands.music.play.success.unpause.title",
"commands.music.play.success.unpause.description")
.build()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.play.error.connected.title",
"commands.music.play.error.connected.description")
.build()).queue();
}
- } else event.getHelpCommand().sendHelp(this, event);
+ } else e.getHelpCommand().sendHelp(this, e);
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/music/QueueCommand.java b/src/main/java/com/bbn/hadder/commands/music/QueueCommand.java
index 0336a2b..56c1fc7 100644
--- a/src/main/java/com/bbn/hadder/commands/music/QueueCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/music/QueueCommand.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.commands.music;
import com.bbn.hadder.audio.AudioInfo;
@@ -7,29 +23,25 @@ import com.bbn.hadder.utils.MessageEditor;
import java.util.Set;
-/**
- * @author Skidder / GregTCLTK
- */
-
public class QueueCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (!event.getAudioManager().hasPlayer(event.getGuild()) || event.getAudioManager().getTrackManager(event.getGuild()).getQueuedTracks().isEmpty()) {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ public void executed(String[] args, CommandEvent e) {
+ if (!e.getAudioManager().hasPlayer(e.getGuild()) || e.getAudioManager().getTrackManager(e.getGuild()).getQueuedTracks().isEmpty()) {
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.queue.error.title",
"commands.music.queue.error.description"
).build()).queue();
} else {
- Set queue = event.getAudioManager().getTrackManager(event.getGuild()).getQueuedTracks();
+ Set queue = e.getAudioManager().getTrackManager(e.getGuild()).getQueuedTracks();
StringBuilder builder = new StringBuilder();
long queuelength = 0;
for (AudioInfo g : queue) {
queuelength = queuelength + g.getTrack().getInfo().length;
- builder.append("("+event.getAudioManager().getTimestamp(g.getTrack().getInfo().length)+") **").append(g.getTrack().getInfo().author).append("**: `").append(g.getTrack().getInfo().title).append("` \n");
+ builder.append("("+e.getAudioManager().getTimestamp(g.getTrack().getInfo().length)+") **").append(g.getTrack().getInfo().author).append("**: `").append(g.getTrack().getInfo().title).append("` \n");
}
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
- "commands.music.queue.success.title", "("+String.valueOf(event.getAudioManager().getTimestamp(queuelength))+")",
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
+ "commands.music.queue.success.title", "("+String.valueOf(e.getAudioManager().getTimestamp(queuelength))+")",
"commands.music.queue.success.description", builder.toString())
.build()).queue();
}
diff --git a/src/main/java/com/bbn/hadder/commands/music/RecordCommand.java b/src/main/java/com/bbn/hadder/commands/music/RecordCommand.java
new file mode 100644
index 0000000..48339ed
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/commands/music/RecordCommand.java
@@ -0,0 +1,104 @@
+/*
+ * @author Hax / Hax6775 / Schlauer_Hax
+ */
+
+package com.bbn.hadder.commands.music;
+
+import com.bbn.hadder.commands.Command;
+import com.bbn.hadder.commands.CommandEvent;
+import com.bbn.hadder.core.Perm;
+import com.bbn.hadder.core.Perms;
+import net.dv8tion.jda.api.audio.AudioReceiveHandler;
+import net.dv8tion.jda.api.audio.AudioSendHandler;
+import net.dv8tion.jda.api.audio.UserAudio;
+import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.managers.AudioManager;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import java.io.File;
+import java.nio.ByteBuffer;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Queue;
+import java.util.concurrent.ConcurrentLinkedQueue;
+
+@Perms(Perm.BOT_OWNER)
+public class RecordCommand implements Command {
+
+ private final HashMap> queue = new HashMap<>();
+
+ @Override
+ public void executed(String[] args, CommandEvent event) {
+ Guild guild = event.getMember().getVoiceState().getChannel().getGuild();
+ AudioManager audioManager = guild.getAudioManager();
+ EchoHandler handler = new EchoHandler(queue);
+ if (!audioManager.isConnected()) {
+ audioManager.setSendingHandler(handler);
+ audioManager.setReceivingHandler(handler);
+ audioManager.openAudioConnection(event.getMember().getVoiceState().getChannel());
+ } else {
+ for (Map.Entry> key : queue.entrySet()) {
+ File file = new File("./"+event.getJDA().getUserById(key.getKey())+".wav");
+
+
+ }
+ }
+ }
+
+ public static class EchoHandler implements AudioSendHandler, AudioReceiveHandler {
+
+ private HashMap> queue;
+
+ public EchoHandler(HashMap> queue) {
+ this.queue = queue;
+ }
+
+ @Override
+ public boolean canProvide() {
+ return false;
+ }
+
+ @Nullable
+ @Override
+ public ByteBuffer provide20MsAudio() {
+ return null;
+ }
+
+ @Override
+ public void handleUserAudio(@Nonnull UserAudio userAudio) {
+ if (queue.containsKey(userAudio.getUser().getId())) {
+ queue.get(userAudio.getUser().getId()).add(userAudio.getAudioData(1.0f));
+ } else {
+ Queue newqueue = new ConcurrentLinkedQueue<>();
+ newqueue.add(userAudio.getAudioData(1.0f));
+ queue.put(userAudio.getUser().getId(), newqueue);
+ }
+ }
+
+ public HashMap> getQueue() {
+ return queue;
+ }
+ }
+
+ @Override
+ public String[] labels() {
+ return new String[]{"echo"};
+ }
+
+ @Override
+ public String description() {
+ return null;
+ }
+
+ @Override
+ public String usage() {
+ return null;
+ }
+
+ @Override
+ public String example() {
+ return null;
+ }
+
+}
diff --git a/src/main/java/com/bbn/hadder/commands/music/SkipCommand.java b/src/main/java/com/bbn/hadder/commands/music/SkipCommand.java
index 40f366f..9500988 100644
--- a/src/main/java/com/bbn/hadder/commands/music/SkipCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/music/SkipCommand.java
@@ -1,30 +1,42 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.commands.music;
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor;
-/**
- * @author Skidder / GregTCLTK
- */
-
public class SkipCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getAudioManager().hasPlayer(event.getGuild()) && !event.getAudioManager().getTrackManager(event.getGuild()).getQueuedTracks().isEmpty()) {
- if (event.getMember().getVoiceState().inVoiceChannel() && event.getGuild().getSelfMember().getVoiceState().inVoiceChannel() && event.getGuild().getSelfMember().getVoiceState().getChannel().equals(event.getMember().getVoiceState().getChannel())) {
- event.getAudioManager().forceSkipTrack(event);
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getAudioManager().hasPlayer(e.getGuild()) && !e.getAudioManager().getTrackManager(e.getGuild()).getQueuedTracks().isEmpty()) {
+ if (e.getMember().getVoiceState().inVoiceChannel() && e.getGuild().getSelfMember().getVoiceState().inVoiceChannel() && e.getGuild().getSelfMember().getVoiceState().getChannel().equals(e.getMember().getVoiceState().getChannel())) {
+ e.getAudioManager().forceSkipTrack(e);
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
"commands.music.skip.success.title",
"commands.music.skip.success.description").build()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.skip.error.connected.title",
"commands.music.skip.error.connected.description ").build()).queue();
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.info.error.title",
"commands.music.info.error.description").build()).queue();
}
diff --git a/src/main/java/com/bbn/hadder/commands/music/StopCommand.java b/src/main/java/com/bbn/hadder/commands/music/StopCommand.java
index 56cd891..e11dfac 100644
--- a/src/main/java/com/bbn/hadder/commands/music/StopCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/music/StopCommand.java
@@ -1,34 +1,46 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.commands.music;
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor;
-/**
- * @author Skidder / GregTCLTK
- */
-
public class StopCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getAudioManager().hasPlayer(event.getGuild()) && event.getAudioManager().getPlayer(event.getGuild()).getPlayingTrack() != null) {
- if (event.getMember().getVoiceState().inVoiceChannel() && event.getGuild().getSelfMember().getVoiceState().inVoiceChannel() && event.getGuild().getSelfMember().getVoiceState().getChannel().equals(event.getMember().getVoiceState().getChannel())) {
- event.getAudioManager().players.remove(event.getGuild().getId());
- event.getAudioManager().getPlayer(event.getGuild()).destroy();
- event.getAudioManager().getTrackManager(event.getGuild()).purgeQueue();
- event.getGuild().getAudioManager().closeAudioConnection();
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getAudioManager().hasPlayer(e.getGuild()) && e.getAudioManager().getPlayer(e.getGuild()).getPlayingTrack() != null) {
+ if (e.getMember().getVoiceState().inVoiceChannel() && e.getGuild().getSelfMember().getVoiceState().inVoiceChannel() && e.getGuild().getSelfMember().getVoiceState().getChannel().equals(e.getMember().getVoiceState().getChannel())) {
+ e.getAudioManager().players.remove(e.getGuild().getId());
+ e.getAudioManager().getPlayer(e.getGuild()).destroy();
+ e.getAudioManager().getTrackManager(e.getGuild()).purgeQueue();
+ e.getGuild().getAudioManager().closeAudioConnection();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
"commands.music.stop.success.title",
"commands.music.stop.success.description").build()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.stop.error.connected.title",
"commands.music.stop.error.connected.description")
.build()).queue();
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.info.error.title",
"commands.music.info.error.description").build()).queue();
}
diff --git a/src/main/java/com/bbn/hadder/commands/music/VolumeCommand.java b/src/main/java/com/bbn/hadder/commands/music/VolumeCommand.java
index b39fbf2..994224b 100644
--- a/src/main/java/com/bbn/hadder/commands/music/VolumeCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/music/VolumeCommand.java
@@ -1,49 +1,59 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.commands.music;
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor;
-/**
- * @author Skidder / GregTCLTK
- */
-
public class VolumeCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
+ public void executed(String[] args, CommandEvent e) {
if (args.length > 0) {
- if (event.getAudioManager().hasPlayer(event.getGuild()) && event.getAudioManager().getPlayer(event.getGuild()).getPlayingTrack() != null) {
- if (event.getMember().getVoiceState().inVoiceChannel() && event.getGuild().getSelfMember().getVoiceState().inVoiceChannel() && event.getGuild().getSelfMember().getVoiceState().getChannel().equals(event.getMember().getVoiceState().getChannel())) {
+ if (e.getAudioManager().hasPlayer(e.getGuild()) && e.getAudioManager().getPlayer(e.getGuild()).getPlayingTrack() != null) {
+ if (e.getMember().getVoiceState().inVoiceChannel() && e.getGuild().getSelfMember().getVoiceState().inVoiceChannel() && e.getGuild().getSelfMember().getVoiceState().getChannel().equals(e.getMember().getVoiceState().getChannel())) {
try {
int volume = Integer.parseInt(args[0]);
- if (volume < 201 && volume > 0 || event.getConfig().getOwners().contains(event.getAuthor().getIdLong())) {
- event.getAudioManager().getPlayer(event.getGuild()).setVolume(volume);
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
+ if (volume < 201 && volume > 0 || e.getConfig().getOwners().contains(e.getAuthor().getIdLong())) {
+ e.getAudioManager().getPlayer(e.getGuild()).setVolume(volume);
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
"commands.music.volume.success.title", "",
"commands.music.volume.success.description", String.valueOf(volume)).build()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.volume.error.int.title",
"commands.music.volume.error.int.description").build()).queue();
}
- } catch (NumberFormatException e) {
- event.getHelpCommand().sendHelp(this, event);
- } catch (Exception e) {
- e.printStackTrace();
+ } catch (NumberFormatException ex) {
+ e.getHelpCommand().sendHelp(this, e);
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.volume.error.connected.title",
"commands.music.volume.error.connected.description")
.build()).queue();
}
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.info.error.title",
"commands.music.info.error.description").build()).queue();
}
- } else event.getHelpCommand().sendHelp(this, event);
+ } else e.getHelpCommand().sendHelp(this, e);
}
@Override
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 e66169e..da0baa4 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/AnalCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/AnalCommand.java
@@ -1,47 +1,39 @@
-package com.bbn.hadder.commands.nsfw;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+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 okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.Response;
-import org.json.JSONObject;
-
-import java.io.IOException;
+import com.bbn.hadder.utils.Http;
public class AnalCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getTextChannel().isNSFW()) {
-
- OkHttpClient caller = new OkHttpClient();
- Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/gif/anal/").build();
-
- try {
- Response response = caller.newCall(request).execute();
- JSONObject json = new JSONObject(response.body().string());
- JSONObject data = json.getJSONObject("data");
- JSONObject response1 = data.getJSONObject("response");
- String url = response1.toString().replace("{\"url\":\"", "");
-
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
- .setAuthor(event.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url.replace("\"}", ""))
- .setImage(url.replace("\"}", ""))
- .setFooter("Anal")
- .build()).queue();
-
- } catch (IOException e) {
- e.printStackTrace();
- }
-
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getTextChannel().isNSFW()) {
+ String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/gif/anal/");
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
+ .setImage(url)
+ .setFooter("Anal")
+ .build()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/BDSMCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/BDSMCommand.java
index 3136a3e..53ec6b3 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/BDSMCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/BDSMCommand.java
@@ -1,47 +1,42 @@
-package com.bbn.hadder.commands.nsfw;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+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 okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.Response;
-import org.json.JSONObject;
-
-import java.io.IOException;
+import com.bbn.hadder.utils.Http;
public class BDSMCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getTextChannel().isNSFW()) {
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getTextChannel().isNSFW()) {
- OkHttpClient caller = new OkHttpClient();
- Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/img/bdsm_lewd").build();
+ String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/img/bdsm_lewd");
- try {
- Response response = caller.newCall(request).execute();
- JSONObject json = new JSONObject(response.body().string());
- JSONObject data = json.getJSONObject("data");
- JSONObject response1 = data.getJSONObject("response");
- String url = response1.toString().replace("{\"url\":\"", "");
-
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
- .setAuthor(event.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url.replace("\"}", ""))
- .setImage(url.replace("\"}", ""))
- .setFooter("BDSM")
- .build()).queue();
-
- } catch (IOException e) {
- e.printStackTrace();
- }
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
+ .setImage(url)
+ .setFooter("BDSM")
+ .build()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).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 7f4302a..d53de45 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/BlowjobCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/BlowjobCommand.java
@@ -1,44 +1,42 @@
-package com.bbn.hadder.commands.nsfw;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+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 okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.Response;
-
-import java.io.IOException;
+import com.bbn.hadder.utils.Http;
public class BlowjobCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getTextChannel().isNSFW()) {
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getTextChannel().isNSFW()) {
- OkHttpClient caller = new OkHttpClient();
- Request request = new Request.Builder().url("https://nekos.life/api/v2/img/blowjob").build();
+ String url = Http.getNSFW("https://nekos.life/api/v2/img/blowjob");
- try {
-
- Response response = caller.newCall(request).execute();
- String url = response.body().string().replace("{\"url\":\"", "");
-
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
- .setAuthor(event.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url.replace("\"}", ""))
- .setImage(url.replace("\"}", ""))
- .setFooter("Blowjob")
- .build()).queue();
-
- } catch (IOException e) {
- e.printStackTrace();
- }
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
+ .setImage(url)
+ .setFooter("Blowjob")
+ .build()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).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 9ff9393..50c43df 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/BoobsCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/BoobsCommand.java
@@ -1,48 +1,42 @@
-package com.bbn.hadder.commands.nsfw;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+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 okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.Response;
-import org.json.JSONObject;
-
-import java.io.IOException;
+import com.bbn.hadder.utils.Http;
public class BoobsCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getTextChannel().isNSFW()) {
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getTextChannel().isNSFW()) {
- OkHttpClient caller = new OkHttpClient();
- Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/gif/tits/").build();
+ String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/gif/tits/");
- try {
-
- Response response = caller.newCall(request).execute();
- JSONObject json = new JSONObject(response.body().string());
- JSONObject data = json.getJSONObject("data");
- JSONObject response1 = data.getJSONObject("response");
- String url = response1.toString().replace("{\"url\":\"", "");
-
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
- .setAuthor(event.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url.replace("\"}", ""))
- .setImage(url.replace("\"}", ""))
- .setFooter("Boobs")
- .build()).queue();
-
- } catch (IOException e) {
- e.printStackTrace();
- }
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
+ .setImage(url)
+ .setFooter("Boobs")
+ .build()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).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 4eacd90..95c291b 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/CumCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/CumCommand.java
@@ -1,48 +1,42 @@
-package com.bbn.hadder.commands.nsfw;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+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 okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.Response;
-import org.json.JSONObject;
-
-import java.io.IOException;
+import com.bbn.hadder.utils.Http;
public class CumCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getTextChannel().isNSFW()) {
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getTextChannel().isNSFW()) {
- OkHttpClient caller = new OkHttpClient();
- Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/gif/cum/").build();
+ String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/gif/cum/");
- try {
-
- Response response = caller.newCall(request).execute();
- JSONObject json = new JSONObject(response.body().string());
- JSONObject data = json.getJSONObject("data");
- JSONObject response1 = data.getJSONObject("response");
- String url = response1.toString().replace("{\"url\":\"", "");
-
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
- .setAuthor(event.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url.replace("\"}", ""))
- .setImage(url.replace("\"}", ""))
- .setFooter("Cum")
- .build()).queue();
-
- } catch (IOException e) {
- e.printStackTrace();
- }
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
+ .setImage(url)
+ .setFooter("Cum")
+ .build()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).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 f3d8434..729bfea 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/EroticCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/EroticCommand.java
@@ -1,44 +1,42 @@
-package com.bbn.hadder.commands.nsfw;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+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 okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.Response;
-
-import java.io.IOException;
+import com.bbn.hadder.utils.Http;
public class EroticCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getTextChannel().isNSFW()) {
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getTextChannel().isNSFW()) {
- OkHttpClient caller = new OkHttpClient();
- Request request = new Request.Builder().url("https://nekos.life/api/v2/img/erok").build();
+ String url = Http.getNSFW("https://nekos.life/api/v2/img/erok");
- try {
-
- Response response = caller.newCall(request).execute();
- String url = response.body().string().replace("{\"url\":\"", "");
-
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
- .setAuthor(event.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url.replace("\"}", ""))
- .setImage(url.replace("\"}", ""))
- .setFooter("Erotic")
- .build()).queue();
-
- } catch (IOException e) {
- e.printStackTrace();
- }
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
+ .setImage(url)
+ .setFooter("Erotic")
+ .build()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).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 b3a56d4..f304f29 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/FeetCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/FeetCommand.java
@@ -1,48 +1,42 @@
-package com.bbn.hadder.commands.nsfw;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+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 okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.Response;
-import org.json.JSONObject;
-
-import java.io.IOException;
+import com.bbn.hadder.utils.Http;
public class FeetCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getTextChannel().isNSFW()) {
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getTextChannel().isNSFW()) {
- OkHttpClient caller = new OkHttpClient();
- Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/gif/feet/").build();
+ String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/gif/feet/");
- try {
-
- Response response = caller.newCall(request).execute();
- JSONObject json = new JSONObject(response.body().string());
- JSONObject data = json.getJSONObject("data");
- JSONObject response1 = data.getJSONObject("response");
- String url = response1.toString().replace("{\"url\":\"", "");
-
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
- .setAuthor(event.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url.replace("\"}", ""))
- .setImage(url.replace("\"}", ""))
- .setFooter("Feet")
- .build()).queue();
-
- } catch (IOException e) {
- e.printStackTrace();
- }
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
+ .setImage(url)
+ .setFooter("Feet")
+ .build()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/FingeringCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/FingeringCommand.java
index 983d6db..cf1d3c5 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/FingeringCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/FingeringCommand.java
@@ -1,48 +1,42 @@
-package com.bbn.hadder.commands.nsfw;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+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 okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.Response;
-import org.json.JSONObject;
-
-import java.io.IOException;
+import com.bbn.hadder.utils.Http;
public class FingeringCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getTextChannel().isNSFW()) {
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getTextChannel().isNSFW()) {
- OkHttpClient caller = new OkHttpClient();
- Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/gif/pussy_wank/").build();
+ String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/gif/pussy_wank/");
- try {
-
- Response response = caller.newCall(request).execute();
- JSONObject json = new JSONObject(response.body().string());
- JSONObject data = json.getJSONObject("data");
- JSONObject response1 = data.getJSONObject("response");
- String url = response1.toString().replace("{\"url\":\"", "");
-
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
- .setAuthor(event.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url.replace("\"}", ""))
- .setImage(url.replace("\"}", ""))
- .setFooter("Fingering")
- .build()).queue();
-
- } catch (IOException e) {
- e.printStackTrace();
- }
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
+ .setImage(url)
+ .setFooter("Fingering")
+ .build()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/LickingCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/LickingCommand.java
index 2219b45..4bc70be 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/LickingCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/LickingCommand.java
@@ -1,48 +1,42 @@
-package com.bbn.hadder.commands.nsfw;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+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 okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.Response;
-import org.json.JSONObject;
-
-import java.io.IOException;
+import com.bbn.hadder.utils.Http;
public class LickingCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getTextChannel().isNSFW()) {
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getTextChannel().isNSFW()) {
- OkHttpClient caller = new OkHttpClient();
- Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/gif/kuni/").build();
+ String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/gif/kuni/");
- try {
-
- Response response = caller.newCall(request).execute();
- JSONObject json = new JSONObject(response.body().string());
- JSONObject data = json.getJSONObject("data");
- JSONObject response1 = data.getJSONObject("response");
- String url = response1.toString().replace("{\"url\":\"", "");
-
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
- .setAuthor(event.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url.replace("\"}", ""))
- .setImage(url.replace("\"}", ""))
- .setFooter("Licking")
- .build()).queue();
-
- } catch (IOException e) {
- e.printStackTrace();
- }
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
+ .setImage(url)
+ .setFooter("Licking")
+ .build()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).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 32cabcb..6b9f037 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/PornCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/PornCommand.java
@@ -1,48 +1,42 @@
-package com.bbn.hadder.commands.nsfw;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+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 okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.Response;
-import org.json.JSONObject;
-
-import java.io.IOException;
+import com.bbn.hadder.utils.Http;
public class PornCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getTextChannel().isNSFW()) {
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getTextChannel().isNSFW()) {
- OkHttpClient caller = new OkHttpClient();
- Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/gif/classic/").build();
+ String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/gif/classic/");
- try {
-
- Response response = caller.newCall(request).execute();
- JSONObject json = new JSONObject(response.body().string());
- JSONObject data = json.getJSONObject("data");
- JSONObject response1 = data.getJSONObject("response");
- String url = response1.toString().replace("{\"url\":\"", "");
-
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
- .setAuthor(event.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url.replace("\"}", ""))
- .setImage(url.replace("\"}", ""))
- .setFooter("Porn")
- .build()).queue();
-
- } catch (IOException e) {
- e.printStackTrace();
- }
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
+ .setImage(url)
+ .setFooter("Porn")
+ .build()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).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 9e6410c..b2896d3 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/PussyCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/PussyCommand.java
@@ -1,44 +1,42 @@
-package com.bbn.hadder.commands.nsfw;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+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 okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.Response;
-
-import java.io.IOException;
+import com.bbn.hadder.utils.Http;
public class PussyCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getTextChannel().isNSFW()) {
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getTextChannel().isNSFW()) {
- OkHttpClient caller = new OkHttpClient();
- Request request = new Request.Builder().url("https://nekos.life/api/v2/img/pussy").build();
+ String url = Http.getNSFW("https://nekos.life/api/v2/img/pussy/");
- try {
-
- Response response = caller.newCall(request).execute();
- String url = response.body().string().replace("{\"url\":\"", "");
-
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
- .setAuthor(event.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url.replace("\"}", ""))
- .setImage(url.replace("\"}", ""))
- .setFooter("Pussy")
- .build()).queue();
-
- } catch (IOException e) {
- e.printStackTrace();
- }
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
+ .setImage(url)
+ .setFooter("Pussy")
+ .build()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/RandomPornCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/RandomPornCommand.java
index ddc3d7e..15a8be7 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/RandomPornCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/RandomPornCommand.java
@@ -1,52 +1,44 @@
-package com.bbn.hadder.commands.nsfw;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+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 okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.Response;
-import org.json.JSONObject;
-
-import java.io.IOException;
+import com.bbn.hadder.utils.Http;
public class RandomPornCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getTextChannel().isNSFW()) {
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getTextChannel().isNSFW()) {
- OkHttpClient caller = new OkHttpClient();
- Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/gif/all_tags/")
- .build();
+ String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/gif/all_tags/");
- try {
-
- Response response = caller.newCall(request).execute();
- JSONObject json = new JSONObject(response.body().string());
- JSONObject data = json.getJSONObject("data");
- JSONObject response1 = data.getJSONObject("response");
- String url = response1.toString().replace("{\"url\":\"", "");
-
- event.getTextChannel()
- .sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
- .setAuthor(event.getMessageEditor().getTerm("commands.nsfw.gif.error.title"),
- url.replace("\"}", ""))
- .setImage(url.replace("\"}", "")).setFooter("Random Porn").build())
- .queue();
-
- } catch (IOException e) {
- e.printStackTrace();
- }
+ e.getTextChannel()
+ .sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
+ .setImage(url)
+ .setFooter("Random Porn")
+ .build()).queue();
} else {
- event.getTextChannel()
- .sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build())
- .queue();
+ e.getTextChannel()
+ .sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/SoloCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/SoloCommand.java
index 1514b8e..7ad6e49 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/SoloCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/SoloCommand.java
@@ -1,48 +1,42 @@
-package com.bbn.hadder.commands.nsfw;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+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 okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.Response;
-import org.json.JSONObject;
-
-import java.io.IOException;
+import com.bbn.hadder.utils.Http;
public class SoloCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getTextChannel().isNSFW()) {
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getTextChannel().isNSFW()) {
- OkHttpClient caller = new OkHttpClient();
- Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/gif/girls_solo/").build();
+ String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/gif/girls_solo/");
- try {
-
- Response response = caller.newCall(request).execute();
- JSONObject json = new JSONObject(response.body().string());
- JSONObject data = json.getJSONObject("data");
- JSONObject response1 = data.getJSONObject("response");
- String url = response1.toString().replace("{\"url\":\"", "");
-
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
- .setAuthor(event.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url.replace("\"}", ""))
- .setImage(url.replace("\"}", ""))
- .setFooter("Solo")
- .build()).queue();
-
- } catch (IOException e) {
- e.printStackTrace();
- }
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
+ .setImage(url)
+ .setFooter("Solo")
+ .build()).queue();
} else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/SpankCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/SpankCommand.java
index 12615ec..8f6535a 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/SpankCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/SpankCommand.java
@@ -1,49 +1,42 @@
-package com.bbn.hadder.commands.nsfw;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+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 okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.Response;
-import org.json.JSONObject;
-
-import java.io.IOException;
+import com.bbn.hadder.utils.Http;
public class SpankCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getTextChannel().isNSFW()) {
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getTextChannel().isNSFW()) {
- OkHttpClient caller = new OkHttpClient();
- Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/gif/spank/").build();
+ String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/gif/spank/");
- try {
-
- Response response = caller.newCall(request).execute();
- JSONObject json = new JSONObject(response.body().string());
- JSONObject data = json.getJSONObject("data");
- JSONObject response1 = data.getJSONObject("response");
- String url = response1.toString().replace("{\"url\":\"", "");
-
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
- .setAuthor(event.getMessageEditor().getTerm("commands.nsfw.gif.error.title"),
- url.replace("\"}", ""))
- .setImage(url.replace("\"}", "")).setFooter("Spank").build()).queue();
-
- } catch (IOException e) {
- e.printStackTrace();
- }
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
+ .setImage(url)
+ .setFooter("Spank")
+ .build()).queue();
} else {
- event.getTextChannel()
- .sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build())
- .queue();
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).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 f2c0c97..e72db47 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/TransCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/TransCommand.java
@@ -1,45 +1,43 @@
-package com.bbn.hadder.commands.nsfw;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+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 okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.Response;
-
-import java.io.IOException;
+import com.bbn.hadder.utils.Http;
public class TransCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- if (event.getTextChannel().isNSFW()) {
+ public void executed(String[] args, CommandEvent e) {
+ if (e.getTextChannel().isNSFW()) {
- OkHttpClient caller = new OkHttpClient();
- Request request = new Request.Builder().url("https://nekos.life/api/v2/img/trap").build();
+ String url = Http.getNSFW("https://nekos.life/api/v2/img/trap/");
- try {
-
- Response response = caller.newCall(request).execute();
- String url = response.body().string().replace("{\"url\":\"", "");
-
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
- .setAuthor(event.getMessageEditor().getTerm("commands.nsfw.gif.error.title"),
- url.replace("\"}", ""))
- .setImage(url.replace("\"}", "")).setFooter("Trans").build()).queue();
-
- } catch (IOException e) {
- e.printStackTrace();
- }
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
+ .setImage(url)
+ .setFooter("Trans")
+ .build()).queue();
} else {
- event.getTextChannel()
- .sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build())
- .queue();
+ e.getTextChannel()
+ .sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/owner/BlacklistCommand.java b/src/main/java/com/bbn/hadder/commands/owner/BlacklistCommand.java
index 5aa61f1..5bd8f3e 100644
--- a/src/main/java/com/bbn/hadder/commands/owner/BlacklistCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/owner/BlacklistCommand.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.commands.owner;
-
/*
- * @author Hax / Hax6775 / Schlauer_Hax
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.owner;
+
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.core.Perm;
@@ -21,15 +33,14 @@ import java.util.List;
public class BlacklistCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
+ public void executed(String[] args, CommandEvent e) {
if (args.length == 0) {
- event.getHelpCommand().sendHelp(this, event);
+ e.getHelpCommand().sendHelp(this, e);
} else {
switch (args[0].toLowerCase()) {
case "add":
if (args.length == 3) {
- Member member = event.getMessage().getMentionedMembers().get(0);
- String blacklisted = event.getRethink().getBlackListed(member.getId());
+ String blacklisted = e.getRethinkUser().getBlacklisted();
List commands = new ArrayList<>();
if (!"none".equals(blacklisted)) commands.addAll(Arrays.asList(blacklisted.split(",")));
commands.addAll(Arrays.asList(args[1].split(",")));
@@ -37,19 +48,19 @@ public class BlacklistCommand implements Command {
ArrayList commandsWithoutDuplicates = new ArrayList<>(hashSet);
String newblacklisted = ((commandsWithoutDuplicates.size()!=0) ? String.join(",", commandsWithoutDuplicates) : "none");
- event.getRethink().setBlackListed(member.getId(), newblacklisted);
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ e.getRethinkUser().setBlacklisted(newblacklisted);
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
.setTitle("Removed Blacklisted Commands from User")
.setDescription("Blacklisted commands: "+newblacklisted)
.build()).queue();
+ e.getRethinkUser().push();
}
break;
case "remove":
if (args.length == 3) {
- Member member = event.getMessage().getMentionedMembers().get(0);
- String blacklisted = event.getRethink().getBlackListed(member.getId());
+ String blacklisted = e.getRethinkUser().getBlacklisted();
List commands = new ArrayList<>();
if (!"none".equals(blacklisted)) commands.addAll(Arrays.asList(blacklisted.split(",")));
commands.removeAll(Arrays.asList(args[1].split(",")));
@@ -57,34 +68,35 @@ public class BlacklistCommand implements Command {
ArrayList commandsWithoutDuplicates = new ArrayList<>(hashSet);
String newblacklisted = ((commandsWithoutDuplicates.size()!=0) ? String.join(",", commandsWithoutDuplicates) : "none");
- event.getRethink().setBlackListed(member.getId(), newblacklisted);
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ e.getRethinkUser().setBlacklisted(newblacklisted);
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
.setTitle("Removed Blacklisted Commands from User")
.setDescription("Blacklisted commands: "+newblacklisted)
.build()).queue();
+ e.getRethinkUser().push();
}
break;
case "list":
StringBuilder stringBuilder = new StringBuilder();
- for (User user : event.getJDA().getUsers()) {
- if (!user.getId().equals(event.getJDA().getSelfUser().getId())) {
- String blacklisted = event.getRethink().getBlackListed(user.getId());
+ for (User user : e.getJDA().getUsers()) {
+ if (!user.getId().equals(e.getJDA().getSelfUser().getId())) {
+ String blacklisted = e.getRethinkUser().getBlacklisted();
if (!"none".equals(blacklisted)) {
stringBuilder.append(user.getAsTag()).append(" (").append(user.getId()).append(") - ").append(blacklisted).append("\n");
}
}
}
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
+ e.getTextChannel().sendMessage(
+ e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
.setTitle("Blacklisted Users:")
.setDescription((stringBuilder.length()!=0) ? ("``" + stringBuilder.toString() + "``") : "No blacklisted Users")
.build()).queue();
break;
default:
- event.getHelpCommand().sendHelp(this, event);
+ e.getHelpCommand().sendHelp(this, e);
break;
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/owner/EvalCommand.java b/src/main/java/com/bbn/hadder/commands/owner/EvalCommand.java
index c9758b4..146d4a6 100644
--- a/src/main/java/com/bbn/hadder/commands/owner/EvalCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/owner/EvalCommand.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.commands.owner;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.owner;
+
import com.bbn.hadder.Hadder;
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
@@ -22,7 +34,7 @@ import java.util.concurrent.TimeUnit;
public class EvalCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
+ public void executed(String[] args, CommandEvent e) {
if (args.length > 0) {
ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
@@ -32,18 +44,18 @@ public class EvalCommand implements Command {
ex.printStackTrace();
}
- engine.put("msg".toLowerCase(), event.getMessage());
+ engine.put("msg".toLowerCase(), e.getMessage());
engine.put("shardmanager".toLowerCase(), Hadder.shardManager);
- engine.put("rethink".toLowerCase(), event.getRethink());
- engine.put("event".toLowerCase(), event);
- engine.put("jda".toLowerCase(), event.getJDA());
- engine.put("message".toLowerCase(), event.getMessage());
- engine.put("guild".toLowerCase(), event.getGuild());
- engine.put("channel".toLowerCase(), event.getChannel());
- engine.put("author".toLowerCase(), event.getAuthor());
- engine.put("member".toLowerCase(), event.getMember());
- engine.put("self".toLowerCase(), event.getGuild().getSelfMember());
- engine.put("audio".toLowerCase(), event.getAudioManager());
+ engine.put("rethink".toLowerCase(), e.getRethink());
+ engine.put("e".toLowerCase(), e);
+ engine.put("jda".toLowerCase(), e.getJDA());
+ engine.put("message".toLowerCase(), e.getMessage());
+ engine.put("guild".toLowerCase(), e.getGuild());
+ engine.put("channel".toLowerCase(), e.getChannel());
+ engine.put("author".toLowerCase(), e.getAuthor());
+ engine.put("member".toLowerCase(), e.getMember());
+ engine.put("self".toLowerCase(), e.getGuild().getSelfMember());
+ engine.put("audio".toLowerCase(), e.getAudioManager());
engine.put("out".toLowerCase(), System.out);
ScheduledExecutorService service = Executors.newScheduledThreadPool(1);
@@ -61,21 +73,21 @@ public class EvalCommand implements Command {
}
out = engine.eval(script.toString());
- event.getTextChannel().sendMessage(event.getMessageEditor()
+ e.getTextChannel().sendMessage(e.getMessageEditor()
.getMessage(MessageEditor.MessageType.INFO, "commands.owner.eval.success.title", "")
- .addField(event.getMessageEditor().getTerm("commands.owner.eval.success.input"),
+ .addField(e.getMessageEditor().getTerm("commands.owner.eval.success.input"),
"```java\n\n" + script + "```", false)
- .addField(event.getMessageEditor().getTerm("commands.owner.eval.success.output"),
+ .addField(e.getMessageEditor().getTerm("commands.owner.eval.success.output"),
"```java\n\n" + out.toString() + "```", false)
- .addField(event.getMessageEditor().getTerm("commands.owner.eval.success.timing"),
+ .addField(e.getMessageEditor().getTerm("commands.owner.eval.success.timing"),
System.currentTimeMillis() - startExec + " milliseconds", false)
.build()).queue();
} catch (Exception ex) {
- event.getTextChannel().sendMessage(event.getMessageEditor()
+ e.getTextChannel().sendMessage(e.getMessageEditor()
.getMessage(MessageEditor.MessageType.INFO, "commands.owner.eval.success.title", "")
- .addField(event.getMessageEditor().getTerm("error"),
+ .addField(e.getMessageEditor().getTerm("error"),
"```java\n\n" + ex.getMessage() + "```", false)
- .addField(event.getMessageEditor().getTerm("commands.owner.eval.success.timing"),
+ .addField(e.getMessageEditor().getTerm("commands.owner.eval.success.timing"),
System.currentTimeMillis() - startExec + " milliseconds", false)
.build()).queue();
@@ -86,7 +98,7 @@ public class EvalCommand implements Command {
}, 0, TimeUnit.MILLISECONDS);
} else {
- event.getHelpCommand().sendHelp(this, event);
+ e.getHelpCommand().sendHelp(this, e);
}
}
diff --git a/src/main/java/com/bbn/hadder/commands/owner/GuildLeaveCommand.java b/src/main/java/com/bbn/hadder/commands/owner/GuildLeaveCommand.java
index 458fc12..feb16ae 100644
--- a/src/main/java/com/bbn/hadder/commands/owner/GuildLeaveCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/owner/GuildLeaveCommand.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.commands.owner;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.owner;
+
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.core.Perm;
@@ -15,22 +27,22 @@ import net.dv8tion.jda.api.entities.Guild;
public class GuildLeaveCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
+ public void executed(String[] args, CommandEvent e) {
if (args.length > 0) {
- Guild guild = event.getJDA().getGuildById(args[0]);
+ Guild guild = e.getJDA().getGuildById(args[0]);
try {
guild.leave().queue();
- event.getTextChannel()
- .sendMessage(event.getMessageEditor()
+ e.getTextChannel()
+ .sendMessage(e.getMessageEditor()
.getMessage(MessageEditor.MessageType.INFO, "commands.owner.guildleave.success.title",
"", "commands.owner.guildleave.success.description", guild.getName())
.build())
.queue();
- } catch (Exception e) {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.owner.guildleave.error.title", "", "commands.owner.guildleave.help.description", guild.getName()).build()).queue();
+ } catch (Exception ex) {
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.owner.guildleave.error.title", "", "commands.owner.guildleave.help.description", guild.getName()).build()).queue();
}
} else {
- event.getHelpCommand().sendHelp(this, event);
+ e.getHelpCommand().sendHelp(this, e);
}
}
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 72f1feb..7ae5ff9 100644
--- a/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/owner/RebootCommand.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.commands.owner;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.owner;
+
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.core.Perm;
@@ -13,7 +25,7 @@ import com.bbn.hadder.core.Perms;
public class RebootCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
+ public void executed(String[] args, CommandEvent e) {
Runtime.getRuntime().exit(69);
}
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 3245a42..b8357a8 100644
--- a/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.commands.owner;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.owner;
+
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.core.Perm;
@@ -14,9 +26,9 @@ import com.bbn.hadder.utils.MessageEditor;
public class ShutdownCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO).setTitle("Shutdown").build()).queue();
- event.getJDA().getShardManager().shutdown();
+ public void executed(String[] args, CommandEvent e) {
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO).setTitle("Shutdown").build()).queue();
+ e.getJDA().getShardManager().shutdown();
System.out.println("Bot shut down via Command...");
Runtime.getRuntime().exit(69);
}
diff --git a/src/main/java/com/bbn/hadder/commands/owner/TestCommand.java b/src/main/java/com/bbn/hadder/commands/owner/TestCommand.java
index 3473085..b484b6a 100644
--- a/src/main/java/com/bbn/hadder/commands/owner/TestCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/owner/TestCommand.java
@@ -1,18 +1,30 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.commands.owner;
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor.MessageType;
-/*
- * @author Skidder / GregTCLTK
- */
-
public class TestCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageType.INFO, "commands.owner.test.success", "").build()).queue();
+ public void executed(String[] args, CommandEvent e) {
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageType.INFO, "commands.owner.test.success", "").build()).queue();
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/settings/LanguageCommand.java b/src/main/java/com/bbn/hadder/commands/settings/LanguageCommand.java
index 6a8ca22..9cece7a 100644
--- a/src/main/java/com/bbn/hadder/commands/settings/LanguageCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/settings/LanguageCommand.java
@@ -1,55 +1,74 @@
-package com.bbn.hadder.commands.settings;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+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 LanguageCommand implements Command {
@Override
- public void executed(String[] args, CommandEvent event) {
+ public void executed(String[] args, CommandEvent e) {
if (args.length == 1) {
switch (args[0].toLowerCase()) {
- case "de":
- setLanguage("de", "German", event);
- break;
- case "en":
- setLanguage("en", "English", event);
- break;
- case "es":
- setLanguage("es", "Spanish", event);
- break;
- case "fr":
- setLanguage("fr", "French", event);
- break;
- case "ru":
- setLanguage("ru", "Russian", event);
- break;
- case "tr":
- setLanguage("tr", "Turkish", event);
- break;
- case "zh":
- setLanguage("zh", "Chinese", event);
+ case "de":
+ setLanguage("de", "German", e);
+ break;
+ case "en":
+ setLanguage("en", "English", e);
+ break;
+ case "es":
+ setLanguage("es", "Spanish", e);
+ break;
+ case "fr":
+ setLanguage("fr", "French", e);
+ break;
+ case "ru":
+ setLanguage("ru", "Russian", e);
+ break;
+ case "tr":
+ setLanguage("tr", "Turkish", e);
+ break;
+ case "zh":
+ setLanguage("zh", "Chinese", e);
+ break;
+ default:
+ e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
+ "List",
+ "`de`, `en`, `es`, `fr`, `ru`, `tr`, `zh`")
+ .build()).queue();
break;
}
} else {
- event.getHelpCommand().sendHelp(this, event);
+ e.getHelpCommand().sendHelp(this, e);
}
}
- public void setLanguage(String language_code, String language, CommandEvent event) {
- event.getRethink().setLanguage(event.getAuthor().getId(), language_code);
- event.getTextChannel()
+ public void setLanguage(String language_code, String language, CommandEvent e) {
+ e.getRethinkUser().setLanguage(language_code);
+ e.getTextChannel()
.sendMessage(
- event.getMessageEditor()
+ e.getMessageEditor()
.getMessage(MessageEditor.MessageType.INFO, "commands.settings.language.success.title",
"", "commands.settings.language.success.description", language)
- .build())
- .queue();
+ .build()).queue();
+ e.getRethinkUser().push();
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/settings/UserPrefixCommand.java b/src/main/java/com/bbn/hadder/commands/settings/UserPrefixCommand.java
index 19d52e9..b83da2c 100644
--- a/src/main/java/com/bbn/hadder/commands/settings/UserPrefixCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/settings/UserPrefixCommand.java
@@ -1,26 +1,39 @@
-package com.bbn.hadder.commands.settings;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.commands.settings;
+
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor;
public class UserPrefixCommand implements Command {
- public void executed(String[] args, CommandEvent event) {
+ public void executed(String[] args, CommandEvent e) {
if (args.length == 1) {
- event.getRethink().setUserPrefix(args[0], event.getAuthor().getId());
- event.getTextChannel()
- .sendMessage(event.getMessageEditor()
+ e.getRethinkUser().setPrefix(args[0]);
+ e.getTextChannel()
+ .sendMessage(e.getMessageEditor()
.getMessage(MessageEditor.MessageType.INFO, "commands.settings.prefix.success.title", "",
"commands.settings.prefix.success.description", args[0])
.build())
.queue();
+ e.getRethinkUser().push();
} else {
- event.getHelpCommand().sendHelp(this, event);
+ e.getHelpCommand().sendHelp(this, e);
}
}
diff --git a/src/main/java/com/bbn/hadder/core/CommandHandler.java b/src/main/java/com/bbn/hadder/core/CommandHandler.java
index c55a4da..5f2029c 100644
--- a/src/main/java/com/bbn/hadder/core/CommandHandler.java
+++ b/src/main/java/com/bbn/hadder/core/CommandHandler.java
@@ -1,6 +1,24 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.core;
import com.bbn.hadder.Rethink;
+import com.bbn.hadder.RethinkServer;
+import com.bbn.hadder.RethinkUser;
import com.bbn.hadder.audio.AudioManager;
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
@@ -24,7 +42,7 @@ public class CommandHandler {
this.helpCommand = helpCommand;
}
- public void handle(MessageReceivedEvent event, Rethink rethink, String prefix, AudioManager audioManager) {
+ public void handle(MessageReceivedEvent event, Rethink rethink, String prefix, AudioManager audioManager, RethinkUser rethinkUser, RethinkServer rethinkServer) {
String invoke = event.getMessage().getContentRaw().replaceFirst(prefix, "").split(" ")[0];
for (Command cmd : commandList) {
for (String label : cmd.labels()) {
@@ -36,7 +54,7 @@ public class CommandHandler {
if (args.length > 0 && args[0].equals("")) args = new String[0];
CommandEvent commandEvent = new CommandEvent(event.getJDA(), event.getResponseNumber(), event.getMessage(), rethink,
- config, this, helpCommand, new MessageEditor(rethink, event.getAuthor()), new EventWaiter(), audioManager);
+ config, this, helpCommand, new MessageEditor(rethinkUser, event.getAuthor()), new EventWaiter(), audioManager, rethinkUser, rethinkServer);
if (cmd.getClass().getAnnotations().length > 0 && !Arrays.asList(cmd.getClass().getAnnotations()).contains(Perms.class)) {
for (Perm perm : cmd.getClass().getAnnotation(Perms.class).value()) {
if (!perm.check(commandEvent)) {
@@ -50,7 +68,7 @@ public class CommandHandler {
}
boolean run = true;
- String blacklisted = rethink.getBlackListed(event.getAuthor().getId());
+ String blacklisted = rethinkUser.getBlacklisted();
if (!"none".equals(blacklisted)) {
for (String BLLabel : blacklisted.split(",")) {
if (Arrays.asList(cmd.labels()).contains(BLLabel)) {
diff --git a/src/main/java/com/bbn/hadder/core/Config.java b/src/main/java/com/bbn/hadder/core/Config.java
index 942c382..b8fc4cf 100644
--- a/src/main/java/com/bbn/hadder/core/Config.java
+++ b/src/main/java/com/bbn/hadder/core/Config.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.core;
import org.json.JSONObject;
diff --git a/src/main/java/com/bbn/hadder/core/Perm.java b/src/main/java/com/bbn/hadder/core/Perm.java
index 1ecb0f4..042412e 100644
--- a/src/main/java/com/bbn/hadder/core/Perm.java
+++ b/src/main/java/com/bbn/hadder/core/Perm.java
@@ -1,75 +1,86 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.core;
import com.bbn.hadder.commands.CommandEvent;
import net.dv8tion.jda.api.Permission;
-/**
- * @author Skidder / GregTCLTK
- * @author Hax / Hax6775 / Schlauer_Hax
- */
-
public enum Perm {
BOT_OWNER() {
@Override
- public boolean check(CommandEvent event) {
- return event.getConfig().getOwners().contains(event.getAuthor().getIdLong());
+ public boolean check(CommandEvent e) {
+ return e.getConfig().getOwners().contains(e.getAuthor().getIdLong());
}
},
MANAGE_MESSAGES {
@Override
- public boolean check(CommandEvent event) {
- return event.getMember().hasPermission(Permission.MESSAGE_MANAGE) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong());
+ public boolean check(CommandEvent e) {
+ return e.getMember().hasPermission(Permission.MESSAGE_MANAGE) || e.getConfig().getOwners().contains(e.getAuthor().getIdLong());
}
},
EMBED_MESSAGES {
@Override
- public boolean check(CommandEvent event) {
- return event.getMember().hasPermission(Permission.MESSAGE_EMBED_LINKS) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong());
+ public boolean check(CommandEvent e) {
+ return e.getMember().hasPermission(Permission.MESSAGE_EMBED_LINKS) || e.getConfig().getOwners().contains(e.getAuthor().getIdLong());
}
},
BAN_MEMBERS {
@Override
- public boolean check(CommandEvent event) {
- return event.getMember().hasPermission(Permission.BAN_MEMBERS) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong());
+ public boolean check(CommandEvent e) {
+ return e.getMember().hasPermission(Permission.BAN_MEMBERS) || e.getConfig().getOwners().contains(e.getAuthor().getIdLong());
}
},
KICK_MEMBERS {
@Override
- public boolean check(CommandEvent event) {
- return event.getMember().hasPermission(Permission.KICK_MEMBERS) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong());
+ public boolean check(CommandEvent e) {
+ return e.getMember().hasPermission(Permission.KICK_MEMBERS) || e.getConfig().getOwners().contains(e.getAuthor().getIdLong());
}
},
MANAGE_SERVER {
@Override
- public boolean check(CommandEvent event) {
- return event.getMember().hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong());
+ public boolean check(CommandEvent e) {
+ return e.getMember().hasPermission(Permission.MANAGE_SERVER) || e.getConfig().getOwners().contains(e.getAuthor().getIdLong());
}
},
MANAGE_ROLES {
@Override
- public boolean check(CommandEvent event) {
- return event.getMember().hasPermission(Permission.MANAGE_ROLES) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong());
+ public boolean check(CommandEvent e) {
+ return e.getMember().hasPermission(Permission.MANAGE_ROLES) || e.getConfig().getOwners().contains(e.getAuthor().getIdLong());
}
},
MANAGE_NICKNAMES {
@Override
- public boolean check(CommandEvent event) {
- return event.getMember().hasPermission(Permission.NICKNAME_MANAGE) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong());
+ public boolean check(CommandEvent e) {
+ return e.getMember().hasPermission(Permission.NICKNAME_MANAGE) || e.getConfig().getOwners().contains(e.getAuthor().getIdLong());
}
},
ADMINISTRATOR {
@Override
- public boolean check(CommandEvent event) {
- return event.getMember().hasPermission(Permission.ADMINISTRATOR) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong());
+ public boolean check(CommandEvent e) {
+ return e.getMember().hasPermission(Permission.ADMINISTRATOR) || e.getConfig().getOwners().contains(e.getAuthor().getIdLong());
}
},
MANAGE_WEBHOOKS {
@Override
- public boolean check(CommandEvent event) {
- return event.getMember().hasPermission(Permission.MANAGE_WEBHOOKS) || event.getConfig().getOwners().contains(event.getAuthor().getIdLong());
+ public boolean check(CommandEvent e) {
+ return e.getMember().hasPermission(Permission.MANAGE_WEBHOOKS) || e.getConfig().getOwners().contains(e.getAuthor().getIdLong());
}
};
- public abstract boolean check(CommandEvent event);
+ public abstract boolean check(CommandEvent e);
}
diff --git a/src/main/java/com/bbn/hadder/core/Perms.java b/src/main/java/com/bbn/hadder/core/Perms.java
index 7fc8426..a5c2efe 100644
--- a/src/main/java/com/bbn/hadder/core/Perms.java
+++ b/src/main/java/com/bbn/hadder/core/Perms.java
@@ -1,13 +1,24 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.core;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
-/**
- * @author Skidder / GregTCLTK
- * @author Hax / Hax6775 / Schlauer_Hax
- */
-
@Retention(RetentionPolicy.RUNTIME)
public @interface Perms {
Perm[] value() default {};
diff --git a/src/main/java/com/bbn/hadder/listener/CommandListener.java b/src/main/java/com/bbn/hadder/listener/CommandListener.java
index dff1e8b..aeb8615 100644
--- a/src/main/java/com/bbn/hadder/listener/CommandListener.java
+++ b/src/main/java/com/bbn/hadder/listener/CommandListener.java
@@ -1,15 +1,34 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.listener;
import com.bbn.hadder.Rethink;
+import com.bbn.hadder.RethinkServer;
+import com.bbn.hadder.RethinkUser;
import com.bbn.hadder.audio.AudioManager;
import com.bbn.hadder.core.CommandHandler;
+import net.dv8tion.jda.api.EmbedBuilder;
+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.hooks.ListenerAdapter;
-/*
- * @author Skidder / GregTCLTK
- */
+import java.awt.*;
+import java.time.Instant;
public class CommandListener extends ListenerAdapter {
@@ -24,19 +43,43 @@ public class CommandListener extends ListenerAdapter {
}
@Override
- public void onMessageReceived(MessageReceivedEvent event) {
- 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(),
- event.getGuild().getSelfMember().getAsMention().replace("@", "@!") + " ",
- event.getGuild().getSelfMember().getAsMention().replace("@", "@!")
- };
- for (String prefix : prefixes) {
- if (event.getMessage().getContentRaw().startsWith(prefix)) {
- handler.handle(event, rethink, prefix, audioManager);
- return;
+ public void onMessageReceived(MessageReceivedEvent e) {
+ if (e.isFromType(ChannelType.TEXT) && !e.getAuthor().isBot()) {
+ if (e.getGuild().getSelfMember().hasPermission(Permission.MESSAGE_WRITE)) {
+ if (e.getGuild().getSelfMember().hasPermission(Permission.MESSAGE_EMBED_LINKS)) {
+ RethinkUser rethinkUser = new RethinkUser(rethink.getObjectByID("user", e.getAuthor().getId()), rethink);
+ RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", e.getGuild().getId()), rethink);
+ rethinkUser.push();
+ rethinkServer.push();
+ String[] prefixes = {
+ rethinkUser.getPrefix(), rethinkServer.getPrefix(),
+ e.getGuild().getSelfMember().getAsMention() + " ", e.getGuild().getSelfMember().getAsMention(),
+ e.getGuild().getSelfMember().getAsMention().replace("@", "@!") + " ",
+ e.getGuild().getSelfMember().getAsMention().replace("@", "@!")
+ };
+ for (String prefix : prefixes) {
+ if (e.getMessage().getContentRaw().startsWith(prefix)) {
+ handler.handle(e, rethink, prefix, audioManager, rethinkUser, rethinkServer);
+ return;
+ }
+ }
+ } else {
+ e.getAuthor().openPrivateChannel().complete().sendMessage(new EmbedBuilder()
+ .setTitle("No permission")
+ .setDescription("I need the `MESSAGE EMBED LINKS` permission in order to work!")
+ .setColor(Color.RED)
+ .setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png")
+ .setTimestamp(Instant.now())
+ .build()).queue();
}
+ } else {
+ e.getAuthor().openPrivateChannel().complete().sendMessage(new EmbedBuilder()
+ .setTitle("No permission")
+ .setDescription("I need the `MESSAGE WRITE` permission in order to work!")
+ .setColor(Color.RED)
+ .setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png")
+ .setTimestamp(Instant.now())
+ .build()).queue();
}
}
}
diff --git a/src/main/java/com/bbn/hadder/listener/GuildListener.java b/src/main/java/com/bbn/hadder/listener/GuildListener.java
index 25dfb0b..91204ca 100644
--- a/src/main/java/com/bbn/hadder/listener/GuildListener.java
+++ b/src/main/java/com/bbn/hadder/listener/GuildListener.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.listener;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.listener;
+
import com.bbn.hadder.Rethink;
import com.bbn.hadder.core.Config;
import com.bbn.hadder.utils.BotList;
@@ -26,48 +38,48 @@ public class GuildListener extends ListenerAdapter {
this.config = config;
}
- public void onGuildJoin(GuildJoinEvent event) {
+ public void onGuildJoin(GuildJoinEvent e) {
new Thread(() -> {
- for (Member member : event.getGuild().getMembers()) {
- if (!member.getUser().getId().equals(event.getJDA().getSelfUser().getId())) {
+ for (Member member : e.getGuild().getMembers()) {
+ if (!member.getUser().getId().equals(e.getJDA().getSelfUser().getId())) {
rethink.insertUser(member.getUser().getId());
}
}
}).start();
- rethink.insertGuild(event.getGuild().getId());
- event.getJDA().getTextChannelById("475722540140986369").sendMessage(new MessageEditor(null, null).getMessage(MessageEditor.MessageType.INFO)
+ rethink.insertGuild(e.getGuild().getId());
+ e.getJDA().getTextChannelById("475722540140986369").sendMessage(new MessageEditor(null, null).getMessage(MessageEditor.MessageType.INFO)
.setTitle("Joined Server")
- .setThumbnail(event.getGuild().getIconUrl())
- .addField("Name", event.getGuild().getName(), true)
- .addField("Guild ID", event.getGuild().getId(), true)
- .addField("Guild Owner", event.getGuild().getOwner().getUser().getAsTag(), true)
- .addField("Users", String.valueOf(event.getGuild().getMembers().size()), true)
- .setFooter(event.getJDA().getSelfUser().getName(), event.getJDA().getSelfUser().getAvatarUrl())
+ .setThumbnail(e.getGuild().getIconUrl())
+ .addField("Name", e.getGuild().getName(), true)
+ .addField("Guild ID", e.getGuild().getId(), true)
+ .addField("Guild Owner", e.getGuild().getOwner().getUser().getAsTag(), true)
+ .addField("Users", String.valueOf(e.getGuild().getMembers().size()), true)
+ .setFooter(e.getJDA().getSelfUser().getName(), e.getJDA().getSelfUser().getAvatarUrl())
.setTimestamp(Instant.now())
.build()).queue();
new BotList(config).post();
}
- public void onGuildLeave(GuildLeaveEvent event) {
- event.getJDA().getTextChannelById("475722540140986369").sendMessage(new MessageEditor(null, null).getMessage(MessageEditor.MessageType.INFO)
+ public void onGuildLeave(GuildLeaveEvent e) {
+ e.getJDA().getTextChannelById("475722540140986369").sendMessage(new MessageEditor(null, null).getMessage(MessageEditor.MessageType.INFO)
.setTitle("Left Server")
- .setThumbnail(event.getGuild().getIconUrl())
- .addField("Name", event.getGuild().getName(), true)
- .addField("Guild ID", event.getGuild().getId(), true)
- .addField("Guild Owner", event.getGuild().getOwner().getUser().getAsTag(), true)
- .addField("Users", String.valueOf(event.getGuild().getMembers().size()), true)
- .setFooter(event.getJDA().getSelfUser().getName(), event.getJDA().getSelfUser().getAvatarUrl())
+ .setThumbnail(e.getGuild().getIconUrl())
+ .addField("Name", e.getGuild().getName(), true)
+ .addField("Guild ID", e.getGuild().getId(), true)
+ .addField("Guild Owner", e.getGuild().getOwner().getUser().getAsTag(), true)
+ .addField("Users", String.valueOf(e.getGuild().getMembers().size()), true)
+ .setFooter(e.getJDA().getSelfUser().getName(), e.getJDA().getSelfUser().getAvatarUrl())
.setTimestamp(Instant.now())
.build()).queue();
new BotList(config).post();
}
- public void onGuildMemberJoin(GuildMemberJoinEvent event) {
- if (!event.getUser().getId().equals(event.getJDA().getSelfUser().getId())) {
- rethink.insertUser(event.getUser().getId());
+ public void onGuildMemberJoin(GuildMemberJoinEvent e) {
+ if (!e.getUser().getId().equals(e.getJDA().getSelfUser().getId())) {
+ rethink.insertUser(e.getUser().getId());
}
}
}
diff --git a/src/main/java/com/bbn/hadder/listener/InviteLinkListener.java b/src/main/java/com/bbn/hadder/listener/InviteLinkListener.java
index a12fad6..88aa3ee 100644
--- a/src/main/java/com/bbn/hadder/listener/InviteLinkListener.java
+++ b/src/main/java/com/bbn/hadder/listener/InviteLinkListener.java
@@ -1,10 +1,23 @@
-package com.bbn.hadder.listener;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.listener;
+
import com.bbn.hadder.Rethink;
+import com.bbn.hadder.RethinkServer;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.entities.Message;
@@ -27,12 +40,13 @@ public class InviteLinkListener extends ListenerAdapter {
}
@Override
- public void onMessageReceived(@Nonnull MessageReceivedEvent event) {
- if (event.isFromType(ChannelType.TEXT)) {
- if (event.getMessage().getContentRaw().contains("discord.gg/") && (!event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId()))) {
- checkInvite(event.getMessage(), "discord.gg/");
- } else if (event.getMessage().getContentRaw().contains("discordapp.com/invite") && (!event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId()))) {
- checkInvite(event.getMessage(), "discordapp.com/invite/");
+ public void onMessageReceived(@Nonnull MessageReceivedEvent e) {
+ RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", e.getGuild().getId()), rethink);
+ if (e.isFromType(ChannelType.TEXT)) {
+ if (e.getMessage().getContentRaw().contains("discord.gg/") && (!e.getMember().hasPermission(Permission.ADMINISTRATOR) && rethinkServer.isInviteDetect())) {
+ checkInvite(e.getMessage(), "discord.gg/");
+ } else if (e.getMessage().getContentRaw().contains("discordapp.com/invite") && (!e.getMember().hasPermission(Permission.ADMINISTRATOR) && rethinkServer.isInviteDetect())) {
+ checkInvite(e.getMessage(), "discordapp.com/invite/");
}
}
}
@@ -54,12 +68,13 @@ public class InviteLinkListener extends ListenerAdapter {
}
@Override
- public void onMessageUpdate(@Nonnull MessageUpdateEvent event) {
- if (event.isFromType(ChannelType.TEXT)) {
- if (event.getMessage().getContentRaw().contains("discord.gg/") && !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
- checkInvite(event.getMessage(), "discord.gg/");
- } else if (event.getMessage().getContentRaw().contains("discordapp.com/invite") && !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
- checkInvite(event.getMessage(), "discordapp.com/invite/");
+ public void onMessageUpdate(@Nonnull MessageUpdateEvent e) {
+ RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", e.getGuild().getId()), rethink);
+ if (e.isFromType(ChannelType.TEXT)) {
+ if (e.getMessage().getContentRaw().contains("discord.gg/") && !e.getMember().hasPermission(Permission.ADMINISTRATOR) && rethinkServer.isInviteDetect()) {
+ checkInvite(e.getMessage(), "discord.gg/");
+ } else if (e.getMessage().getContentRaw().contains("discordapp.com/invite") && !e.getMember().hasPermission(Permission.ADMINISTRATOR) && rethinkServer.isInviteDetect()) {
+ checkInvite(e.getMessage(), "discordapp.com/invite/");
}
}
}
diff --git a/src/main/java/com/bbn/hadder/listener/MentionListener.java b/src/main/java/com/bbn/hadder/listener/MentionListener.java
index cd14129..886ab51 100644
--- a/src/main/java/com/bbn/hadder/listener/MentionListener.java
+++ b/src/main/java/com/bbn/hadder/listener/MentionListener.java
@@ -1,6 +1,24 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.listener;
import com.bbn.hadder.Rethink;
+import com.bbn.hadder.RethinkServer;
+import com.bbn.hadder.RethinkUser;
import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
@@ -18,21 +36,25 @@ public class MentionListener extends ListenerAdapter {
}
@Override
- public void onMessageReceived(@Nonnull MessageReceivedEvent event) {
- if (event.isFromType(ChannelType.TEXT) && (event.getMessage().getContentRaw().equals(event.getGuild().getSelfMember().getAsMention())||
- event.getMessage().getContentRaw().equals(event.getGuild().getSelfMember().getAsMention().replace("@", "@!")))) {
- event.getChannel().sendMessage(new MessageEditor(rethink, event.getAuthor()).getMessage(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();
- } else if (event.getMessage().getContentRaw().equalsIgnoreCase("@someone")) {
- int member = new Random().nextInt(event.getGuild().getMembers().size()-1);
- if (member>0&&member 0 && member < e.getGuild().getMembers().size()) {
+ e.getChannel().sendMessage(e.getGuild().getMembers().get(member).getAsMention() + " (Executed by: " + e.getAuthor().getAsTag() + ")").queue();
+ }
}
}
}
diff --git a/src/main/java/com/bbn/hadder/listener/PrivateMessageListener.java b/src/main/java/com/bbn/hadder/listener/PrivateMessageListener.java
index b9ab722..fc258f9 100644
--- a/src/main/java/com/bbn/hadder/listener/PrivateMessageListener.java
+++ b/src/main/java/com/bbn/hadder/listener/PrivateMessageListener.java
@@ -1,16 +1,31 @@
-package com.bbn.hadder.listener;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.listener;
+
import com.bbn.hadder.Rethink;
+import com.bbn.hadder.RethinkUser;
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;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
+import java.awt.*;
import java.time.Instant;
public class PrivateMessageListener extends ListenerAdapter {
@@ -21,21 +36,30 @@ public class PrivateMessageListener extends ListenerAdapter {
this.rethink = rethink;
}
- public void onMessageReceived(MessageReceivedEvent event) {
- 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();
+ public void onMessageReceived(MessageReceivedEvent e) {
+ if (e.isFromType(ChannelType.PRIVATE) && !e.getAuthor().getId().equals(e.getJDA().getSelfUser().getId())) {
+ PrivateChannel Skidder = e.getJDA().getUserById("477141528981012511").openPrivateChannel().complete();
+ PrivateChannel Hax = e.getJDA().getUserById("261083609148948488").openPrivateChannel().complete();
+ RethinkUser rethinkUser = new RethinkUser(rethink.getObjectByID("user", "261083609148948488"), rethink);
- Skidder.sendMessage(new MessageEditor(rethink, event.getJDA().getUserById("261083609148948488")).getMessage(MessageEditor.MessageType.INFO)
- .setTitle("New DM by " + event.getAuthor().getAsTag())
- .setAuthor(event.getAuthor().getName(), event.getAuthor().getAvatarUrl(), event.getAuthor().getAvatarUrl())
- .setDescription(event.getMessage().getContentRaw())
+ Skidder.sendMessage(new MessageEditor(rethinkUser, e.getJDA().getUserById("261083609148948488")).getMessage(MessageEditor.MessageType.INFO)
+ .setTitle("New DM by " + e.getAuthor().getAsTag())
+ .setAuthor(e.getAuthor().getName(), e.getAuthor().getAvatarUrl(), e.getAuthor().getAvatarUrl())
+ .setDescription(e.getMessage().getContentRaw())
.setTimestamp(Instant.now())
.build()).queue();
- Hax.sendMessage(new MessageEditor(rethink, event.getJDA().getUserById("261083609148948488")).getMessage(MessageEditor.MessageType.INFO)
- .setTitle("New DM by " + event.getAuthor().getAsTag())
- .setAuthor(event.getAuthor().getName(), event.getAuthor().getAvatarUrl(), event.getAuthor().getAvatarUrl())
- .setDescription(event.getMessage().getContentRaw())
+ Hax.sendMessage(new MessageEditor(rethinkUser, e.getJDA().getUserById("261083609148948488")).getMessage(MessageEditor.MessageType.INFO)
+ .setTitle("New DM by " + e.getAuthor().getAsTag())
+ .setAuthor(e.getAuthor().getName(), e.getAuthor().getAvatarUrl(), e.getAuthor().getAvatarUrl())
+ .setDescription(e.getMessage().getContentRaw())
+ .setTimestamp(Instant.now())
+ .build()).queue();
+
+ e.getChannel().sendMessage(new EmbedBuilder()
+ .setTitle("No DM support")
+ .setDescription("You have to execute your commands on a guild!")
+ .setColor(Color.RED)
+ .setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png")
.setTimestamp(Instant.now())
.build()).queue();
}
diff --git a/src/main/java/com/bbn/hadder/listener/ReadyListener.java b/src/main/java/com/bbn/hadder/listener/ReadyListener.java
index 7432c5f..51b3491 100644
--- a/src/main/java/com/bbn/hadder/listener/ReadyListener.java
+++ b/src/main/java/com/bbn/hadder/listener/ReadyListener.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.listener;
import com.bbn.hadder.Rethink;
@@ -21,15 +37,15 @@ public class ReadyListener extends ListenerAdapter {
}
@Override
- public void onReady(@Nonnull ReadyEvent event) {
+ public void onReady(@Nonnull ReadyEvent e) {
rethink.setup();
new Thread(() -> {
- for (User user : event.getJDA().getUsers()) {
- if (!user.getId().equals(event.getJDA().getSelfUser().getId())) {
+ for (User user : e.getJDA().getUsers()) {
+ if (!user.getId().equals(e.getJDA().getSelfUser().getId())) {
rethink.insertUser(user.getId());
}
}
- for (Guild g : event.getJDA().getGuilds()) {
+ for (Guild g : e.getJDA().getGuilds()) {
rethink.insertGuild(g.getId());
}
}).start();
diff --git a/src/main/java/com/bbn/hadder/listener/RulesListener.java b/src/main/java/com/bbn/hadder/listener/RulesListener.java
index 55f3ef6..8ee5fc4 100644
--- a/src/main/java/com/bbn/hadder/listener/RulesListener.java
+++ b/src/main/java/com/bbn/hadder/listener/RulesListener.java
@@ -1,10 +1,23 @@
-package com.bbn.hadder.listener;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.listener;
+
import com.bbn.hadder.Rethink;
+import com.bbn.hadder.RethinkServer;
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;
@@ -18,40 +31,43 @@ public class RulesListener extends ListenerAdapter {
}
@Override
- public void onMessageReactionAdd(MessageReactionAddEvent event) {
- if (event.getMessageId().equals(rethink.getRulesMID(event.getGuild().getId())) && !event.getMember().getUser().isBot()) {
- if (event.getReactionEmote().isEmote()) {
- if (rethink.getRulesAEmote(event.getGuild().getId()).equals(event.getReactionEmote().getId())) {
- addRole(event);
- } else if (rethink.getRulesDEmote(event.getGuild().getId()).equals(event.getReactionEmote().getId())) {
- event.getReaction().removeReaction(event.getUser()).queue();
- if (event.getGuild().getSelfMember().canInteract(event.getMember())) {
- event.getMember().kick().reason("Declined the rules");
+ public void onMessageReactionAdd(MessageReactionAddEvent e) {
+ RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", e.getGuild().getId()), rethink);
+ if (e.getMessageId().equals(rethinkServer.getMessageID()) && !e.getUser().isBot()) {
+ if (e.getReactionEmote().isEmote()) {
+ if (rethinkServer.getAcceptEmote().equals(e.getReactionEmote().getId())) {
+ addRole(e);
+ } else if (rethinkServer.getDeclineEmote().equals(e.getReactionEmote().getId())) {
+ e.getReaction().removeReaction(e.getUser()).queue();
+ if (e.getGuild().getSelfMember().canInteract(e.getMember())) {
+ e.getMember().kick().reason("Declined the rules");
}
}
- } else if (event.getReactionEmote().isEmoji()) {
- if (rethink.getRulesAEmote(event.getGuild().getId()).equals(event.getReactionEmote().getEmoji())) {
- addRole(event);
- } else if (rethink.getRulesDEmote(event.getGuild().getId()).equals(event.getReactionEmote().getEmoji())) {
- event.getReaction().removeReaction(event.getUser()).queue();
- if (event.getGuild().getSelfMember().canInteract(event.getMember())) {
- event.getMember().kick().reason("Declined the rules");
+ } else if (e.getReactionEmote().isEmoji()) {
+ if (rethinkServer.getAcceptEmote().equals(e.getReactionEmote().getEmoji())) {
+ addRole(e);
+ } else if (rethinkServer.getDeclineEmote().equals(e.getReactionEmote().getEmoji())) {
+ e.getReaction().removeReaction(e.getUser()).queue();
+ if (e.getGuild().getSelfMember().canInteract(e.getMember())) {
+ e.getMember().kick().reason("Declined the rules");
}
}
}
}
}
- private void addRole(MessageReactionAddEvent event) {
- if (event.getMember().getRoles().contains(event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId())))) {
- event.getGuild().removeRoleFromMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).reason("Accepted rules").queue();
- } else event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).reason("Accepted rules").queue();
+ private void addRole(MessageReactionAddEvent e) {
+ RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", e.getGuild().getId()), rethink);
+ if (e.getMember().getRoles().contains(e.getGuild().getRoleById(rethinkServer.getRoleID()))) {
+ e.getGuild().removeRoleFromMember(e.getMember(), e.getGuild().getRoleById(rethinkServer.getRoleID())).reason("Accepted rules").queue();
+ } else e.getGuild().addRoleToMember(e.getMember(), e.getGuild().getRoleById(rethinkServer.getRoleID())).reason("Accepted rules").queue();
}
@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();
+ public void onMessageReactionRemove(MessageReactionRemoveEvent e) {
+ RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", e.getGuild().getId()), rethink);
+ if (e.getMessageId().equals(rethinkServer.getMessageID()) && !e.getUser().isBot()) {
+ e.getGuild().removeRoleFromMember(e.getMember(), e.getGuild().getRoleById(rethinkServer.getRoleID())).reason("Withdrawal of the acceptance of the rules").queue();
}
}
}
diff --git a/src/main/java/com/bbn/hadder/listener/StarboardListener.java b/src/main/java/com/bbn/hadder/listener/StarboardListener.java
index 38c5c52..ba66f81 100644
--- a/src/main/java/com/bbn/hadder/listener/StarboardListener.java
+++ b/src/main/java/com/bbn/hadder/listener/StarboardListener.java
@@ -1,6 +1,23 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.listener;
import com.bbn.hadder.Rethink;
+import com.bbn.hadder.RethinkServer;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.MessageBuilder;
import net.dv8tion.jda.api.entities.MessageReaction;
@@ -20,40 +37,40 @@ public class StarboardListener extends ListenerAdapter {
}
@Override
- public void onMessageReactionAdd(@Nonnull MessageReactionAddEvent event) {
- update(event);
+ public void onMessageReactionAdd(@Nonnull MessageReactionAddEvent e) {
+ update(e);
}
@Override
- public void onMessageReactionRemove(@Nonnull MessageReactionRemoveEvent event) {
- update(event);
+ public void onMessageReactionRemove(@Nonnull MessageReactionRemoveEvent e) {
+ update(e);
}
- public void update(GenericMessageReactionEvent event) {
- if (event.getReaction().getReactionEmote().getName().equals("⭐")) {
- if (!rethink.hasStarboardMessage(event.getMessageId())) {
- if (rethink.hasStarboardChannel(event.getGuild().getId())) {
-
- event.getTextChannel().retrieveMessageById(event.getMessageId()).queue(
+ public void update(GenericMessageReactionEvent e) {
+ if (e.getReaction().getReactionEmote().getName().equals("⭐")) {
+ RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", e.getGuild().getId()), rethink);
+ if (!rethink.hasStarboardMessage(e.getMessageId())) {
+ if (rethink.hasStarboardChannel(e.getGuild().getId())) {
+ e.getTextChannel().retrieveMessageById(e.getMessageId()).queue(
msg -> {
- Integer stars = 0;
+ int stars = 0;
for (MessageReaction reaction : msg.getReactions()) {
if (reaction.getReactionEmote().getName().equals("⭐")) {
stars = reaction.getCount();
}
}
- if (Integer.parseInt(rethink.getNeededStars(event.getGuild().getId())) <= stars) {
- event.getGuild().getTextChannelById(rethink.getStarboardChannel(event.getGuild().getId()))
+ if (Integer.parseInt(rethinkServer.getNeededStars()) <= stars) {
+ e.getGuild().getTextChannelById(rethinkServer.getStarboard())
.sendMessage(new MessageBuilder()
- .setContent("⭐ 1" + " " + event.getTextChannel().getAsMention())
+ .setContent("⭐ 1" + " " + e.getTextChannel().getAsMention())
.setEmbed(
new EmbedBuilder()
.setAuthor(msg.getAuthor().getAsTag())
.setDescription(msg.getContentRaw())
.setTimestamp(msg.getTimeCreated()).build()).build()).queue(
starboardmsg -> {
- rethink.insertStarboardMessage(msg.getId(), event.getGuild().getId(), starboardmsg.getId());
+ rethink.insertStarboardMessage(msg.getId(), e.getGuild().getId(), starboardmsg.getId());
}
);
}
@@ -63,23 +80,23 @@ public class StarboardListener extends ListenerAdapter {
}
} else {
- event.getTextChannel().retrieveMessageById(event.getMessageId()).queue(
+ e.getTextChannel().retrieveMessageById(e.getMessageId()).queue(
msg -> {
- Integer stars = 0;
+ int stars = 0;
for (MessageReaction reaction : msg.getReactions()) {
if (reaction.getReactionEmote().getName().equals("⭐")) {
stars = reaction.getCount();
}
}
- Integer finalStars = stars;
- event.getGuild().getTextChannelById(rethink.getStarboardChannel(event.getGuild().getId()))
- .retrieveMessageById(rethink.getStarboardMessage(event.getMessageId())).queue(
+ int finalStars = stars;
+ e.getGuild().getTextChannelById(rethinkServer.getStarboard())
+ .retrieveMessageById(rethink.getStarboardMessage(e.getMessageId())).queue(
msg2 -> {
- if (Integer.parseInt(rethink.getNeededStars(event.getGuild().getId())) <= finalStars) {
+ if (Integer.parseInt(rethinkServer.getNeededStars()) <= finalStars) {
msg2.editMessage(new MessageBuilder()
- .setContent("⭐ " + finalStars + " " + event.getTextChannel().getAsMention())
+ .setContent("⭐ " + finalStars + " " + e.getTextChannel().getAsMention())
.setEmbed(
new EmbedBuilder()
.setAuthor(msg.getAuthor().getAsTag())
@@ -91,10 +108,8 @@ public class StarboardListener extends ListenerAdapter {
}
}
);
-
}
);
-
}
}
}
diff --git a/src/main/java/com/bbn/hadder/listener/VoiceLeaveListener.java b/src/main/java/com/bbn/hadder/listener/VoiceLeaveListener.java
index 8db4d9f..d53391f 100644
--- a/src/main/java/com/bbn/hadder/listener/VoiceLeaveListener.java
+++ b/src/main/java/com/bbn/hadder/listener/VoiceLeaveListener.java
@@ -1,13 +1,25 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.listener;
import com.bbn.hadder.audio.AudioManager;
import net.dv8tion.jda.api.events.guild.voice.GuildVoiceLeaveEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
-/**
- * @author Skidder / GregTCLTK
- */
-
public class VoiceLeaveListener extends ListenerAdapter {
private AudioManager audioManager;
@@ -17,12 +29,12 @@ public class VoiceLeaveListener extends ListenerAdapter {
}
@Override
- public void onGuildVoiceLeave(GuildVoiceLeaveEvent event) {
- if (audioManager.hasPlayer(event.getGuild()) && event.getChannelLeft().getMembers().equals(event.getGuild().getSelfMember())) {
- audioManager.players.remove(event.getGuild().getId());
- audioManager.getPlayer(event.getGuild()).destroy();
- audioManager.getTrackManager(event.getGuild()).purgeQueue();
- event.getGuild().getAudioManager().closeAudioConnection();
+ public void onGuildVoiceLeave(GuildVoiceLeaveEvent e) {
+ if (audioManager.hasPlayer(e.getGuild()) && e.getChannelLeft().getMembers().equals(e.getGuild().getSelfMember())) {
+ audioManager.players.remove(e.getGuild().getId());
+ audioManager.getPlayer(e.getGuild()).destroy();
+ audioManager.getTrackManager(e.getGuild()).purgeQueue();
+ e.getGuild().getAudioManager().closeAudioConnection();
}
}
}
diff --git a/src/main/java/com/bbn/hadder/utils/BotList.java b/src/main/java/com/bbn/hadder/utils/BotList.java
index 580a457..8ea3167 100644
--- a/src/main/java/com/bbn/hadder/utils/BotList.java
+++ b/src/main/java/com/bbn/hadder/utils/BotList.java
@@ -1,9 +1,21 @@
-package com.bbn.hadder.utils;
-
/*
- * @author Skidder / GregTCLTK
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+package com.bbn.hadder.utils;
+
import com.bbn.hadder.Hadder;
import com.bbn.hadder.core.Config;
import okhttp3.MediaType;
diff --git a/src/main/java/com/bbn/hadder/utils/EventWaiter.java b/src/main/java/com/bbn/hadder/utils/EventWaiter.java
index bc9ad89..525dd15 100644
--- a/src/main/java/com/bbn/hadder/utils/EventWaiter.java
+++ b/src/main/java/com/bbn/hadder/utils/EventWaiter.java
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.utils;
import net.dv8tion.jda.api.JDA;
diff --git a/src/main/java/com/bbn/hadder/utils/Http.java b/src/main/java/com/bbn/hadder/utils/Http.java
new file mode 100644
index 0000000..3caa009
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/utils/Http.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.bbn.hadder.utils;
+
+import okhttp3.OkHttpClient;
+import okhttp3.Response;
+import org.json.JSONObject;
+
+import java.io.IOException;
+
+public class Http {
+
+ public static String getNSFW(String url) {
+
+ OkHttpClient caller = new OkHttpClient();
+ okhttp3.Request request = new okhttp3.Request.Builder().url(url).build();
+
+ try {
+ Response response = caller.newCall(request).execute();
+ JSONObject json = new JSONObject(response.body().string());
+ try {
+ JSONObject data = json.getJSONObject("data");
+ JSONObject response1 = data.getJSONObject("response");
+ return response1.getString("url");
+ } catch (Exception ignore) {
+ return json.getString("url");
+ }
+ } catch (IOException ex) {
+ ex.printStackTrace();
+ }
+ return null;
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/utils/MessageEditor.java b/src/main/java/com/bbn/hadder/utils/MessageEditor.java
index 4e923ee..fcbbbe9 100644
--- a/src/main/java/com/bbn/hadder/utils/MessageEditor.java
+++ b/src/main/java/com/bbn/hadder/utils/MessageEditor.java
@@ -1,6 +1,22 @@
+/*
+ * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+ *
+ * Licensed under the GNU Affero General Public License, Version 3.0;
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.gnu.org/licenses/agpl-3.0.en.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package com.bbn.hadder.utils;
-import com.bbn.hadder.Rethink;
+import com.bbn.hadder.RethinkUser;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.User;
@@ -11,11 +27,11 @@ import java.util.ResourceBundle;
public class MessageEditor {
- private Rethink rethink;
+ private RethinkUser rethinkUser;
private User user;
- public MessageEditor(Rethink rethink, User user) {
- this.rethink = rethink;
+ public MessageEditor(RethinkUser rethinkUser, User user) {
+ this.rethinkUser = rethinkUser;
this.user = user;
}
@@ -34,7 +50,7 @@ public class MessageEditor {
public EmbedBuilder getMessage(MessageType type, String title, String title_extra, String title_extra_two,
String description, String description_extra, String description_extra_two) {
- String language = (this.user!=null) ? rethink.getLanguage(this.user.getId()) : null;
+ String language = (this.user!=null) ? rethinkUser.getLanguage() : null;
EmbedBuilder eb = this.getDefaultSettings(type);
if (!"".equals(title)) eb.setTitle(this.handle(language, title, title_extra, title_extra_two));
if (!"".equals(description)) eb.setDescription(this.handle(language, description, description_extra, description_extra_two));
@@ -105,11 +121,11 @@ public class MessageEditor {
}
public String getTerm(String string) {
- return this.handle(rethink.getLanguage(user.getId()), string, "", "");
+ return this.handle(rethinkUser.getLanguage(), string, "", "");
}
public String getTerm(String string, String extra, String extra_two) {
- return this.handle(rethink.getLanguage(user.getId()), string, extra, extra_two);
+ return this.handle(rethinkUser.getLanguage(), string, extra, extra_two);
}
private String handle(String language_code, String string, String extra, String extra_two) {
diff --git a/src/main/resources/Translations/Translations_de.properties b/src/main/resources/Translations/Translations_de.properties
index 3f81bbf..3380cee 100644
--- a/src/main/resources/Translations/Translations_de.properties
+++ b/src/main/resources/Translations/Translations_de.properties
@@ -1,5 +1,17 @@
#
-# @author Skidder / GregTCLTK
+# Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+#
+# Licensed under the GNU Affero General Public License, Version 3.0;
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.gnu.org/licenses/agpl-3.0.en.html
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
#
Hadder = Hadder
diff --git a/src/main/resources/Translations/Translations_en.properties b/src/main/resources/Translations/Translations_en.properties
index 5ca0715..bef41a8 100644
--- a/src/main/resources/Translations/Translations_en.properties
+++ b/src/main/resources/Translations/Translations_en.properties
@@ -1,5 +1,17 @@
#
-# @author Skidder / GregTCLTK
+# Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+#
+# Licensed under the GNU Affero General Public License, Version 3.0;
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.gnu.org/licenses/agpl-3.0.en.html
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
#
Hadder = Hadder
@@ -9,6 +21,8 @@ none = None
success\! = Success\!
commands.fun.avatar.success.title = Avatar of %extra%
+commands.fun.avatar.error.title = User not found
+commands.fun.avatar.error.description = I can not find a user with this id!
commands.fun.avatar.help.description = Sends the avatar of the specified member.
commands.fun.gif.error.description = Please try again with another term.
commands.fun.gif.help.description = Looks for a GIF on Giphy.
diff --git a/src/main/resources/Translations/Translations_es.properties b/src/main/resources/Translations/Translations_es.properties
index 5ca0715..2dd528a 100644
--- a/src/main/resources/Translations/Translations_es.properties
+++ b/src/main/resources/Translations/Translations_es.properties
@@ -1,5 +1,17 @@
#
-# @author Skidder / GregTCLTK
+# Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+#
+# Licensed under the GNU Affero General Public License, Version 3.0;
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.gnu.org/licenses/agpl-3.0.en.html
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
#
Hadder = Hadder
diff --git a/src/main/resources/Translations/Translations_fr.properties b/src/main/resources/Translations/Translations_fr.properties
index 5ca0715..2dd528a 100644
--- a/src/main/resources/Translations/Translations_fr.properties
+++ b/src/main/resources/Translations/Translations_fr.properties
@@ -1,5 +1,17 @@
#
-# @author Skidder / GregTCLTK
+# Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+#
+# Licensed under the GNU Affero General Public License, Version 3.0;
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.gnu.org/licenses/agpl-3.0.en.html
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
#
Hadder = Hadder
diff --git a/src/main/resources/Translations/Translations_ru.properties b/src/main/resources/Translations/Translations_ru.properties
index 5ca0715..2dd528a 100644
--- a/src/main/resources/Translations/Translations_ru.properties
+++ b/src/main/resources/Translations/Translations_ru.properties
@@ -1,5 +1,17 @@
#
-# @author Skidder / GregTCLTK
+# Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+#
+# Licensed under the GNU Affero General Public License, Version 3.0;
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.gnu.org/licenses/agpl-3.0.en.html
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
#
Hadder = Hadder
diff --git a/src/main/resources/Translations/Translations_tr.properties b/src/main/resources/Translations/Translations_tr.properties
index 5ca0715..2dd528a 100644
--- a/src/main/resources/Translations/Translations_tr.properties
+++ b/src/main/resources/Translations/Translations_tr.properties
@@ -1,5 +1,17 @@
#
-# @author Skidder / GregTCLTK
+# Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+#
+# Licensed under the GNU Affero General Public License, Version 3.0;
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.gnu.org/licenses/agpl-3.0.en.html
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
#
Hadder = Hadder
diff --git a/src/main/resources/Translations/Translations_zh.properties b/src/main/resources/Translations/Translations_zh.properties
index 5ca0715..2dd528a 100644
--- a/src/main/resources/Translations/Translations_zh.properties
+++ b/src/main/resources/Translations/Translations_zh.properties
@@ -1,5 +1,17 @@
#
-# @author Skidder / GregTCLTK
+# Copyright 2019-2020 GregTCLTK and Schlauer-Hax
+#
+# Licensed under the GNU Affero General Public License, Version 3.0;
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.gnu.org/licenses/agpl-3.0.en.html
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
#
Hadder = Hadder