Class Commands
java.lang.Object
net.dv8tion.jda.api.interactions.commands.build.Commands
Provides various static factory methods for building commands of different types.
This also includes context menu items.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intMaximum amount of global or guild message context commandsstatic final intMaximum amount of global or guild slash commandsstatic final intMaximum amount of global or guild user context commands -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic CommandDatacontext(Command.Type type, String name) Create a context menu command builder for the specified command type.static List<CommandData>fromList(Collection<? extends DataObject> collection) Parses the provided serialization back into an CommandData instance.static List<CommandData>Parses the provided serialization back into an CommandData instance.static CommandDataCreate a message context menu command builder.static SlashCommandDataCreate a slash command builder.static CommandDataCreate a user context menu command builder.
-
Field Details
-
MAX_SLASH_COMMANDS
public static final int MAX_SLASH_COMMANDSMaximum amount of global or guild slash commands- See Also:
-
MAX_USER_COMMANDS
public static final int MAX_USER_COMMANDSMaximum amount of global or guild user context commands- See Also:
-
MAX_MESSAGE_COMMANDS
public static final int MAX_MESSAGE_COMMANDSMaximum amount of global or guild message context commands- See Also:
-
-
Constructor Details
-
Commands
public Commands()
-
-
Method Details
-
slash
Create a slash command builder.- Parameters:
name- The command name, 1-32 lowercase alphanumeric charactersdescription- The command description, 1-100 characters- Returns:
SlashCommandDatabuilder for slash commands- Throws:
IllegalArgumentException- If any of the following requirements are not met- The name must be lowercase alphanumeric (with dash), 1-32 characters long
- The description must be 1-100 characters long
-
message
Create a message context menu command builder.- Parameters:
name- The command name, 1-32 characters- Returns:
CommandData- Throws:
IllegalArgumentException- If the name is not between 1-32 characters long
-
user
Create a user context menu command builder.- Parameters:
name- The command name, 1-32 characters- Returns:
CommandData- Throws:
IllegalArgumentException- If the name is not between 1-32 characters long
-
context
Create a context menu command builder for the specified command type.
This cannot be used for slash commands, because they require a description. Useslash(String, String)to create a slash command.- Parameters:
type- The command type, must not beSLASHname- The command name, 1-32 characters- Returns:
CommandData- Throws:
IllegalArgumentException- If the name is not between 1-32 characters long, the type isCommand.Type.SLASH, or the type is null.
-
fromList
Parses the provided serialization back into an CommandData instance.
This is the reverse function forSerializableData.toData().- Parameters:
array- Array of serializedDataObjectrepresenting the commands- Returns:
- The parsed CommandData instances, which can be further configured through setters
- Throws:
ParsingException- If the serialized object is missing required fieldsIllegalArgumentException- If any of the values are failing the respective checks such as length- See Also:
-
fromList
@Nonnull public static List<CommandData> fromList(@Nonnull Collection<? extends DataObject> collection) Parses the provided serialization back into an CommandData instance.
This is the reverse function forSerializableData.toData().- Parameters:
collection- Collection of serializedDataObjectrepresenting the commands- Returns:
- The parsed CommandData instances, which can be further configured through setters
- Throws:
ParsingException- If the serialized object is missing required fieldsIllegalArgumentException- If any of the values are failing the respective checks such as length- See Also:
-