Greg dev #269
9 changed files with 38 additions and 25 deletions
|
|
@ -4,6 +4,7 @@ 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;
|
||||||
|
|
@ -18,14 +19,16 @@ 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) {
|
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);
|
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() {
|
||||||
|
|
@ -47,4 +50,8 @@ 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.getJDA(), event.getAuthor());
|
}, event);
|
||||||
}, event.getJDA(), event.getAuthor());
|
}, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -48,8 +48,8 @@ public class FeedbackCommand implements Command {
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}, event.getJDA(), event.getAuthor());
|
}, event);
|
||||||
}, event.getJDA(), event.getAuthor());
|
}, event);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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.getJDA(), event.getAuthor());
|
}, event);
|
||||||
} 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.getJDA(), event.getAuthor());
|
}, event);
|
||||||
} 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.getJDA(), event.getAuthor());
|
}, event);
|
||||||
}, event.getJDA(), event.getAuthor());
|
}, event);
|
||||||
} 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.getJDA(), event.getAuthor());
|
}, event);
|
||||||
} else {
|
} else {
|
||||||
String aemote = event4.getMessage().getContentRaw();
|
String aemote = event4.getMessage().getContentRaw();
|
||||||
event4.getChannel().sendMessage(
|
event4.getChannel().sendMessage(
|
||||||
|
|
@ -210,9 +210,10 @@ public class RulesCommand implements Command {
|
||||||
"commands.moderation.rules.emote.error.equal.description")
|
"commands.moderation.rules.emote.error.equal.description")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
}
|
}
|
||||||
}, event.getJDA(), event.getAuthor());
|
}, event
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}, event.getJDA(), event.getAuthor());
|
}, event);
|
||||||
} 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"};
|
return new String[]{"leave", "quit"};
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ 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;
|
||||||
|
|
||||||
|
|
@ -34,7 +35,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()));
|
config, this, helpCommand, new MessageEditor(rethink, event.getAuthor()), new EventWaiter());
|
||||||
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,7 +1,6 @@
|
||||||
package com.bbn.hadder.utils;
|
package com.bbn.hadder.utils;
|
||||||
|
|
||||||
import net.dv8tion.jda.api.JDA;
|
import com.bbn.hadder.commands.CommandEvent;
|
||||||
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;
|
||||||
|
|
||||||
|
|
@ -10,20 +9,20 @@ import java.util.function.Consumer;
|
||||||
|
|
||||||
public class EventWaiter {
|
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() {
|
Object listener = new ListenerAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void onGuildMessageReceived(@Nonnull GuildMessageReceivedEvent event) {
|
public void onGuildMessageReceived(@Nonnull GuildMessageReceivedEvent event) {
|
||||||
if (user==null) {
|
if (event.getAuthor() == null) {
|
||||||
onEvent.accept(event);
|
onEvent.accept(event);
|
||||||
event.getJDA().getShardManager().removeEventListener(this);
|
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);
|
onEvent.accept(event);
|
||||||
event.getJDA().getShardManager().removeEventListener(this);
|
event.getJDA().getShardManager().removeEventListener(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
jda.getShardManager().addEventListener(listener);
|
event.getJDA().getShardManager().addEventListener(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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.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.rules.help.description = Setup the rules on your Discord server
|
||||||
commands.moderation.starboard.success.title = Successfully set the Channel\!
|
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.title = Successfully connected
|
||||||
commands.music.join.success.description = I successfully connected to %extra%.
|
commands.music.join.success.description = I successfully connected to %extra%.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue