public abstract class AbstractCommand
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
argumentsSeparator |
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractCommand(CommandHandler handler) |
| Modifier and Type | Method and Description |
|---|---|
int |
chooseArgumentSymbols(net.dv8tion.jda.api.events.message.MessageReceivedEvent event,
java.lang.String strArgs,
int argumentId)
Designed to be overridden if
CommandArgumentConfigBuilder.enableCustomArgumentChoosing(boolean)
of any argument of the command is set to true. |
abstract void |
execute(net.dv8tion.jda.api.events.message.MessageReceivedEvent event,
CommandArguments args) |
java.lang.String |
getCmdWithArgsSignature() |
java.util.List<CommandArgumentConfig> |
getCommandArguments() |
CommandConfig |
getConfig() |
java.lang.String |
getDescription() |
java.time.Duration |
getGuildCooldown(net.dv8tion.jda.api.events.message.MessageReceivedEvent event) |
CommandHandler |
getHandler() |
CommandListType |
getListType() |
java.lang.String |
getName() |
java.util.List<java.lang.String> |
getNameAndAliases() |
java.lang.String |
getRawArgsDesc() |
java.lang.String |
getRawArgsName() |
java.util.List<net.dv8tion.jda.api.Permission> |
getRequiredDiscordPerms(net.dv8tion.jda.api.events.message.MessageReceivedEvent event)
Could be overridden for dynamic needed discord permissions calculation instead of static
Config. |
java.time.Duration |
getUserCooldown(net.dv8tion.jda.api.events.message.MessageReceivedEvent event)
Could be overridden for dynamic cooldown calculation instead of static
Config. |
java.lang.String |
getVerboseDesc() |
boolean |
hasAnyCooldown(net.dv8tion.jda.api.events.message.MessageReceivedEvent event) |
boolean |
hasGuildCooldown(net.dv8tion.jda.api.events.message.MessageReceivedEvent event)
Could be overridden so
getGuildCooldown(MessageReceivedEvent)
doesn't get called to determine if there's any cooldown.Could be useful if the getGuildCooldown(MessageReceivedEvent)
is overridden and has heavy operations. |
boolean |
hasUserCooldown(net.dv8tion.jda.api.events.message.MessageReceivedEvent event)
Could be overridden so
getUserCooldown(MessageReceivedEvent)
doesn't get called to determine if there's any cooldown.Could be useful if the getUserCooldown(MessageReceivedEvent)
is overridden and has heavy operations. |
boolean |
isExecuteInGuildOnly(net.dv8tion.jda.api.events.message.MessageReceivedEvent event)
Could be overridden for dynamic calculation instead of static
Config. |
boolean |
isRawArgs() |
boolean |
shouldExecuteIfCantCheckOrSaveCooldown(net.dv8tion.jda.api.events.message.MessageReceivedEvent event)
Could be overridden for dynamic calculation instead of static
Config. |
public static final java.lang.String argumentsSeparator
protected AbstractCommand(CommandHandler handler)
public final CommandConfig getConfig()
public final CommandHandler getHandler()
public final java.lang.String getName()
public final java.lang.String getDescription()
public final java.lang.String getVerboseDesc()
public final CommandListType getListType()
public final java.util.List<java.lang.String> getNameAndAliases()
public final java.util.List<CommandArgumentConfig> getCommandArguments()
CommandArgumentConfigBuilder which is backed by Command Handler, so changes to this list will
affect the command's argumentspublic final java.lang.String getCmdWithArgsSignature()
public final boolean isRawArgs()
public final java.lang.String getRawArgsDesc()
public final java.lang.String getRawArgsName()
public boolean isExecuteInGuildOnly(net.dv8tion.jda.api.events.message.MessageReceivedEvent event)
Config.event - context for overridingpublic boolean hasUserCooldown(net.dv8tion.jda.api.events.message.MessageReceivedEvent event)
getUserCooldown(MessageReceivedEvent)
doesn't get called to determine if there's any cooldown.getUserCooldown(MessageReceivedEvent)
is overridden and has heavy operations.event - context for overridingpublic boolean hasGuildCooldown(net.dv8tion.jda.api.events.message.MessageReceivedEvent event)
getGuildCooldown(MessageReceivedEvent)
doesn't get called to determine if there's any cooldown.getGuildCooldown(MessageReceivedEvent)
is overridden and has heavy operations.event - context for overridingpublic final boolean hasAnyCooldown(net.dv8tion.jda.api.events.message.MessageReceivedEvent event)
public boolean shouldExecuteIfCantCheckOrSaveCooldown(net.dv8tion.jda.api.events.message.MessageReceivedEvent event)
Config.event - context for overridingpublic java.time.Duration getUserCooldown(net.dv8tion.jda.api.events.message.MessageReceivedEvent event)
Config.event - context for overridingpublic java.time.Duration getGuildCooldown(net.dv8tion.jda.api.events.message.MessageReceivedEvent event)
public java.util.List<net.dv8tion.jda.api.Permission> getRequiredDiscordPerms(net.dv8tion.jda.api.events.message.MessageReceivedEvent event)
Config.event - context for overridingpublic int chooseArgumentSymbols(net.dv8tion.jda.api.events.message.MessageReceivedEvent event,
java.lang.String strArgs,
int argumentId)
CommandArgumentConfigBuilder.enableCustomArgumentChoosing(boolean)
of any argument of the command is set to true. MessageReceivedEvent for context, a String which represents
the rest of unprocessed arguments sent by user, and ID of argument being processed.event - jda on message received event, given for contextstrArgs - string containing the rest of unprocessed arguments sent by userargumentId - id of argument being processed. Necessary if several arguments marked to use
custom argument choosingCommandArgumentConfigBuilder.enableCustomArgumentChoosing(boolean)public abstract void execute(net.dv8tion.jda.api.events.message.MessageReceivedEvent event,
CommandArguments args)