Show / Hide Table of Contents

Class RestGuildChannel

Represents a private REST-based group channel.

Inheritance
System.Object
RestEntity<System.UInt64>
RestChannel
RestGuildChannel
RestCategoryChannel
RestTextChannel
RestVoiceChannel
Implements
IUpdateable
IGuildChannel
IChannel
ISnowflakeEntity
IEntity<System.UInt64>
IDeletable
Inherited Members
RestChannel.CreatedAt
RestChannel.IChannel.Name
RestEntity<UInt64>.Id
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Discord.Rest
Assembly: Discord.Net.Rest.dll
Syntax
public class RestGuildChannel : RestChannel, IUpdateable, IGuildChannel, IChannel, ISnowflakeEntity, IEntity<ulong>, IDeletable

Properties

| Improve this Doc View Source

GuildId

Gets the guild ID associated with this channel.

Declaration
public ulong GuildId { get; }
Property Value
Type Description
System.UInt64

An System.UInt64 representing the guild snowflake identifier for the guild that this channel belongs to.

| Improve this Doc View Source

Name

Gets the name of this channel.

Declaration
public string Name { get; }
Property Value
Type Description
System.String

A string containing the name of this channel.

| Improve this Doc View Source

PermissionOverwrites

Gets a collection of permission overwrites for this channel.

Declaration
public virtual IReadOnlyCollection<Overwrite> PermissionOverwrites { get; }
Property Value
Type Description
System.Collections.Generic.IReadOnlyCollection<Overwrite>

A collection of overwrites associated with this channel.

| Improve this Doc View Source

Position

Gets the position of this channel.

Declaration
public int Position { get; }
Property Value
Type Description
System.Int32

An System.Int32 representing the position of this channel in the guild's channel list relative to others of the same type.

Methods

| Improve this Doc View Source

AddPermissionOverwriteAsync(IRole, OverwritePermissions, RequestOptions)

Adds or updates the permission overwrite for the given role.

Declaration
public virtual Task AddPermissionOverwriteAsync(IRole role, OverwritePermissions permissions, RequestOptions options = null)
Parameters
Type Name Description
IRole role

The role to add the overwrite to.

OverwritePermissions permissions

The overwrite to add to the role.

RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Threading.Tasks.Task

A task representing the asynchronous permission operation for adding the specified permissions to the channel.

| Improve this Doc View Source

AddPermissionOverwriteAsync(IUser, OverwritePermissions, RequestOptions)

Adds or updates the permission overwrite for the given user.

Declaration
public virtual Task AddPermissionOverwriteAsync(IUser user, OverwritePermissions permissions, RequestOptions options = null)
Parameters
Type Name Description
IUser user

The user to add the overwrite to.

OverwritePermissions permissions

The overwrite to add to the user.

RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Threading.Tasks.Task

A task representing the asynchronous permission operation for adding the specified permissions to the channel.

| Improve this Doc View Source

DeleteAsync(RequestOptions)

Deletes this object and all its children.

Declaration
public Task DeleteAsync(RequestOptions options = null)
Parameters
Type Name Description
RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Threading.Tasks.Task
| Improve this Doc View Source

GetPermissionOverwrite(IRole)

Gets the permission overwrite for a specific role.

Declaration
public virtual OverwritePermissions? GetPermissionOverwrite(IRole role)
Parameters
Type Name Description
IRole role

The role to get the overwrite from.

Returns
Type Description
System.Nullable<OverwritePermissions>

An overwrite object for the targeted role; null if none is set.

| Improve this Doc View Source

GetPermissionOverwrite(IUser)

Gets the permission overwrite for a specific user.

Declaration
public virtual OverwritePermissions? GetPermissionOverwrite(IUser user)
Parameters
Type Name Description
IUser user

The user to get the overwrite from.

Returns
Type Description
System.Nullable<OverwritePermissions>

An overwrite object for the targeted user; null if none is set.

| Improve this Doc View Source

ModifyAsync(Action<GuildChannelProperties>, RequestOptions)

Modifies this guild channel.

Declaration
public Task ModifyAsync(Action<GuildChannelProperties> func, RequestOptions options = null)
Parameters
Type Name Description
System.Action<GuildChannelProperties> func

The delegate containing the properties to modify the channel with.

RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Threading.Tasks.Task

A task that represents the asynchronous modification operation.

Remarks

This method modifies the current guild channel with the specified properties. To see an example of this method and what properties are available, please refer to GuildChannelProperties.

| Improve this Doc View Source

RemovePermissionOverwriteAsync(IRole, RequestOptions)

Removes the permission overwrite for the given role, if one exists.

Declaration
public virtual Task RemovePermissionOverwriteAsync(IRole role, RequestOptions options = null)
Parameters
Type Name Description
IRole role

The role to remove the overwrite from.

RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Threading.Tasks.Task

A task representing the asynchronous operation for removing the specified permissions from the channel.

| Improve this Doc View Source

RemovePermissionOverwriteAsync(IUser, RequestOptions)

Removes the permission overwrite for the given user, if one exists.

Declaration
public virtual Task RemovePermissionOverwriteAsync(IUser user, RequestOptions options = null)
Parameters
Type Name Description
IUser user

The user to remove the overwrite from.

RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Threading.Tasks.Task

A task representing the asynchronous operation for removing the specified permissions from the channel.

| Improve this Doc View Source

ToString()

Gets the name of this channel.

Declaration
public override string ToString()
Returns
Type Description
System.String

A string that is the name of this channel.

Overrides
System.Object.ToString()
| Improve this Doc View Source

UpdateAsync(RequestOptions)

Updates this object's properties with its current state.

Declaration
public override Task UpdateAsync(RequestOptions options = null)
Parameters
Type Name Description
RequestOptions options
Returns
Type Description
System.Threading.Tasks.Task
Overrides
RestChannel.UpdateAsync(RequestOptions)

Explicit Interface Implementations

| Improve this Doc View Source

IChannel.GetUserAsync(UInt64, CacheMode, RequestOptions)

Gets a user in this channel.

Declaration
Task<IUser> IChannel.GetUserAsync(ulong id, CacheMode mode, RequestOptions options)
Parameters
Type Name Description
System.UInt64 id

The snowflake identifier of the user (e.g. 168693960628371456).

CacheMode mode

The CacheMode that determines whether the object should be fetched from cache.

RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Threading.Tasks.Task<IUser>

A task that represents the asynchronous get operation. The task result contains a user object that represents the found user; null if none is found.

| Improve this Doc View Source

IChannel.GetUsersAsync(CacheMode, RequestOptions)

Gets a collection of users that are able to view the channel or are currently in this channel.

Declaration
IAsyncEnumerable<IReadOnlyCollection<IUser>> IChannel.GetUsersAsync(CacheMode mode, RequestOptions options)
Parameters
Type Name Description
CacheMode mode

The CacheMode that determines whether the object should be fetched from cache.

RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Collections.Generic.IAsyncEnumerable<System.Collections.Generic.IReadOnlyCollection<IUser>>

Paged collection of users.

Remarks
important

The returned collection is an asynchronous enumerable object; one must call FlattenAsync<T>(IAsyncEnumerable<IEnumerable<T>>) to access the individual messages as a collection.

This method will attempt to fetch all users that is able to view this channel or is currently in this channel. The library will attempt to split up the requests according to and MaxUsersPerBatch. In other words, if there are 3000 users, and the MaxUsersPerBatch constant is 1000, the request will be split into 3 individual requests; thus returning 53individual asynchronous responses, hence the need of flattening.
| Improve this Doc View Source

IGuildChannel.AddPermissionOverwriteAsync(IRole, OverwritePermissions, RequestOptions)

Adds or updates the permission overwrite for the given role.

Declaration
Task IGuildChannel.AddPermissionOverwriteAsync(IRole role, OverwritePermissions permissions, RequestOptions options)
Parameters
Type Name Description
IRole role

The role to add the overwrite to.

OverwritePermissions permissions

The overwrite to add to the role.

RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Threading.Tasks.Task

A task representing the asynchronous permission operation for adding the specified permissions to the channel.

| Improve this Doc View Source

IGuildChannel.AddPermissionOverwriteAsync(IUser, OverwritePermissions, RequestOptions)

Adds or updates the permission overwrite for the given user.

Declaration
Task IGuildChannel.AddPermissionOverwriteAsync(IUser user, OverwritePermissions permissions, RequestOptions options)
Parameters
Type Name Description
IUser user

The user to add the overwrite to.

OverwritePermissions permissions

The overwrite to add to the user.

RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Threading.Tasks.Task

A task representing the asynchronous permission operation for adding the specified permissions to the channel.

| Improve this Doc View Source

IGuildChannel.GetPermissionOverwrite(IRole)

Gets the permission overwrite for a specific role.

Declaration
OverwritePermissions? IGuildChannel.GetPermissionOverwrite(IRole role)
Parameters
Type Name Description
IRole role

The role to get the overwrite from.

Returns
Type Description
System.Nullable<OverwritePermissions>

An overwrite object for the targeted role; null if none is set.

| Improve this Doc View Source

IGuildChannel.GetPermissionOverwrite(IUser)

Gets the permission overwrite for a specific user.

Declaration
OverwritePermissions? IGuildChannel.GetPermissionOverwrite(IUser user)
Parameters
Type Name Description
IUser user

The user to get the overwrite from.

Returns
Type Description
System.Nullable<OverwritePermissions>

An overwrite object for the targeted user; null if none is set.

| Improve this Doc View Source

IGuildChannel.GetUserAsync(UInt64, CacheMode, RequestOptions)

Gets a user in this channel.

Declaration
Task<IGuildUser> IGuildChannel.GetUserAsync(ulong id, CacheMode mode, RequestOptions options)
Parameters
Type Name Description
System.UInt64 id

The snowflake identifier of the user.

CacheMode mode

The CacheMode that determines whether the object should be fetched from cache.

RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Threading.Tasks.Task<IGuildUser>

A task representing the asynchronous get operation. The task result contains a guild user object that represents the user; null if none is found.

| Improve this Doc View Source

IGuildChannel.GetUsersAsync(CacheMode, RequestOptions)

Gets a collection of users that are able to view the channel or are currently in this channel.

Declaration
IAsyncEnumerable<IReadOnlyCollection<IGuildUser>> IGuildChannel.GetUsersAsync(CacheMode mode, RequestOptions options)
Parameters
Type Name Description
CacheMode mode

The CacheMode that determines whether the object should be fetched from cache.

RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Collections.Generic.IAsyncEnumerable<System.Collections.Generic.IReadOnlyCollection<IGuildUser>>

Paged collection of users.

Remarks

This method follows the same behavior as described in GetUsersAsync(CacheMode, RequestOptions). Please visit its documentation for more details on this method.

| Improve this Doc View Source

IGuildChannel.Guild

Gets the guild associated with this channel.

Declaration
IGuild IGuildChannel.Guild { get; }
Returns
Type Description
IGuild

A guild object that this channel belongs to.

| Improve this Doc View Source

IGuildChannel.RemovePermissionOverwriteAsync(IRole, RequestOptions)

Removes the permission overwrite for the given role, if one exists.

Declaration
Task IGuildChannel.RemovePermissionOverwriteAsync(IRole role, RequestOptions options)
Parameters
Type Name Description
IRole role

The role to remove the overwrite from.

RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Threading.Tasks.Task

A task representing the asynchronous operation for removing the specified permissions from the channel.

| Improve this Doc View Source

IGuildChannel.RemovePermissionOverwriteAsync(IUser, RequestOptions)

Removes the permission overwrite for the given user, if one exists.

Declaration
Task IGuildChannel.RemovePermissionOverwriteAsync(IUser user, RequestOptions options)
Parameters
Type Name Description
IUser user

The user to remove the overwrite from.

RequestOptions options

The options to be used when sending the request.

Returns
Type Description
System.Threading.Tasks.Task

A task representing the asynchronous operation for removing the specified permissions from the channel.

Implements

IUpdateable
IGuildChannel
IChannel
ISnowflakeEntity
IEntity<TId>
IDeletable
  • Improve this Doc
  • View Source
Back to top Generated by DocFX