Interface Category
-
- All Superinterfaces:
AbstractChannel
,java.lang.Comparable<GuildChannel>
,java.util.Formattable
,GuildChannel
,IMentionable
,ISnowflake
public interface Category extends GuildChannel
Represents a channel category in the official Discord API.
Categories are used to keep order in a Guild by dividing the channels into groups.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ChannelAction<Category>
createCopy()
Creates a copy of the specifiedGuildChannel
.ChannelAction<Category>
createCopy(Guild guild)
Creates a copy of the specifiedGuildChannel
in the specifiedGuild
.ChannelAction<StageChannel>
createStageChannel(java.lang.String name)
Creates a newStageChannel
with this Category as parent.ChannelAction<TextChannel>
createTextChannel(java.lang.String name)
Creates a newTextChannel
with this Category as parent.ChannelAction<VoiceChannel>
createVoiceChannel(java.lang.String name)
Creates a newVoiceChannel
with this Category as parent.java.util.List<GuildChannel>
getChannels()
AllChannels
listed for this Category
This may containVoiceChannels
,StoreChannels
, andTextChannels
!java.util.List<StoreChannel>
getStoreChannels()
AllStoreChannels
listed for this Categoryjava.util.List<TextChannel>
getTextChannels()
AllTextChannels
listed for this Categoryjava.util.List<VoiceChannel>
getVoiceChannels()
AllVoiceChannels
listed for this CategoryCategoryOrderAction
modifyTextChannelPositions()
Modifies the positional order of this Category's nestedTextChannels
andStoreChannels
.CategoryOrderAction
modifyVoiceChannelPositions()
Modifies the positional order of this Category's nestedVoiceChannels
.-
Methods inherited from interface net.dv8tion.jda.api.entities.AbstractChannel
getJDA, getName, getType
-
Methods inherited from interface net.dv8tion.jda.api.entities.GuildChannel
createInvite, createPermissionOverride, delete, getGuild, getManager, getMemberPermissionOverrides, getMembers, getParent, getPermissionOverride, getPermissionOverrides, getPosition, getPositionRaw, getRolePermissionOverrides, isSynced, putPermissionOverride, retrieveInvites, upsertPermissionOverride
-
Methods inherited from interface net.dv8tion.jda.api.entities.IMentionable
formatTo, getAsMention
-
Methods inherited from interface net.dv8tion.jda.api.entities.ISnowflake
getId, getIdLong, getTimeCreated
-
-
-
-
Method Detail
-
getChannels
@Nonnull java.util.List<GuildChannel> getChannels()
AllChannels
listed for this Category
This may containVoiceChannels
,StoreChannels
, andTextChannels
!- Returns:
- Immutable list of all child channels
-
getStoreChannels
@Nonnull java.util.List<StoreChannel> getStoreChannels()
AllStoreChannels
listed for this Category- Returns:
- Immutable list of all child StoreChannels
- Since:
- 4.0.0
-
getTextChannels
@Nonnull java.util.List<TextChannel> getTextChannels()
AllTextChannels
listed for this Category- Returns:
- Immutable list of all child TextChannels
-
getVoiceChannels
@Nonnull java.util.List<VoiceChannel> getVoiceChannels()
AllVoiceChannels
listed for this Category- Returns:
- Immutable list of all child VoiceChannels
-
createTextChannel
@Nonnull @CheckReturnValue ChannelAction<TextChannel> createTextChannel(@Nonnull java.lang.String name)
Creates a newTextChannel
with this Category as parent. For this to be successful, the logged in account has to have theMANAGE_CHANNEL
Permission in this Category.This will copy all
PermissionOverrides
of this Category! Unless the bot is unable to sync it with this category due to permission escalation. SeeIPermissionHolder.canSync(GuildChannel, GuildChannel)
for details.Possible
ErrorResponses
caused by the returnedRestAction
include the following:MISSING_PERMISSIONS
The channel could not be created due to a permission discrepancyMISSING_ACCESS
TheVIEW_CHANNEL
permission was removedMAX_CHANNELS
The maximum number of channels were exceeded
- Parameters:
name
- The name of the TextChannel to create- Returns:
- A specific
ChannelAction
This action allows to set fields for the new TextChannel before creating it - Throws:
InsufficientPermissionException
- If the logged in account does not have thePermission.MANAGE_CHANNEL
permissionjava.lang.IllegalArgumentException
- If the provided name isnull
or empty or greater than 100 characters in length
-
createVoiceChannel
@Nonnull @CheckReturnValue ChannelAction<VoiceChannel> createVoiceChannel(@Nonnull java.lang.String name)
Creates a newVoiceChannel
with this Category as parent. For this to be successful, the logged in account has to have theMANAGE_CHANNEL
Permission in this Category.This will copy all
PermissionOverrides
of this Category! Unless the bot is unable to sync it with this category due to permission escalation. SeeIPermissionHolder.canSync(GuildChannel, GuildChannel)
for details.Possible
ErrorResponses
caused by the returnedRestAction
include the following:MISSING_PERMISSIONS
The channel could not be created due to a permission discrepancyMISSING_ACCESS
TheVIEW_CHANNEL
permission was removedMAX_CHANNELS
The maximum number of channels were exceeded
- Parameters:
name
- The name of the VoiceChannel to create- Returns:
- A specific
ChannelAction
This action allows to set fields for the new VoiceChannel before creating it - Throws:
InsufficientPermissionException
- If the logged in account does not have thePermission.MANAGE_CHANNEL
permissionjava.lang.IllegalArgumentException
- If the provided name isnull
or empty or greater than 100 characters in length
-
createStageChannel
@Nonnull @CheckReturnValue ChannelAction<StageChannel> createStageChannel(@Nonnull java.lang.String name)
Creates a newStageChannel
with this Category as parent. For this to be successful, the logged in account has to have theMANAGE_CHANNEL
Permission in this Category.This will copy all
PermissionOverrides
of this Category! Unless the bot is unable to sync it with this category due to permission escalation. SeeIPermissionHolder.canSync(GuildChannel, GuildChannel)
for details.Possible
ErrorResponses
caused by the returnedRestAction
include the following:MISSING_PERMISSIONS
The channel could not be created due to a permission discrepancyMISSING_ACCESS
TheVIEW_CHANNEL
permission was removedMAX_CHANNELS
The maximum number of channels were exceeded
- Parameters:
name
- The name of the StageChannel to create- Returns:
- A specific
ChannelAction
This action allows to set fields for the new StageChannel before creating it - Throws:
InsufficientPermissionException
- If the logged in account does not have thePermission.MANAGE_CHANNEL
permissionjava.lang.IllegalArgumentException
- If the provided name isnull
or empty or greater than 100 characters in length
-
modifyTextChannelPositions
@Nonnull @CheckReturnValue CategoryOrderAction modifyTextChannelPositions()
Modifies the positional order of this Category's nestedTextChannels
andStoreChannels
.
This uses an extension ofChannelOrderAction
specialized for ordering the nestedTextChannels
andStoreChannels
of thisCategory
.
LikeChannelOrderAction
, the returnedCategoryOrderAction
can be used to move TextChannels/StoreChannelsup
,down
, orto
a specific position.
This uses ascending order with a 0 based index.Possible
ErrorResponses
include:UNNKOWN_CHANNEL
One of the channels has been deleted before the completion of the task.MISSING_ACCESS
The currently logged in account was removed from the Guild.
- Returns:
- A
CategoryOrderAction
for ordering the Category'sTextChannels
andStoreChannels
.
-
modifyVoiceChannelPositions
@Nonnull @CheckReturnValue CategoryOrderAction modifyVoiceChannelPositions()
Modifies the positional order of this Category's nestedVoiceChannels
.
This uses an extension ofChannelOrderAction
specialized for ordering the nestedVoiceChannels
of thisCategory
.
LikeChannelOrderAction
, the returnedCategoryOrderAction
can be used to move VoiceChannelsup
,down
, orto
a specific position.
This uses ascending order with a 0 based index.Possible
ErrorResponses
include:UNNKOWN_CHANNEL
One of the channels has been deleted before the completion of the task.MISSING_ACCESS
The currently logged in account was removed from the Guild.
- Returns:
- A
CategoryOrderAction
for ordering the Category'sVoiceChannels
.
-
createCopy
@Nonnull ChannelAction<Category> createCopy(@Nonnull Guild guild)
Description copied from interface:GuildChannel
Creates a copy of the specifiedGuildChannel
in the specifiedGuild
.
If the provided target guild is not the same Guild this channel is in then the parent category and permissions will not be copied due to technical difficulty and ambiguity.This copies the following elements:
- Name
- Parent Category (if present)
- Voice Elements (Bitrate, Userlimit)
- Text Elements (Topic, NSFW, Slowmode)
- All permission overrides for Members/Roles
Possible
ErrorResponses
caused by the returnedRestAction
include the following:MISSING_PERMISSIONS
The channel could not be created due to a permission discrepancyMISSING_ACCESS
TheVIEW_CHANNEL
permission was removed
- Specified by:
createCopy
in interfaceGuildChannel
- Parameters:
guild
- TheGuild
to create the channel in- Returns:
- A specific
ChannelAction
This action allows to set fields for the new GuildChannel before creating it!
-
createCopy
@Nonnull ChannelAction<Category> createCopy()
Description copied from interface:GuildChannel
Creates a copy of the specifiedGuildChannel
.This copies the following elements:
- Name
- Parent Category (if present)
- Voice Elements (Bitrate, Userlimit)
- Text Elements (Topic, NSFW, Slowmode)
- All permission overrides for Members/Roles
Possible
ErrorResponses
caused by the returnedRestAction
include the following:MISSING_PERMISSIONS
The channel could not be created due to a permission discrepancyMISSING_ACCESS
TheVIEW_CHANNEL
permission was removed
- Specified by:
createCopy
in interfaceGuildChannel
- Returns:
- A specific
ChannelAction
This action allows to set fields for the new GuildChannel before creating it!
-
-