Improved Database Performance, Added Test Echo Command
This commit is contained in:
parent
46960abbbe
commit
229d3f2a3f
26 changed files with 454 additions and 194 deletions
|
|
@ -103,7 +103,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),
|
||||
|
|
|
|||
|
|
@ -5,7 +5,9 @@ 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;
|
||||
|
||||
/*
|
||||
|
|
@ -66,28 +68,10 @@ public class Rethink {
|
|||
return r.table(table).get(wherevalue).getField(column).run(conn);
|
||||
}
|
||||
|
||||
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 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);
|
||||
System.out.println(response);
|
||||
return new JSONObject(response);
|
||||
}
|
||||
|
||||
public void insert(String table, Object object) {
|
||||
|
|
@ -125,22 +109,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.getByID("user", 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.getByID("server", id, "prefix");
|
||||
}
|
||||
|
||||
public void insertGuild(String id) {
|
||||
this.insert("server", r
|
||||
.hashMap("id", id)
|
||||
|
|
@ -161,87 +129,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.getByID("user", 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.getByID("server", 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.getByID("server", guild_id, "starboard");
|
||||
}
|
||||
|
||||
// TODO
|
||||
public boolean hasStarboardChannel(String guild_id) {
|
||||
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.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.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.getByID("server", guild_id, "message_id");
|
||||
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();
|
||||
}
|
||||
|
||||
public String getRulesRID(String guild_id) {
|
||||
return (String) this.getByID("server", guild_id, "role_id");
|
||||
}
|
||||
|
||||
public String getRulesAEmote(String guild_id) {
|
||||
return (String) this.getByID("server", guild_id, "accept_emote");
|
||||
}
|
||||
|
||||
public String getRulesDEmote(String guild_id) {
|
||||
return (String) this.getByID("server", 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.getByID("server", 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.getByID("user", user_id, "language");
|
||||
r.table("user").get(user.getId()).update(object).run(conn);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
117
src/main/java/com/bbn/hadder/RethinkServer.java
Normal file
117
src/main/java/com/bbn/hadder/RethinkServer.java
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
/*
|
||||
* @author Hax / Hax6775 / Schlauer_Hax
|
||||
*/
|
||||
|
||||
package com.bbn.hadder;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
public class RethinkServer {
|
||||
|
||||
private Rethink rethink;
|
||||
|
||||
String accept_emote = "";
|
||||
String decline_emote = "";
|
||||
String id;
|
||||
boolean invite_detect = false;
|
||||
String message_id = "";
|
||||
String neededstars = "3";
|
||||
String prefix = "h.";
|
||||
String role_id = "";
|
||||
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 getAccept_emote() {
|
||||
return accept_emote;
|
||||
}
|
||||
|
||||
public void setAccept_emote(String accept_emote) {
|
||||
this.accept_emote = accept_emote;
|
||||
}
|
||||
|
||||
public String getDecline_emote() {
|
||||
return decline_emote;
|
||||
}
|
||||
|
||||
public void setDecline_emote(String decline_emote) {
|
||||
this.decline_emote = decline_emote;
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public boolean isInvite_detect() {
|
||||
return invite_detect;
|
||||
}
|
||||
|
||||
public void setInvite_detect(boolean invite_detect) {
|
||||
this.invite_detect = invite_detect;
|
||||
}
|
||||
|
||||
public String getMessage_id() {
|
||||
return message_id;
|
||||
}
|
||||
|
||||
public void setMessage_id(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 getRole_id() {
|
||||
return role_id;
|
||||
}
|
||||
|
||||
public void setRole_id(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.setMessage_id(message_id);
|
||||
this.setRole_id(role_id);
|
||||
this.setAccept_emote(accept_emote);
|
||||
this.setDecline_emote(decline_emote);
|
||||
}
|
||||
|
||||
public void push() {
|
||||
rethink.pushServer(this);
|
||||
}
|
||||
}
|
||||
77
src/main/java/com/bbn/hadder/RethinkUser.java
Normal file
77
src/main/java/com/bbn/hadder/RethinkUser.java
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
/*
|
||||
* @author Hax / Hax6775 / Schlauer_Hax
|
||||
*/
|
||||
|
||||
package com.bbn.hadder;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
public class RethinkUser {
|
||||
|
||||
private Rethink rethink;
|
||||
|
||||
String id;
|
||||
String prefix = "h.";
|
||||
String language = "en";
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
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;
|
||||
|
|
@ -10,6 +12,7 @@ import com.bbn.hadder.utils.MessageEditor;
|
|||
import net.dv8tion.jda.api.JDA;
|
||||
import net.dv8tion.jda.api.entities.Message;
|
||||
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
|
|
@ -22,8 +25,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 +40,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 +71,12 @@ public class CommandEvent extends MessageReceivedEvent {
|
|||
public AudioManager getAudioManager() {
|
||||
return audioManager;
|
||||
}
|
||||
|
||||
public RethinkServer getRethinkServer() {
|
||||
return rethinkServer;
|
||||
}
|
||||
|
||||
public RethinkUser getRethinkUser() {
|
||||
return rethinkUser;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public class ClydeCommand implements Command {
|
|||
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", "");
|
||||
String content = event.getMessage().getContentRaw().replace(event.getRethinkServer().getPrefix(), "").replace(event.getRethinkUser().getPrefix(), "").replace("clyde", "");
|
||||
|
||||
Webhook webhook = channel.createWebhook(event.getConfig().getClydeName()).complete();
|
||||
try {
|
||||
|
|
|
|||
|
|
@ -63,10 +63,10 @@ public class HelpCommand implements Command {
|
|||
StringBuilder b = new StringBuilder();
|
||||
b.append(event.getMessageEditor().getTerm("commands.general.help.description")).append(" ").append(event.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(event.getMessageEditor().getTerm("commands.general.help.usage")).append(" ").append(event.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(event.getMessageEditor().getTerm("commands.general.help.example")).append(" ").append(event.getRethinkServer().getPrefix()).append(name).append(" ").append(cmd.example());
|
||||
}
|
||||
event.getChannel().sendMessage(event.getMessageEditor().getMessage(
|
||||
MessageEditor.MessageType.INFO)
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ public class EditRulesCommand implements Command {
|
|||
|
||||
@Override
|
||||
public void executed(String[] args, CommandEvent event) {
|
||||
if (event.getRethink().getRulesMID(event.getGuild().getId()).length() == 18) {
|
||||
if (event.getRethinkServer().getMessage_id().length() == 18) {
|
||||
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
|
||||
"commands.moderation.editrules.message.title",
|
||||
"commands.moderation.editrules.message.description").build()).queue();
|
||||
|
|
@ -56,13 +56,13 @@ public class EditRulesCommand implements Command {
|
|||
} else {
|
||||
event.getTextChannel().sendMessage(event.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", event.getRethinkServer().getPrefix()).build()).queue();
|
||||
}
|
||||
}
|
||||
|
||||
public void checkChannel(CommandEvent event, String rules, TextChannel channel) {
|
||||
try {
|
||||
channel.retrieveMessageById(event.getRethink().getRulesMID(event.getGuild().getId())).queue();
|
||||
channel.retrieveMessageById(event.getRethinkServer().getMessage_id()).queue();
|
||||
setRules(event, rules, channel);
|
||||
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
|
||||
"commands.moderation.editrules.success.title",
|
||||
|
|
@ -75,7 +75,7 @@ public class EditRulesCommand implements Command {
|
|||
}
|
||||
|
||||
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)
|
||||
channel.retrieveMessageById(event.getRethinkServer().getMessage_id()).complete().editMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
|
||||
.setTitle("Rules")
|
||||
.setDescription(rules)
|
||||
.build()).queue();
|
||||
|
|
|
|||
|
|
@ -19,14 +19,15 @@ public class InviteDetectCommand implements Command {
|
|||
String opinion = args[0].toLowerCase();
|
||||
switch (opinion) {
|
||||
case "on":
|
||||
if (!event.getRethink().getInviteDetection(event.getGuild().getId())) {
|
||||
event.getRethink().setInviteDetection(event.getGuild().getId(), true);
|
||||
if (!event.getRethinkServer().isInvite_detect()) {
|
||||
event.getRethinkServer().setInvite_detect(true);
|
||||
event.getTextChannel().sendMessage(
|
||||
event.getMessageEditor().getMessage(
|
||||
MessageEditor.MessageType.INFO,
|
||||
"commands.moderation.invitedetect.activate.success.title",
|
||||
"commands.moderation.invitedetect.activate.success.description")
|
||||
.build()).queue();
|
||||
event.getRethinkServer().push();
|
||||
} else {
|
||||
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
|
||||
MessageEditor.MessageType.ERROR,
|
||||
|
|
@ -37,13 +38,14 @@ public class InviteDetectCommand implements Command {
|
|||
break;
|
||||
|
||||
case "off":
|
||||
if (event.getRethink().getInviteDetection(event.getGuild().getId())) {
|
||||
event.getRethink().setInviteDetection(event.getGuild().getId(), false);
|
||||
if (event.getRethinkServer().isInvite_detect()) {
|
||||
event.getRethinkServer().setInvite_detect(false);
|
||||
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
|
||||
MessageEditor.MessageType.INFO,
|
||||
"commands.moderation.invitedetect.deactivate.success.title",
|
||||
"commands.moderation.invitedetect.deactivate.success.description")
|
||||
.build()).queue();
|
||||
event.getRethinkServer().push();
|
||||
} else {
|
||||
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
|
||||
MessageEditor.MessageType.ERROR,
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@ public class NickCommand implements Command {
|
|||
if (!event.getMessage().getMentionedMembers().get(0).getId().equals(event.getGuild().getSelfMember().getId())) {
|
||||
if (event.getGuild().getSelfMember().canInteract(event.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();
|
||||
if (event.getMessage().getContentRaw().startsWith(event.getRethinkUser().getPrefix())) {
|
||||
event.getGuild().modifyNickname(event.getMessage().getMentionedMembers().get(0), event.getMessage().getContentRaw().replaceFirst(event.getRethinkUser().getPrefix() + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
|
||||
event.getTextChannel().sendMessage(
|
||||
event.getMessageEditor().getMessage(
|
||||
MessageEditor.MessageType.INFO,
|
||||
|
|
@ -32,8 +32,8 @@ public class NickCommand implements Command {
|
|||
"commands.moderation.nick.success.description",
|
||||
event.getMessage().getMentionedMembers().get(0).getUser().getAsTag()
|
||||
).build()).queue();
|
||||
} else if (event.getMessage().getContentRaw().startsWith(event.getRethink().getGuildPrefix(event.getGuild().getId()))) {
|
||||
event.getGuild().modifyNickname(event.getMessage().getMentionedMembers().get(0), event.getMessage().getContentRaw().replaceFirst(event.getRethink().getGuildPrefix(event.getGuild().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
|
||||
} else if (event.getMessage().getContentRaw().startsWith(event.getRethinkServer().getPrefix())) {
|
||||
event.getGuild().modifyNickname(event.getMessage().getMentionedMembers().get(0), event.getMessage().getContentRaw().replaceFirst(event.getRethinkServer().getPrefix() + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
|
||||
event.getTextChannel().sendMessage(
|
||||
event.getMessageEditor().getMessage(
|
||||
MessageEditor.MessageType.INFO,
|
||||
|
|
@ -49,8 +49,8 @@ public class NickCommand implements Command {
|
|||
event.getTextChannel().sendMessage(event.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();
|
||||
if (event.getMessage().getContentRaw().startsWith(event.getRethinkUser().getPrefix())) {
|
||||
event.getGuild().getSelfMember().modifyNickname(event.getMessage().getContentRaw().replaceFirst(event.getRethinkUser().getPrefix() + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
|
||||
event.getTextChannel().sendMessage(
|
||||
event.getMessageEditor().getMessage(
|
||||
MessageEditor.MessageType.INFO,
|
||||
|
|
@ -58,8 +58,8 @@ public class NickCommand implements Command {
|
|||
"✅",
|
||||
"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();
|
||||
} else if (event.getMessage().getContentRaw().startsWith(event.getRethinkServer().getPrefix())) {
|
||||
event.getGuild().getSelfMember().modifyNickname(event.getMessage().getContentRaw().replaceFirst(event.getRethinkServer().getPrefix() + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
|
||||
event.getTextChannel().sendMessage(
|
||||
event.getMessageEditor().getMessage(
|
||||
MessageEditor.MessageType.INFO,
|
||||
|
|
|
|||
|
|
@ -13,7 +13,8 @@ public class PrefixCommand implements Command {
|
|||
public void executed(String[] args, CommandEvent event) {
|
||||
if (args.length == 1) {
|
||||
if (!args[0].contains("\"")) {
|
||||
event.getRethink().setGuildPrefix(args[0], event.getGuild().getId());
|
||||
event.getRethinkServer().setPrefix(args[0]);
|
||||
event.getRethinkServer().push();
|
||||
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
|
||||
MessageEditor.MessageType.INFO,
|
||||
"commands.moderation.prefix.success.title",
|
||||
|
|
|
|||
|
|
@ -160,7 +160,8 @@ public class RulesCommand implements Command {
|
|||
.build()).queue();
|
||||
e.printStackTrace();
|
||||
}
|
||||
event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId(), aemote.toString(), demote.toString());
|
||||
event.getRethinkServer().updateRules(rules.getId(), role.getId(), aemote.toString(), demote.toString());
|
||||
event.getRethinkServer().push();
|
||||
} else {
|
||||
event.getTextChannel().sendMessage(
|
||||
event.getMessageEditor().getMessage(
|
||||
|
|
@ -205,7 +206,8 @@ public class RulesCommand implements Command {
|
|||
.build()).queue();
|
||||
e.printStackTrace();
|
||||
}
|
||||
event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId(), aemote, demote);
|
||||
event.getRethinkServer().updateRules(rules.getId(), role.getId(), aemote, demote);
|
||||
event.getRethinkServer().push();
|
||||
} else {
|
||||
event.getTextChannel().sendMessage(
|
||||
event.getMessageEditor().getMessage(
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ 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.getRethinkServer().setStarboard(event.getMessage().getMentionedChannels().get(0).getId());
|
||||
event.getChannel().sendMessage(
|
||||
event.getMessageEditor().getMessage(
|
||||
MessageEditor.MessageType.INFO,
|
||||
|
|
@ -21,7 +21,7 @@ public class StarboardCommand implements Command {
|
|||
if (args.length>0) {
|
||||
TextChannel channel = event.getGuild().getTextChannelById(args[0]);
|
||||
if (channel!=null) {
|
||||
event.getRethink().setStarboardChannel(event.getGuild().getId(), channel.getId());
|
||||
event.getRethinkServer().setStarboard(channel.getId());
|
||||
}
|
||||
} else {
|
||||
event.getHelpCommand().sendHelp(this, event);
|
||||
|
|
@ -29,8 +29,10 @@ public class StarboardCommand implements Command {
|
|||
}
|
||||
|
||||
if (args.length==2) {
|
||||
event.getRethink().setNeededStars(args[1], event.getGuild().getId());
|
||||
event.getRethinkServer().setNeededstars(args[1]);
|
||||
}
|
||||
|
||||
event.getRethinkServer().push();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ public class PlayCommand implements Command {
|
|||
public void executed(String[] args, CommandEvent event) {
|
||||
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 ", "");
|
||||
String input = event.getMessage().getContentRaw().replaceFirst(event.getRethinkServer().getPrefix() + "play ", "").replaceFirst(event.getRethinkUser().getPrefix() + "play ", "");
|
||||
try {
|
||||
new URL(input).toURI();
|
||||
Message msg = event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public class BlacklistCommand implements Command {
|
|||
case "add":
|
||||
if (args.length == 3) {
|
||||
Member member = event.getMessage().getMentionedMembers().get(0);
|
||||
String blacklisted = event.getRethink().getBlackListed(member.getId());
|
||||
String blacklisted = event.getRethinkUser().getBlacklisted();
|
||||
List<String> commands = new ArrayList<>();
|
||||
if (!"none".equals(blacklisted)) commands.addAll(Arrays.asList(blacklisted.split(",")));
|
||||
commands.addAll(Arrays.asList(args[1].split(",")));
|
||||
|
|
@ -37,19 +37,20 @@ public class BlacklistCommand implements Command {
|
|||
|
||||
ArrayList<String> commandsWithoutDuplicates = new ArrayList<>(hashSet);
|
||||
String newblacklisted = ((commandsWithoutDuplicates.size()!=0) ? String.join(",", commandsWithoutDuplicates) : "none");
|
||||
event.getRethink().setBlackListed(member.getId(), newblacklisted);
|
||||
event.getRethinkUser().setBlacklisted(newblacklisted);
|
||||
event.getTextChannel().sendMessage(
|
||||
event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
|
||||
.setTitle("Removed Blacklisted Commands from User")
|
||||
.setDescription("Blacklisted commands: "+newblacklisted)
|
||||
.build()).queue();
|
||||
event.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 = event.getRethinkUser().getBlacklisted();
|
||||
List<String> commands = new ArrayList<>();
|
||||
if (!"none".equals(blacklisted)) commands.addAll(Arrays.asList(blacklisted.split(",")));
|
||||
commands.removeAll(Arrays.asList(args[1].split(",")));
|
||||
|
|
@ -57,12 +58,13 @@ public class BlacklistCommand implements Command {
|
|||
|
||||
ArrayList<String> commandsWithoutDuplicates = new ArrayList<>(hashSet);
|
||||
String newblacklisted = ((commandsWithoutDuplicates.size()!=0) ? String.join(",", commandsWithoutDuplicates) : "none");
|
||||
event.getRethink().setBlackListed(member.getId(), newblacklisted);
|
||||
event.getRethinkUser().setBlacklisted(newblacklisted);
|
||||
event.getTextChannel().sendMessage(
|
||||
event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
|
||||
.setTitle("Removed Blacklisted Commands from User")
|
||||
.setDescription("Blacklisted commands: "+newblacklisted)
|
||||
.build()).queue();
|
||||
event.getRethinkUser().push();
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -70,7 +72,7 @@ public class BlacklistCommand implements Command {
|
|||
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());
|
||||
String blacklisted = event.getRethinkUser().getBlacklisted();
|
||||
if (!"none".equals(blacklisted)) {
|
||||
stringBuilder.append(user.getAsTag()).append(" (").append(user.getId()).append(") - ").append(blacklisted).append("\n");
|
||||
}
|
||||
|
|
|
|||
85
src/main/java/com/bbn/hadder/commands/owner/EchoCommand.java
Normal file
85
src/main/java/com/bbn/hadder/commands/owner/EchoCommand.java
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
/*
|
||||
* @author Hax / Hax6775 / Schlauer_Hax
|
||||
*/
|
||||
|
||||
package com.bbn.hadder.commands.owner;
|
||||
|
||||
import com.bbn.hadder.commands.Command;
|
||||
import com.bbn.hadder.commands.CommandEvent;
|
||||
import net.dv8tion.jda.api.audio.*;
|
||||
import net.dv8tion.jda.api.entities.Guild;
|
||||
import net.dv8tion.jda.api.entities.User;
|
||||
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;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
|
||||
public static class EchoHandler implements AudioSendHandler, AudioReceiveHandler {
|
||||
|
||||
private final Queue<byte[]> 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -42,7 +42,7 @@ public class LanguageCommand implements Command {
|
|||
}
|
||||
|
||||
public void setLanguage(String language_code, String language, CommandEvent event) {
|
||||
event.getRethink().setLanguage(event.getAuthor().getId(), language_code);
|
||||
event.getRethinkUser().setLanguage(language_code);
|
||||
event.getTextChannel()
|
||||
.sendMessage(
|
||||
event.getMessageEditor()
|
||||
|
|
@ -50,6 +50,7 @@ public class LanguageCommand implements Command {
|
|||
"", "commands.settings.language.success.description", language)
|
||||
.build())
|
||||
.queue();
|
||||
event.getRethinkUser().push();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -12,13 +12,14 @@ public class UserPrefixCommand implements Command {
|
|||
|
||||
public void executed(String[] args, CommandEvent event) {
|
||||
if (args.length == 1) {
|
||||
event.getRethink().setUserPrefix(args[0], event.getAuthor().getId());
|
||||
event.getRethinkUser().setPrefix(args[0]);
|
||||
event.getTextChannel()
|
||||
.sendMessage(event.getMessageEditor()
|
||||
.getMessage(MessageEditor.MessageType.INFO, "commands.settings.prefix.success.title", "",
|
||||
"commands.settings.prefix.success.description", args[0])
|
||||
.build())
|
||||
.queue();
|
||||
event.getRethinkUser().push();
|
||||
} else {
|
||||
event.getHelpCommand().sendHelp(this, event);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
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;
|
||||
|
|
@ -8,6 +10,7 @@ import com.bbn.hadder.commands.general.HelpCommand;
|
|||
import com.bbn.hadder.utils.EventWaiter;
|
||||
import com.bbn.hadder.utils.MessageEditor;
|
||||
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
|
@ -24,7 +27,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 +39,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 +53,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)) {
|
||||
|
|
|
|||
|
|
@ -1,11 +1,14 @@
|
|||
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.entities.ChannelType;
|
||||
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
||||
import org.json.JSONObject;
|
||||
|
||||
/*
|
||||
* @author Skidder / GregTCLTK
|
||||
|
|
@ -26,15 +29,19 @@ public class CommandListener extends ListenerAdapter {
|
|||
@Override
|
||||
public void onMessageReceived(MessageReceivedEvent event) {
|
||||
if (event.isFromType(ChannelType.TEXT) && !event.getAuthor().isBot()) {
|
||||
RethinkUser rethinkUser = new RethinkUser(rethink.getObjectByID("user", event.getAuthor().getId()), rethink);
|
||||
RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", event.getGuild().getId()), rethink);
|
||||
rethinkUser.push();
|
||||
rethinkServer.push();
|
||||
String[] prefixes = {
|
||||
rethink.getUserPrefix(event.getAuthor().getId()), rethink.getGuildPrefix(event.getGuild().getId()),
|
||||
rethinkUser.getPrefix(), rethinkServer.getPrefix(),
|
||||
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);
|
||||
handler.handle(event, rethink, prefix, audioManager, rethinkUser, rethinkServer);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ 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;
|
||||
|
|
@ -28,10 +29,11 @@ public class InviteLinkListener extends ListenerAdapter {
|
|||
|
||||
@Override
|
||||
public void onMessageReceived(@Nonnull MessageReceivedEvent event) {
|
||||
RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", event.getGuild().getId()), rethink);
|
||||
if (event.isFromType(ChannelType.TEXT)) {
|
||||
if (event.getMessage().getContentRaw().contains("discord.gg/") && (!event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId()))) {
|
||||
if (event.getMessage().getContentRaw().contains("discord.gg/") && (!event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethinkServer.isInvite_detect())) {
|
||||
checkInvite(event.getMessage(), "discord.gg/");
|
||||
} else if (event.getMessage().getContentRaw().contains("discordapp.com/invite") && (!event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId()))) {
|
||||
} else if (event.getMessage().getContentRaw().contains("discordapp.com/invite") && (!event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethinkServer.isInvite_detect())) {
|
||||
checkInvite(event.getMessage(), "discordapp.com/invite/");
|
||||
}
|
||||
}
|
||||
|
|
@ -55,10 +57,11 @@ public class InviteLinkListener extends ListenerAdapter {
|
|||
|
||||
@Override
|
||||
public void onMessageUpdate(@Nonnull MessageUpdateEvent event) {
|
||||
RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", event.getGuild().getId()), rethink);
|
||||
if (event.isFromType(ChannelType.TEXT)) {
|
||||
if (event.getMessage().getContentRaw().contains("discord.gg/") && !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
|
||||
if (event.getMessage().getContentRaw().contains("discord.gg/") && !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethinkServer.isInvite_detect()) {
|
||||
checkInvite(event.getMessage(), "discord.gg/");
|
||||
} else if (event.getMessage().getContentRaw().contains("discordapp.com/invite") && !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
|
||||
} else if (event.getMessage().getContentRaw().contains("discordapp.com/invite") && !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethinkServer.isInvite_detect()) {
|
||||
checkInvite(event.getMessage(), "discordapp.com/invite/");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
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;
|
||||
|
|
@ -19,20 +21,24 @@ 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())||
|
||||
if (!event.getAuthor().isBot()) {
|
||||
RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", event.getGuild().getId()), rethink);
|
||||
RethinkUser rethinkUser = new RethinkUser(rethink.getObjectByID("user", event.getAuthor().getId()), rethink);
|
||||
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)
|
||||
event.getChannel().sendMessage(new MessageEditor(rethinkUser, 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)
|
||||
.addField("Prefix (User)", rethinkUser.getPrefix(), false)
|
||||
.addField("Prefix (Guild)", rethinkServer.getPrefix(), false)
|
||||
.build()).queue();
|
||||
} else if (event.getMessage().getContentRaw().equalsIgnoreCase("@someone")) {
|
||||
int member = new Random().nextInt(event.getGuild().getMembers().size()-1);
|
||||
if (member>0&&member<event.getGuild().getMembers().size()) {
|
||||
event.getChannel().sendMessage(event.getGuild().getMembers().get(member).getAsMention()+ " (Executed by: "+event.getAuthor().getAsTag()+")").queue();
|
||||
int member = new Random().nextInt(event.getGuild().getMembers().size() - 1);
|
||||
if (member > 0 && member < event.getGuild().getMembers().size()) {
|
||||
event.getChannel().sendMessage(event.getGuild().getMembers().get(member).getAsMention() + " (Executed by: " + event.getAuthor().getAsTag() + ")").queue();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ 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.entities.ChannelType;
|
||||
import net.dv8tion.jda.api.entities.PrivateChannel;
|
||||
|
|
@ -25,14 +26,15 @@ public class PrivateMessageListener extends ListenerAdapter {
|
|||
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();
|
||||
RethinkUser rethinkUser = new RethinkUser(rethink.getObjectByID("user", "261083609148948488"), rethink);
|
||||
|
||||
Skidder.sendMessage(new MessageEditor(rethink, event.getJDA().getUserById("261083609148948488")).getMessage(MessageEditor.MessageType.INFO)
|
||||
Skidder.sendMessage(new MessageEditor(rethinkUser, 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())
|
||||
.setTimestamp(Instant.now())
|
||||
.build()).queue();
|
||||
Hax.sendMessage(new MessageEditor(rethink, event.getJDA().getUserById("261083609148948488")).getMessage(MessageEditor.MessageType.INFO)
|
||||
Hax.sendMessage(new MessageEditor(rethinkUser, 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())
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ 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;
|
||||
|
|
@ -19,20 +20,21 @@ public class RulesListener extends ListenerAdapter {
|
|||
|
||||
@Override
|
||||
public void onMessageReactionAdd(MessageReactionAddEvent event) {
|
||||
if (event.getMessageId().equals(rethink.getRulesMID(event.getGuild().getId())) && !event.getMember().getUser().isBot()) {
|
||||
RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", event.getGuild().getId()), rethink);
|
||||
if (event.getMessageId().equals(rethinkServer.getMessage_id()) && !event.getMember().getUser().isBot()) {
|
||||
if (event.getReactionEmote().isEmote()) {
|
||||
if (rethink.getRulesAEmote(event.getGuild().getId()).equals(event.getReactionEmote().getId())) {
|
||||
if (rethinkServer.getAccept_emote().equals(event.getReactionEmote().getId())) {
|
||||
addRole(event);
|
||||
} else if (rethink.getRulesDEmote(event.getGuild().getId()).equals(event.getReactionEmote().getId())) {
|
||||
} else if (rethinkServer.getDecline_emote().equals(event.getReactionEmote().getId())) {
|
||||
event.getReaction().removeReaction(event.getUser()).queue();
|
||||
if (event.getGuild().getSelfMember().canInteract(event.getMember())) {
|
||||
event.getMember().kick().reason("Declined the rules");
|
||||
}
|
||||
}
|
||||
} else if (event.getReactionEmote().isEmoji()) {
|
||||
if (rethink.getRulesAEmote(event.getGuild().getId()).equals(event.getReactionEmote().getEmoji())) {
|
||||
if (rethinkServer.getAccept_emote().equals(event.getReactionEmote().getEmoji())) {
|
||||
addRole(event);
|
||||
} else if (rethink.getRulesDEmote(event.getGuild().getId()).equals(event.getReactionEmote().getEmoji())) {
|
||||
} else if (rethinkServer.getDecline_emote().equals(event.getReactionEmote().getEmoji())) {
|
||||
event.getReaction().removeReaction(event.getUser()).queue();
|
||||
if (event.getGuild().getSelfMember().canInteract(event.getMember())) {
|
||||
event.getMember().kick().reason("Declined the rules");
|
||||
|
|
@ -43,15 +45,17 @@ public class RulesListener extends ListenerAdapter {
|
|||
}
|
||||
|
||||
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();
|
||||
RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", event.getGuild().getId()), rethink);
|
||||
if (event.getMember().getRoles().contains(event.getGuild().getRoleById(rethinkServer.getMessage_id()))) {
|
||||
event.getGuild().removeRoleFromMember(event.getMember(), event.getGuild().getRoleById(rethinkServer.getMessage_id())).reason("Accepted rules").queue();
|
||||
} else event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethinkServer.getRole_id())).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();
|
||||
RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", event.getGuild().getId()), rethink);
|
||||
if (event.getMessageId().equals(rethinkServer.getMessage_id()) && !event.getMember().getUser().isBot()) {
|
||||
event.getGuild().removeRoleFromMember(event.getMember(), event.getGuild().getRoleById(rethinkServer.getRole_id())).reason("Withdrawal of the acceptance of the rules").queue();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
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;
|
||||
|
|
@ -31,9 +32,9 @@ public class StarboardListener extends ListenerAdapter {
|
|||
|
||||
public void update(GenericMessageReactionEvent event) {
|
||||
if (event.getReaction().getReactionEmote().getName().equals("⭐")) {
|
||||
RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", event.getGuild().getId()), rethink);
|
||||
if (!rethink.hasStarboardMessage(event.getMessageId())) {
|
||||
if (rethink.hasStarboardChannel(event.getGuild().getId())) {
|
||||
|
||||
event.getTextChannel().retrieveMessageById(event.getMessageId()).queue(
|
||||
msg -> {
|
||||
Integer stars = 0;
|
||||
|
|
@ -43,8 +44,8 @@ public class StarboardListener extends ListenerAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
if (Integer.parseInt(rethink.getNeededStars(event.getGuild().getId())) <= stars) {
|
||||
event.getGuild().getTextChannelById(rethink.getStarboardChannel(event.getGuild().getId()))
|
||||
if (Integer.parseInt(rethinkServer.getNeededstars()) <= stars) {
|
||||
event.getGuild().getTextChannelById(rethinkServer.getStarboard())
|
||||
.sendMessage(new MessageBuilder()
|
||||
.setContent("⭐ 1" + " " + event.getTextChannel().getAsMention())
|
||||
.setEmbed(
|
||||
|
|
@ -73,11 +74,11 @@ public class StarboardListener extends ListenerAdapter {
|
|||
}
|
||||
|
||||
Integer finalStars = stars;
|
||||
event.getGuild().getTextChannelById(rethink.getStarboardChannel(event.getGuild().getId()))
|
||||
event.getGuild().getTextChannelById(rethinkServer.getStarboard())
|
||||
.retrieveMessageById(rethink.getStarboardMessage(event.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())
|
||||
.setEmbed(
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
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 +12,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 +35,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 +106,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) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue