EventWaiter

This commit is contained in:
GregTCLTK 2019-12-26 17:44:38 +01:00
parent 0d621717df
commit 409088c721
No known key found for this signature in database
GPG key ID: A91BADE5C070FF67
9 changed files with 38 additions and 25 deletions

View file

@ -4,6 +4,7 @@ import com.bbn.hadder.Rethink;
import com.bbn.hadder.commands.general.HelpCommand;
import com.bbn.hadder.core.CommandHandler;
import com.bbn.hadder.core.Config;
import com.bbn.hadder.utils.EventWaiter;
import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.entities.Message;
@ -18,14 +19,16 @@ public class CommandEvent extends MessageReceivedEvent {
private CommandHandler commandHandler;
private HelpCommand helpCommand;
private MessageEditor messageEditor;
private EventWaiter eventWaiter;
public CommandEvent(@Nonnull JDA api, long responseNumber, @Nonnull Message message, Rethink rethink, Config config, CommandHandler commandHandler, HelpCommand helpCommand, MessageEditor messageEditor) {
public CommandEvent(@Nonnull JDA api, long responseNumber, @Nonnull Message message, Rethink rethink, Config config, CommandHandler commandHandler, HelpCommand helpCommand, MessageEditor messageEditor, EventWaiter eventWaiter) {
super(api, responseNumber, message);
this.rethink = rethink;
this.config = config;
this.commandHandler = commandHandler;
this.helpCommand = helpCommand;
this.messageEditor = messageEditor;
this.eventWaiter = eventWaiter;
}
public Rethink getRethink() {
@ -47,4 +50,8 @@ public class CommandEvent extends MessageReceivedEvent {
public MessageEditor getMessageEditor() {
return messageEditor;
}
public EventWaiter getEventWaiter() {
return eventWaiter;
}
}

View file

@ -34,8 +34,8 @@ public class EqualsCommand implements Command {
.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)
.build()).queue();
}, event.getJDA(), event.getAuthor());
}, event.getJDA(), event.getAuthor());
}, event);
}, event);
}
@Override

View file

@ -48,8 +48,8 @@ public class FeedbackCommand implements Command {
} catch (IOException e) {
e.printStackTrace();
}
}, event.getJDA(), event.getAuthor());
}, event.getJDA(), event.getAuthor());
}, event);
}, event);
}

View file

@ -56,7 +56,7 @@ public class ScreenShareCommand implements Command {
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);
}
}, event.getJDA(), event.getAuthor());
}, event);
} 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);

View file

@ -53,7 +53,7 @@ public class RulesCommand implements Command {
.build()).queue();
}
}
}, event.getJDA(), event.getAuthor());
}, event);
} else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
@ -93,8 +93,8 @@ public class RulesCommand implements Command {
"commands.moderation.rules.role.error.description")
.build()).queue();
}
}, event.getJDA(), event.getAuthor());
}, event.getJDA(), event.getAuthor());
}, event);
}, event);
} else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.moderation.rules.error.message.title",
@ -165,7 +165,7 @@ public class RulesCommand implements Command {
"commands.moderation.rules.emote.error.equal.description")
.build()).queue();
}
}, event.getJDA(), event.getAuthor());
}, event);
} else {
String aemote = event4.getMessage().getContentRaw();
event4.getChannel().sendMessage(
@ -210,9 +210,10 @@ public class RulesCommand implements Command {
"commands.moderation.rules.emote.error.equal.description")
.build()).queue();
}
}, event.getJDA(), event.getAuthor());
}, event
);
}
}, event.getJDA(), event.getAuthor());
}, event);
} else {
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}

View file

@ -30,7 +30,7 @@ public class LeaveCommand implements Command {
@Override
public String[] labels() {
return new String[]{"leave"};
return new String[]{"leave", "quit"};
}
@Override

View file

@ -4,6 +4,7 @@ import com.bbn.hadder.Rethink;
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
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;
@ -34,7 +35,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()));
config, this, helpCommand, new MessageEditor(rethink, event.getAuthor()), new EventWaiter());
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)) {

View file

@ -1,7 +1,6 @@
package com.bbn.hadder.utils;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.entities.User;
import com.bbn.hadder.commands.CommandEvent;
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
@ -10,20 +9,20 @@ import java.util.function.Consumer;
public class EventWaiter {
public void newOnMessageEventWaiter(Consumer<GuildMessageReceivedEvent> onEvent, JDA jda, User user) {
public void newOnMessageEventWaiter(Consumer<GuildMessageReceivedEvent> onEvent, CommandEvent event) {
Object listener = new ListenerAdapter() {
@Override
public void onGuildMessageReceived(@Nonnull GuildMessageReceivedEvent event) {
if (user==null) {
if (event.getAuthor() == null) {
onEvent.accept(event);
event.getJDA().getShardManager().removeEventListener(this);
} else if (event.getAuthor().getId().equals(user.getId())) {
} else if (event.getAuthor().getId().equals(event.getAuthor().getId())) {
onEvent.accept(event);
event.getJDA().getShardManager().removeEventListener(this);
}
}
};
jda.getShardManager().addEventListener(listener);
event.getJDA().getShardManager().addEventListener(listener);
}
}

View file

@ -159,6 +159,11 @@ commands.moderation.rules.error.message.title = Can't write messages
commands.moderation.rules.error.message.description = I can not write messages in the specified channel
commands.moderation.rules.help.description = Setup the rules on your Discord server
commands.moderation.starboard.success.title = Successfully set the Channel\!
commands.moderation.editrules.message.title = New message
commands.moderation.editrules.message.description = Please send me the new rules message now.
commands.moderation.editrules.error.title = No rules
commands.moderation.editrules.error.description = There is nor rules message in this server. Please setup the rules first with %extra%rules
commands.moderation.editrules.help.description = Edits the rules message.
commands.music.join.success.title = Successfully connected
commands.music.join.success.description = I successfully connected to %extra%.