parent
8d3001adcf
commit
9820dd0352
8 changed files with 25 additions and 33 deletions
|
|
@ -4,7 +4,6 @@ import com.bbn.hadder.Rethink;
|
||||||
import com.bbn.hadder.commands.general.HelpCommand;
|
import com.bbn.hadder.commands.general.HelpCommand;
|
||||||
import com.bbn.hadder.core.CommandHandler;
|
import com.bbn.hadder.core.CommandHandler;
|
||||||
import com.bbn.hadder.core.Config;
|
import com.bbn.hadder.core.Config;
|
||||||
import com.bbn.hadder.utils.EventWaiter;
|
|
||||||
import com.bbn.hadder.utils.MessageEditor;
|
import com.bbn.hadder.utils.MessageEditor;
|
||||||
import net.dv8tion.jda.api.JDA;
|
import net.dv8tion.jda.api.JDA;
|
||||||
import net.dv8tion.jda.api.entities.Message;
|
import net.dv8tion.jda.api.entities.Message;
|
||||||
|
|
@ -19,16 +18,14 @@ public class CommandEvent extends MessageReceivedEvent {
|
||||||
private CommandHandler commandHandler;
|
private CommandHandler commandHandler;
|
||||||
private HelpCommand helpCommand;
|
private HelpCommand helpCommand;
|
||||||
private MessageEditor messageEditor;
|
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, EventWaiter eventWaiter) {
|
public CommandEvent(@Nonnull JDA api, long responseNumber, @Nonnull Message message, Rethink rethink, Config config, CommandHandler commandHandler, HelpCommand helpCommand, MessageEditor messageEditor) {
|
||||||
super(api, responseNumber, message);
|
super(api, responseNumber, message);
|
||||||
this.rethink = rethink;
|
this.rethink = rethink;
|
||||||
this.config = config;
|
this.config = config;
|
||||||
this.commandHandler = commandHandler;
|
this.commandHandler = commandHandler;
|
||||||
this.helpCommand = helpCommand;
|
this.helpCommand = helpCommand;
|
||||||
this.messageEditor = messageEditor;
|
this.messageEditor = messageEditor;
|
||||||
this.eventWaiter = eventWaiter;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Rethink getRethink() {
|
public Rethink getRethink() {
|
||||||
|
|
@ -50,8 +47,4 @@ public class CommandEvent extends MessageReceivedEvent {
|
||||||
public MessageEditor getMessageEditor() {
|
public MessageEditor getMessageEditor() {
|
||||||
return messageEditor;
|
return messageEditor;
|
||||||
}
|
}
|
||||||
|
|
||||||
public EventWaiter getEventWaiter() {
|
|
||||||
return eventWaiter;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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.second"), secondString, false)
|
||||||
.addField(event.getMessageEditor().getTerm( "commands.general.equals.string.result"), String.valueOf(firstString.equals(secondString)), false)
|
.addField(event.getMessageEditor().getTerm( "commands.general.equals.string.result"), String.valueOf(firstString.equals(secondString)), false)
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
}, event);
|
}, event.getJDA(), event.getAuthor());
|
||||||
}, event);
|
}, event.getJDA(), event.getAuthor());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -48,8 +48,8 @@ public class FeedbackCommand implements Command {
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}, event);
|
}, event.getJDA(), event.getAuthor());
|
||||||
}, event);
|
}, event.getJDA(), event.getAuthor());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ public class ScreenShareCommand implements Command {
|
||||||
try {
|
try {
|
||||||
if (vc.getIdLong() == Long.parseLong(args[0])) {
|
if (vc.getIdLong() == Long.parseLong(args[0])) {
|
||||||
event.getChannel().sendMessage(event.getMessageEditor().getMessage(
|
event.getChannel().sendMessage(event.getMessageEditor().getMessage(
|
||||||
MessageEditor.MessageType.INFO,
|
MessageEditor.MessageType.INFO,
|
||||||
"commands.misc.screenshare.success.title", "")
|
"commands.misc.screenshare.success.title", "")
|
||||||
.setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vc.getId() + "/").build()).queue();
|
.setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vc.getId() + "/").build()).queue();
|
||||||
return;
|
return;
|
||||||
|
|
@ -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.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.getHelpCommand().sendHelp(this, event);
|
||||||
}
|
}
|
||||||
}, event);
|
}, event.getJDA(), event.getAuthor());
|
||||||
} else if (vcs.size()==0) {
|
} 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.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);
|
event.getHelpCommand().sendHelp(this, event);
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ public class RulesCommand implements Command {
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, event);
|
}, event.getJDA(), event.getAuthor());
|
||||||
} else {
|
} else {
|
||||||
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
|
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")
|
"commands.moderation.rules.role.error.description")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
}
|
}
|
||||||
}, event);
|
}, event.getJDA(), event.getAuthor());
|
||||||
}, event);
|
}, event.getJDA(), event.getAuthor());
|
||||||
} else {
|
} else {
|
||||||
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
|
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
|
||||||
"commands.moderation.rules.error.message.title",
|
"commands.moderation.rules.error.message.title",
|
||||||
|
|
@ -165,7 +165,7 @@ public class RulesCommand implements Command {
|
||||||
"commands.moderation.rules.emote.error.equal.description")
|
"commands.moderation.rules.emote.error.equal.description")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
}
|
}
|
||||||
}, event);
|
}, event.getJDA(), event.getAuthor());
|
||||||
} else {
|
} else {
|
||||||
String aemote = event4.getMessage().getContentRaw();
|
String aemote = event4.getMessage().getContentRaw();
|
||||||
event4.getChannel().sendMessage(
|
event4.getChannel().sendMessage(
|
||||||
|
|
@ -210,10 +210,9 @@ public class RulesCommand implements Command {
|
||||||
"commands.moderation.rules.emote.error.equal.description")
|
"commands.moderation.rules.emote.error.equal.description")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
}
|
}
|
||||||
}, event
|
}, event.getJDA(), event.getAuthor());
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}, event);
|
}, event.getJDA(), event.getAuthor());
|
||||||
} else {
|
} else {
|
||||||
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
|
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,14 +15,14 @@ public class LeaveCommand implements Command {
|
||||||
if (event.getGuild().getSelfMember().getVoiceState().inVoiceChannel()) {
|
if (event.getGuild().getSelfMember().getVoiceState().inVoiceChannel()) {
|
||||||
event.getGuild().getAudioManager().closeAudioConnection();
|
event.getGuild().getAudioManager().closeAudioConnection();
|
||||||
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
|
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
|
||||||
MessageEditor.MessageType.INFO,
|
MessageEditor.MessageType.INFO,
|
||||||
"commands.music.leave.success.title",
|
"commands.music.leave.success.title",
|
||||||
"commands.music.leave.success.description")
|
"commands.music.leave.success.description")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
} else {
|
} else {
|
||||||
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
|
event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
|
||||||
MessageEditor.MessageType.WARNING,
|
MessageEditor.MessageType.WARNING,
|
||||||
"commands.music.leave.error.tile",
|
"commands.music.leave.error.tile",
|
||||||
"commands.music.leave.error.description")
|
"commands.music.leave.error.description")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
}
|
}
|
||||||
|
|
@ -30,7 +30,7 @@ public class LeaveCommand implements Command {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] labels() {
|
public String[] labels() {
|
||||||
return new String[]{"leave", "quit"};
|
return new String[]{"leave"};
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ import com.bbn.hadder.Rethink;
|
||||||
import com.bbn.hadder.commands.Command;
|
import com.bbn.hadder.commands.Command;
|
||||||
import com.bbn.hadder.commands.CommandEvent;
|
import com.bbn.hadder.commands.CommandEvent;
|
||||||
import com.bbn.hadder.commands.general.HelpCommand;
|
import com.bbn.hadder.commands.general.HelpCommand;
|
||||||
import com.bbn.hadder.utils.EventWaiter;
|
|
||||||
import com.bbn.hadder.utils.MessageEditor;
|
import com.bbn.hadder.utils.MessageEditor;
|
||||||
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||||
|
|
||||||
|
|
@ -35,7 +34,7 @@ public class CommandHandler {
|
||||||
if (args.length > 0 && args[0].equals("")) args = new String[0];
|
if (args.length > 0 && args[0].equals("")) args = new String[0];
|
||||||
|
|
||||||
CommandEvent commandEvent = new CommandEvent(event.getJDA(), event.getResponseNumber(), event.getMessage(), rethink,
|
CommandEvent commandEvent = new CommandEvent(event.getJDA(), event.getResponseNumber(), event.getMessage(), rethink,
|
||||||
config, this, helpCommand, new MessageEditor(rethink, event.getAuthor()), new EventWaiter());
|
config, this, helpCommand, new MessageEditor(rethink, event.getAuthor()));
|
||||||
if (cmd.getClass().getAnnotations().length > 0 && !Arrays.asList(cmd.getClass().getAnnotations()).contains(Perms.class)) {
|
if (cmd.getClass().getAnnotations().length > 0 && !Arrays.asList(cmd.getClass().getAnnotations()).contains(Perms.class)) {
|
||||||
for (Perm perm : cmd.getClass().getAnnotation(Perms.class).value()) {
|
for (Perm perm : cmd.getClass().getAnnotation(Perms.class).value()) {
|
||||||
if (!perm.check(commandEvent)) {
|
if (!perm.check(commandEvent)) {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.bbn.hadder.utils;
|
package com.bbn.hadder.utils;
|
||||||
|
|
||||||
import com.bbn.hadder.commands.CommandEvent;
|
import net.dv8tion.jda.api.JDA;
|
||||||
|
import net.dv8tion.jda.api.entities.User;
|
||||||
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
|
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
|
||||||
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
||||||
|
|
||||||
|
|
@ -9,20 +10,20 @@ import java.util.function.Consumer;
|
||||||
|
|
||||||
public class EventWaiter {
|
public class EventWaiter {
|
||||||
|
|
||||||
public void newOnMessageEventWaiter(Consumer<GuildMessageReceivedEvent> onEvent, CommandEvent event) {
|
public void newOnMessageEventWaiter(Consumer<GuildMessageReceivedEvent> onEvent, JDA jda, User user) {
|
||||||
Object listener = new ListenerAdapter() {
|
Object listener = new ListenerAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void onGuildMessageReceived(@Nonnull GuildMessageReceivedEvent event) {
|
public void onGuildMessageReceived(@Nonnull GuildMessageReceivedEvent event) {
|
||||||
if (event.getAuthor() == null) {
|
if (user==null) {
|
||||||
onEvent.accept(event);
|
onEvent.accept(event);
|
||||||
event.getJDA().getShardManager().removeEventListener(this);
|
event.getJDA().getShardManager().removeEventListener(this);
|
||||||
} else if (event.getAuthor().getId().equals(event.getAuthor().getId())) {
|
} else if (event.getAuthor().getId().equals(user.getId())) {
|
||||||
onEvent.accept(event);
|
onEvent.accept(event);
|
||||||
event.getJDA().getShardManager().removeEventListener(this);
|
event.getJDA().getShardManager().removeEventListener(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
event.getJDA().getShardManager().addEventListener(listener);
|
jda.getShardManager().addEventListener(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue