Interface INestedChannel
- Namespace
- Discord
- Assembly
- Discord.Net.Core.dll
Represents a type of guild channel that can be nested within a category.
public interface INestedChannel : IGuildChannel, IChannel, ISnowflakeEntity, IEntity<ulong>, IDeletable
- Inherited Members
- Extension Methods
Properties
CategoryId
Gets the parent (category) ID of this channel in the guild's channel list.
ulong? CategoryId { get; }
Property Value
- ulong?
A ulong representing the snowflake identifier of the parent of this channel; null if none is set.
Methods
CreateInviteAsync(int?, int?, bool, bool, RequestOptions)
Creates a new invite to this channel.
Task<IInviteMetadata> CreateInviteAsync(int? maxAge = 86400, int? maxUses = null, bool isTemporary = false, bool isUnique = false, RequestOptions options = null)
Parameters
maxAge
int?The time (in seconds) until the invite expires. Set to null to never expire.
maxUses
int?The max amount of times this invite may be used. Set to null to have unlimited uses.
isTemporary
boolIf true, the user accepting this invite will be kicked from the guild after closing their client.
isUnique
boolIf true, don't try to reuse a similar invite (useful for creating many unique one time use invites).
options
RequestOptionsThe options to be used when sending the request.
Returns
- Task<IInviteMetadata>
A task that represents the asynchronous invite creation operation. The task result contains an invite metadata object containing information for the created invite.
Examples
The following example creates a new invite to this channel; the invite lasts for 12 hours and can only be used 3 times throughout its lifespan.
await guildChannel.CreateInviteAsync(maxAge: 43200, maxUses: 3);
CreateInviteToApplicationAsync(DefaultApplications, int?, int?, bool, bool, RequestOptions)
Creates a new invite to this channel.
Task<IInviteMetadata> CreateInviteToApplicationAsync(DefaultApplications application, int? maxAge = 86400, int? maxUses = null, bool isTemporary = false, bool isUnique = false, RequestOptions options = null)
Parameters
application
DefaultApplicationsThe application to open for this invite.
maxAge
int?The time (in seconds) until the invite expires. Set to null to never expire.
maxUses
int?The max amount of times this invite may be used. Set to null to have unlimited uses.
isTemporary
boolIf true, the user accepting this invite will be kicked from the guild after closing their client.
isUnique
boolIf true, don't try to reuse a similar invite (useful for creating many unique one time use invites).
options
RequestOptionsThe options to be used when sending the request.
Returns
- Task<IInviteMetadata>
A task that represents the asynchronous invite creation operation. The task result contains an invite metadata object containing information for the created invite.
CreateInviteToApplicationAsync(ulong, int?, int?, bool, bool, RequestOptions)
Creates a new invite to this channel.
Task<IInviteMetadata> CreateInviteToApplicationAsync(ulong applicationId, int? maxAge = 86400, int? maxUses = null, bool isTemporary = false, bool isUnique = false, RequestOptions options = null)
Parameters
applicationId
ulongThe id of the embedded application to open for this invite.
maxAge
int?The time (in seconds) until the invite expires. Set to null to never expire.
maxUses
int?The max amount of times this invite may be used. Set to null to have unlimited uses.
isTemporary
boolIf true, the user accepting this invite will be kicked from the guild after closing their client.
isUnique
boolIf true, don't try to reuse a similar invite (useful for creating many unique one time use invites).
options
RequestOptionsThe options to be used when sending the request.
Returns
- Task<IInviteMetadata>
A task that represents the asynchronous invite creation operation. The task result contains an invite metadata object containing information for the created invite.
CreateInviteToStreamAsync(IUser, int?, int?, bool, bool, RequestOptions)
Creates a new invite to this channel.
Task<IInviteMetadata> CreateInviteToStreamAsync(IUser user, int? maxAge = 86400, int? maxUses = null, bool isTemporary = false, bool isUnique = false, RequestOptions options = null)
Parameters
user
IUserThe id of the user whose stream to display for this invite.
maxAge
int?The time (in seconds) until the invite expires. Set to null to never expire.
maxUses
int?The max amount of times this invite may be used. Set to null to have unlimited uses.
isTemporary
boolIf true, the user accepting this invite will be kicked from the guild after closing their client.
isUnique
boolIf true, don't try to reuse a similar invite (useful for creating many unique one time use invites).
options
RequestOptionsThe options to be used when sending the request.
Returns
- Task<IInviteMetadata>
A task that represents the asynchronous invite creation operation. The task result contains an invite metadata object containing information for the created invite.
Examples
The following example creates a new invite to this channel; the invite lasts for 12 hours and can only be used 3 times throughout its lifespan.
await guildChannel.CreateInviteAsync(maxAge: 43200, maxUses: 3);
GetCategoryAsync(CacheMode, RequestOptions)
Gets the parent (category) channel of this channel.
Task<ICategoryChannel> GetCategoryAsync(CacheMode mode = CacheMode.AllowDownload, RequestOptions options = null)
Parameters
mode
CacheModeThe CacheMode that determines whether the object should be fetched from cache.
options
RequestOptionsThe options to be used when sending the request.
Returns
- Task<ICategoryChannel>
A task that represents the asynchronous get operation. The task result contains the category channel representing the parent of this channel; null if none is set.
GetInvitesAsync(RequestOptions)
Gets a collection of all invites to this channel.
Task<IReadOnlyCollection<IInviteMetadata>> GetInvitesAsync(RequestOptions options = null)
Parameters
options
RequestOptionsThe options to be used when sending the request.
Returns
- Task<IReadOnlyCollection<IInviteMetadata>>
A task that represents the asynchronous get operation. The task result contains a read-only collection of invite metadata that are created for this channel.
Examples
The following example gets all of the invites that have been created in this channel and selects the most used invite.
var invites = await channel.GetInvitesAsync();
if (invites.Count == 0) return;
var invite = invites.OrderByDescending(x => x.Uses).FirstOrDefault();
SyncPermissionsAsync(RequestOptions)
Syncs the permissions of this nested channel with its parent's.
Task SyncPermissionsAsync(RequestOptions options = null)
Parameters
options
RequestOptionsThe options to be used when sending the request.
Returns
- Task
A task that represents the asynchronous operation for syncing channel permissions with its parent's.