Class GenericCommandInteractionEvent
- All Implemented Interfaces:
ISnowflake
,GenericEvent
,IDeferrableCallback
,IReplyCallback
,CommandInteraction
,CommandInteractionPayload
,Interaction
- Direct Known Subclasses:
GenericContextInteractionEvent
,SlashCommandInteractionEvent
CommandInteraction
was used.
Requirements
To receive these events, you must unset the Interactions Endpoint URL in your application dashboard. You can simply remove the URL for this endpoint in your settings at the Discord Developers Portal.-
Constructor Summary
ConstructorDescriptionGenericCommandInteractionEvent
(JDA api, long responseNumber, CommandInteraction interaction) -
Method Summary
Modifier and TypeMethodDescriptionAcknowledge this interaction and defer the reply to a later time.long
The command id.TheType
of command this interaction is for.getHook()
TheInteractionHook
which can be used to send deferred replies or followup messages.TheInteraction
instance.getName()
The command name.The options provided by the user when this command was executed.The subcommand group name.The subcommand name.Methods inherited from class net.dv8tion.jda.api.events.interaction.GenericInteractionCreateEvent
getChannel, getGuild, getGuildLocale, getIdLong, getMember, getToken, getTypeRaw, getUser, getUserLocale, isAcknowledged
Methods inherited from class net.dv8tion.jda.api.events.Event
getJDA, getResponseNumber
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.dv8tion.jda.api.interactions.commands.CommandInteractionPayload
getCommandId, getCommandPath, getCommandString, getOption, getOptionsByName, getOptionsByType
Methods inherited from interface net.dv8tion.jda.api.interactions.Interaction
getChannel, getChannelType, getGuild, getGuildChannel, getGuildLocale, getJDA, getMember, getMessageChannel, getNewsChannel, getPrivateChannel, getTextChannel, getThreadChannel, getToken, getType, getTypeRaw, getUser, getUserLocale, getVoiceChannel, isAcknowledged, isFromGuild
Methods inherited from interface net.dv8tion.jda.api.interactions.callbacks.IReplyCallback
deferReply, reply, reply, replyEmbeds, replyEmbeds, replyFile, replyFile, replyFile, replyFile, replyFormat
Methods inherited from interface net.dv8tion.jda.api.entities.ISnowflake
getId, getIdLong, getTimeCreated
-
Constructor Details
-
GenericCommandInteractionEvent
public GenericCommandInteractionEvent(@Nonnull JDA api, long responseNumber, @Nonnull CommandInteraction interaction)
-
-
Method Details
-
getInteraction
Description copied from class:GenericInteractionCreateEvent
TheInteraction
instance.
Note that this event is a delegate which implements the same interface.- Overrides:
getInteraction
in classGenericInteractionCreateEvent
- Returns:
- The
Interaction
-
getCommandType
Description copied from interface:CommandInteractionPayload
TheType
of command this interaction is for.- Specified by:
getCommandType
in interfaceCommandInteractionPayload
- Returns:
- The command type
-
getName
Description copied from interface:CommandInteractionPayload
The command name.
This can be useful for abstractions.Note that commands can have these following structures:
/name subcommandGroup subcommandName
/name subcommandName
/name
CommandInteractionPayload.getCommandPath()
to simplify your checks.- Specified by:
getName
in interfaceCommandInteractionPayload
- Returns:
- The command name
-
getSubcommandName
Description copied from interface:CommandInteractionPayload
The subcommand name.
This can be useful for abstractions.Note that commands can have these following structures:
/name subcommandGroup subcommandName
/name subcommandName
/name
CommandInteractionPayload.getCommandPath()
to simplify your checks.- Specified by:
getSubcommandName
in interfaceCommandInteractionPayload
- Returns:
- The subcommand name, or null if this is not a subcommand
-
getSubcommandGroup
Description copied from interface:CommandInteractionPayload
The subcommand group name.
This can be useful for abstractions.Note that commands can have these following structures:
/name subcommandGroup subcommandName
/name subcommandName
/name
CommandInteractionPayload.getCommandPath()
to simplify your checks.- Specified by:
getSubcommandGroup
in interfaceCommandInteractionPayload
- Returns:
- The subcommand group name, or null if this is not a subcommand group
-
getCommandIdLong
public long getCommandIdLong()Description copied from interface:CommandInteractionPayload
The command id.
This is the id generated when a command is created viaGuild.updateCommands()
or similar.It is usually preferred to discriminate commands by the
command names
instead.- Specified by:
getCommandIdLong
in interfaceCommandInteractionPayload
- Returns:
- The command id
-
getOptions
Description copied from interface:CommandInteractionPayload
The options provided by the user when this command was executed.
Each option has a name and value.For
CommandAutoCompleteInteraction
, this might be incomplete and unvalidated. Auto-complete interactions happen on incomplete command inputs and are not validated.- Specified by:
getOptions
in interfaceCommandInteractionPayload
- Returns:
- The options passed for this command
-
getHook
Description copied from interface:IDeferrableCallback
TheInteractionHook
which can be used to send deferred replies or followup messages.- Specified by:
getHook
in interfaceIDeferrableCallback
- Returns:
- The interaction hook
-
deferReply
Description copied from interface:IReplyCallback
Acknowledge this interaction and defer the reply to a later time.
This will send a<Bot> is thinking...
message in chat that will be updated later through eitherInteractionHook.editOriginal(String)
orWebhookClient.sendMessage(String)
.You can use
deferReply(true)
to send a deferred ephemeral reply. If your initial deferred message is not ephemeral it cannot be made ephemeral later. Your first message to theInteractionHook
will inherit whether the message is ephemeral or not from this deferred reply.You only have 3 seconds to acknowledge an interaction!
When the acknowledgement is sent after the interaction expired, you will receiveErrorResponse.UNKNOWN_INTERACTION
.Use
IReplyCallback.reply(String)
to reply directly.- Specified by:
deferReply
in interfaceIReplyCallback
- Returns:
ReplyCallbackAction
-