Added Help when args are missing or are false
This commit is contained in:
parent
b2a47da482
commit
d1b2483d0f
13 changed files with 48 additions and 17 deletions
|
|
@ -38,10 +38,11 @@ public class Hadder {
|
|||
builder.setActivity(Activity.streaming("on the BigBotNetwork", "https://twitch.tv/BigBotNetwork"));
|
||||
builder.setToken(config.getBotToken());
|
||||
|
||||
HelpCommand helpCommand = new HelpCommand();
|
||||
|
||||
CommandHandler commandHandler = new CommandHandler(
|
||||
List.of(
|
||||
new HelpCommand(),
|
||||
helpCommand,
|
||||
new TestCommand(),
|
||||
new BanCommand(),
|
||||
new PrefixCommand(),
|
||||
|
|
@ -67,7 +68,7 @@ public class Hadder {
|
|||
new FeetCommand(),
|
||||
new EroticCommand(),
|
||||
new RoleCommand(),
|
||||
new LinkCommand()), config);
|
||||
new LinkCommand()), config, helpCommand);
|
||||
|
||||
builder.addEventListeners(
|
||||
new MentionListener(rethink),
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.bbn.hadder.commands;
|
||||
|
||||
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 net.dv8tion.jda.api.JDA;
|
||||
|
|
@ -14,19 +15,22 @@ public class CommandEvent extends MessageReceivedEvent {
|
|||
private Rethink rethink;
|
||||
private Config config;
|
||||
private CommandHandler commandHandler;
|
||||
private HelpCommand helpCommand;
|
||||
|
||||
public CommandEvent(@Nonnull JDA api, long responseNumber, @Nonnull Message message, Config config, Rethink rethink, CommandHandler commandHandler) {
|
||||
public CommandEvent(@Nonnull JDA api, long responseNumber, @Nonnull Message message, Config config, Rethink rethink, CommandHandler commandHandler, HelpCommand helpCommand) {
|
||||
super(api, responseNumber, message);
|
||||
this.config = config;
|
||||
this.rethink = rethink;
|
||||
this.commandHandler = commandHandler;
|
||||
this.helpCommand = helpCommand;
|
||||
}
|
||||
|
||||
public CommandEvent(@Nonnull MessageReceivedEvent event, Config config, Rethink rethink, CommandHandler commandHandler) {
|
||||
public CommandEvent(@Nonnull MessageReceivedEvent event, Config config, Rethink rethink, CommandHandler commandHandler, HelpCommand helpCommand) {
|
||||
super(event.getJDA(), event.getResponseNumber(), event.getMessage());
|
||||
this.config = config;
|
||||
this.rethink = rethink;
|
||||
this.commandHandler = commandHandler;
|
||||
this.helpCommand = helpCommand;
|
||||
}
|
||||
|
||||
public Rethink getRethink() {
|
||||
|
|
@ -37,6 +41,10 @@ public class CommandEvent extends MessageReceivedEvent {
|
|||
return config;
|
||||
}
|
||||
|
||||
public HelpCommand getHelpCommand() {
|
||||
return helpCommand;
|
||||
}
|
||||
|
||||
public CommandHandler getCommandHandler() {
|
||||
return commandHandler;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,8 +43,7 @@ public class GifCommand implements Command {
|
|||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR, builder).setTitle("Error").setDescription("Please try again with another term.").build()).queue();
|
||||
}
|
||||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("You have to write at least one search term!").build()).queue();
|
||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,13 @@
|
|||
package com.bbn.hadder.commands.general;
|
||||
|
||||
import com.bbn.hadder.Rethink;
|
||||
import com.bbn.hadder.commands.Command;
|
||||
import com.bbn.hadder.commands.CommandEvent;
|
||||
import com.bbn.hadder.utils.MessageEditor;
|
||||
import net.dv8tion.jda.api.EmbedBuilder;
|
||||
import net.dv8tion.jda.api.Permission;
|
||||
import net.dv8tion.jda.api.entities.TextChannel;
|
||||
import net.dv8tion.jda.api.entities.User;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
|
@ -45,14 +48,7 @@ public class HelpCommand implements Command {
|
|||
for (Command cmd : event.getCommandHandler().getCommandList()) {
|
||||
for (String label : cmd.labels()) {
|
||||
if (label.toLowerCase().equals(args[0])) {
|
||||
if (!cmd.getClass().getPackageName().endsWith("owner") || (cmd.getClass().getPackageName().endsWith("owner") && (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")))) {
|
||||
EmbedBuilder eb = new EmbedBuilder();
|
||||
String name = cmd.labels()[0];
|
||||
eb.setDescription(cmd.description()).setTitle(name.replaceFirst(String.valueOf(name.charAt(0)), String.valueOf(name.charAt(0)).toUpperCase()));
|
||||
eb.addField("Usage", event.getRethink().getUserPrefix(event.getAuthor().getId()) + cmd.labels()[0] + " " + cmd.usage(), false);
|
||||
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, eb);
|
||||
event.getChannel().sendMessage(eb.build()).queue();
|
||||
}
|
||||
sendHelp(cmd, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -62,6 +58,18 @@ public class HelpCommand implements Command {
|
|||
}
|
||||
}
|
||||
|
||||
public void sendHelp(Command cmd, Rethink rethink, User author, TextChannel channel) {
|
||||
if (!cmd.getClass().getPackageName().endsWith("owner") || (cmd.getClass().getPackageName().endsWith("owner") &&
|
||||
(author.getId().equals("477141528981012511") || author.getId().equals("261083609148948488")))) {
|
||||
EmbedBuilder eb = new EmbedBuilder();
|
||||
String name = cmd.labels()[0];
|
||||
eb.setDescription(cmd.description()).setTitle(name.replaceFirst(String.valueOf(name.charAt(0)), String.valueOf(name.charAt(0)).toUpperCase()));
|
||||
eb.addField("Usage", rethink.getUserPrefix(author.getId()) + cmd.labels()[0] + " " + cmd.usage(), false);
|
||||
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, eb);
|
||||
channel.sendMessage(eb.build()).queue();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] labels() {
|
||||
return new String[]{"help"};
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ public class ScreenshareCommand implements Command {
|
|||
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR, new EmbedBuilder()
|
||||
.setTitle("Wait, that's illegal")
|
||||
.setDescription("This ID is invalid. \nMaybe you entered a wrong ID? \n\nNote: Make sure the Voice Channel is on this Guild.")).build()).queue();
|
||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
@ -51,17 +52,20 @@ public class ScreenshareCommand implements Command {
|
|||
|
||||
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR, new EmbedBuilder()
|
||||
.setTitle("You specified a wrong number!")).build()).queue();
|
||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
}
|
||||
} catch (NumberFormatException e) {
|
||||
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR, new EmbedBuilder()
|
||||
.setTitle("Wait, that's illegal")
|
||||
.setDescription("This isn't a Number.")).build()).queue();
|
||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
}
|
||||
}, event.getJDA(), event.getAuthor());
|
||||
} else if (vcs.size()==0) {
|
||||
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR, new EmbedBuilder()
|
||||
.setTitle("Hol' up")
|
||||
.setDescription("There is no Voice Channel named like this. \n\nNote: Make sure the Voice Channel is on this Guild.")).build()).queue();
|
||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
} else {
|
||||
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
||||
.setTitle("Here's your Url to share your Screen")
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ public class BanCommand implements Command {
|
|||
} else if (event.getMessage().getMentionedMembers().size() == 0) {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("You have to mention at least one user!").build()).queue();
|
||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
} else if (event.getMessage().getMentionedMembers().size() > 1) {
|
||||
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
|
||||
Member member = event.getMessage().getMentionedMembers().get(i);
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ public class ClearCommand implements Command {
|
|||
} catch (NumberFormatException e) {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("You have to specify a number!").build()).queue();
|
||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
}
|
||||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
|
|
@ -50,6 +51,7 @@ public class ClearCommand implements Command {
|
|||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("You have to specify a number!").build()).queue();
|
||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ public class GuildPrefixCommand implements Command {
|
|||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("You have to set a prefix.").build()).queue();
|
||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
}
|
||||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ public class KickCommand implements Command {
|
|||
} else if (event.getMessage().getMentionedMembers().size() == 0) {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("You have to mention at least one user!").build()).queue();
|
||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
} else if (event.getMessage().getMentionedMembers().size() > 1) {
|
||||
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
|
||||
Member member = event.getMessage().getMentionedMembers().get(i);
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import net.dv8tion.jda.api.entities.Guild;
|
|||
public class LinkCommand implements Command {
|
||||
@Override
|
||||
public void executed(String[] args, CommandEvent event) {
|
||||
if (args.length == 0) return;
|
||||
if (args.length == 0) event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
switch (args[0]) {
|
||||
|
||||
case "add":
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ public class NickCommand implements Command {
|
|||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("Missing arguments").setDescription("You have to specify a new nickname for the user(s).").build()).queue();
|
||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
}
|
||||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
|
|
@ -52,6 +53,7 @@ public class NickCommand implements Command {
|
|||
} else if (event.getMessage().getMentionedMembers().size() == 0) {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("You have to mention at least one user!").build()).queue();
|
||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
} else {
|
||||
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
|
||||
Member member = event.getMessage().getMentionedMembers().get(i);
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ public class PrefixCommand implements Command {
|
|||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("You have to set a prefix.").build()).queue();
|
||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package com.bbn.hadder.core;
|
|||
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 net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||
|
||||
import java.util.List;
|
||||
|
|
@ -11,10 +12,12 @@ public class CommandHandler {
|
|||
|
||||
private List<Command> commandList;
|
||||
private Config config;
|
||||
private HelpCommand helpCommand;
|
||||
|
||||
public CommandHandler(List<Command> commandList, Config config) {
|
||||
public CommandHandler(List<Command> commandList, Config config, HelpCommand helpCommand) {
|
||||
this.commandList = commandList;
|
||||
this.config = config;
|
||||
this.helpCommand = helpCommand;
|
||||
}
|
||||
|
||||
public void handle(MessageReceivedEvent event, Rethink rethink, String prefix) {
|
||||
|
|
@ -27,7 +30,7 @@ public class CommandHandler {
|
|||
if (argString.startsWith(" ")) argString = argString.replaceFirst(" ", "");
|
||||
String[] args = argString.split(" ");
|
||||
if (args.length>0&&args[0].equals("")) args = new String[0];
|
||||
cmd.executed(args, new CommandEvent(event, config, rethink, this));
|
||||
cmd.executed(args, new CommandEvent(event, config, rethink, this, helpCommand));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue