Interface TopLevelGuildChannel
- All Superinterfaces:
Channel
,DiscordObject
,Entity
,GuildChannel
- All Known Subinterfaces:
AudioChannel
,CategorizableChannel
,TopLevelGuildMessageChannel
- All Known Implementing Classes:
Category
,NewsChannel
,StageChannel
,StoreChannel
,TextChannel
,VoiceChannel
A Discord channel in a guild that isn't a thread.
-
Nested Class Summary
Nested classes/interfaces inherited from interface discord4j.core.object.entity.channel.Channel
Channel.Type
-
Method Summary
Modifier and TypeMethodDescriptionaddMemberOverwrite
(Snowflake memberId, PermissionOverwrite overwrite) Requests to add a permission overwrite for the given member.addMemberOverwrite
(Snowflake memberId, PermissionOverwrite overwrite, String reason) Requests to add a permission overwrite for the given member while optionally specifying a reason.addRoleOverwrite
(Snowflake roleId, PermissionOverwrite overwrite) Requests to add a permission overwrite for the given role.addRoleOverwrite
(Snowflake roleId, PermissionOverwrite overwrite, String reason) Requests to add a permission overwrite for the given role while optionally specifying a reason.default Optional<ExtendedPermissionOverwrite>
getOverwriteForMember
(Snowflake memberId) Gets the permission overwrite targeting the given member.default Optional<ExtendedPermissionOverwrite>
getOverwriteForRole
(Snowflake roleId) Gets the permission overwrite targeting the given role.default Set<ExtendedPermissionOverwrite>
Gets the permission overwrites for this channel.Requests to retrieve the position of the channel relative to other channels in the guild.default int
Gets the raw position of the channel as exposed by Discord.Methods inherited from interface discord4j.core.object.entity.channel.Channel
delete, delete, getData, getId, getMention, getRestChannel, getType
Methods inherited from interface discord4j.core.object.DiscordObject
getClient
Methods inherited from interface discord4j.core.object.entity.channel.GuildChannel
getEffectivePermissions, getEffectivePermissions, getGuild, getGuild, getGuildId, getName
-
Method Details
-
getPermissionOverwrites
Gets the permission overwrites for this channel.- Returns:
- The permission overwrites for this channel.
-
getOverwriteForMember
Gets the permission overwrite targeting the given member.- Parameters:
memberId
- The ID of the member to get the overwrite for.- Returns:
- The permission overwrite targeting the given member.
-
getOverwriteForRole
Gets the permission overwrite targeting the given role.- Parameters:
roleId
- The ID of the role to get the overwrite for.- Returns:
- The permission overwrite targeting the given role.
-
addMemberOverwrite
Requests to add a permission overwrite for the given member.- Parameters:
memberId
- The ID of the member to add the overwrite for.overwrite
- The overwrite to add.- Returns:
- A
Mono
where, upon successful completion, emits nothing; If an error is received, it is emitted through theMono
.
-
addMemberOverwrite
default Mono<Void> addMemberOverwrite(Snowflake memberId, PermissionOverwrite overwrite, @Nullable String reason) Requests to add a permission overwrite for the given member while optionally specifying a reason.- Parameters:
memberId
- The ID of the member to add the overwrite for.overwrite
- The overwrite to add.reason
- The reason, if present.- Returns:
- A
Mono
where, upon successful completion, emits nothing; If an error is received, it is emitted through theMono
.
-
addRoleOverwrite
Requests to add a permission overwrite for the given role.- Parameters:
roleId
- The ID of the role to add the overwrite for.overwrite
- The overwrite to add.- Returns:
- A
Mono
where, upon successful completion, emits nothing; If an error is received, it is emitted through theMono
.
-
addRoleOverwrite
default Mono<Void> addRoleOverwrite(Snowflake roleId, PermissionOverwrite overwrite, @Nullable String reason) Requests to add a permission overwrite for the given role while optionally specifying a reason.- Parameters:
roleId
- The ID of the role to add the overwrite for.overwrite
- The overwrite to add.reason
- The reason, if present.- Returns:
- A
Mono
where, upon successful completion, emits nothing; If an error is received, it is emitted through theMono
.
-
getRawPosition
default int getRawPosition()Gets the raw position of the channel as exposed by Discord. This may or may not be accurate with relativity to other channels in the guild.- Returns:
- The raw position of the channel.
-
getPosition
Requests to retrieve the position of the channel relative to other channels in the guild.This is determined by the index of this channel in the
sorted
list of channels of the guild.Warning: Because this method must sort the guild channels, it is inefficient to make repeated invocations for the same set of channels (meaning that channels haven't been added or removed). For example, instead of writing:
guild.getChannels() .flatMap(c -> c.getPosition().map(pos -> c.getName() + " : " + pos))
guild.getChannels() .transform(OrderUtil::orderGuildChannels) .index((pos, c) -> c.getName() + " : " + pos)
- Returns:
- A
Mono
where, upon successful completion, emits the position of the channel. If an error is received, it is emitted through theMono
.
-