Table of Contents

Interface IGuildChannel

Namespace
Kook
Assembly
Kook.Net.Core.dll

表示一个通用的服务器频道。

public interface IGuildChannel : IChannel, IEntity<ulong>, IDeletable
Inherited Members
Extension Methods

Properties

CreatorId

获取创建此频道的用户的 ID。

ulong? CreatorId { get; }

Property Value

ulong?

Guild

获取此频道所属的服务器。

IGuild Guild { get; }

Property Value

IGuild

GuildId

获取与此频道所属的服务器的 ID。

ulong GuildId { get; }

Property Value

ulong

Position

获取此频道在服务器频道列表中的位置。

int? Position { get; }

Property Value

int?

Remarks

更小的数值表示更靠近列表顶部的位置。

RolePermissionOverwrites

获取此频道的角色的权限重写集合。

IReadOnlyCollection<RolePermissionOverwrite> RolePermissionOverwrites { get; }

Property Value

IReadOnlyCollection<RolePermissionOverwrite>

Type

获取此频道的类型。

ChannelType Type { get; }

Property Value

ChannelType

UserPermissionOverwrites

获取此频道的用户的权限重写集合。

IReadOnlyCollection<UserPermissionOverwrite> UserPermissionOverwrites { get; }

Property Value

IReadOnlyCollection<UserPermissionOverwrite>

Methods

AddPermissionOverwriteAsync(IGuildUser, RequestOptions?)

添加给定用户的权限重写配置。

Task AddPermissionOverwriteAsync(IGuildUser user, RequestOptions? options = null)

Parameters

user IGuildUser

要添加权限重写配置的用户。

options RequestOptions

发送请求时要使用的选项。

Returns

Task

一个表示异步添加频道内用户权限重写配置操作的任务。

AddPermissionOverwriteAsync(IRole, RequestOptions?)

添加给定角色的权限重写配置。

Task AddPermissionOverwriteAsync(IRole role, RequestOptions? options = null)

Parameters

role IRole

要添加权限重写配置的角色。

options RequestOptions

发送请求时要使用的选项。

Returns

Task

一个表示异步添加频道内角色权限重写配置操作的任务。

GetCreatorAsync(CacheMode, RequestOptions?)

获取此频道的创建者。

Task<IUser?> GetCreatorAsync(CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)

Parameters

mode CacheMode

指示当前方法是否应该仅从缓存中获取结果,还是可以通过 API 请求获取数据。

options RequestOptions

发送请求时要使用的选项。

Returns

Task<IUser>

一个表示异步获取操作的任务。任务的结果为此频道的创建者;如果没有找到则为 null

GetPermissionOverwrite(IRole)

获取给定角色的权限重写配置。

OverwritePermissions? GetPermissionOverwrite(IRole role)

Parameters

role IRole

要获取权限重写配置的角色。

Returns

OverwritePermissions?

一个表示目标角色的权限重写配置;如果没有设置则为 null

GetPermissionOverwrite(IUser)

获取给定用户的权限重写配置。

OverwritePermissions? GetPermissionOverwrite(IUser user)

Parameters

user IUser

要获取权限重写配置的用户。

Returns

OverwritePermissions?

一个表示目标用户的权限重写配置;如果没有设置则为 null

GetUserAsync(ulong, CacheMode, RequestOptions?)

获取此频道中的用户。

Task<IGuildUser?> GetUserAsync(ulong id, CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)

Parameters

id ulong

要获取的用户的 ID。

mode CacheMode

指示当前方法是否应该仅从缓存中获取结果,还是可以通过 API 请求获取数据。

options RequestOptions

发送请求时要使用的选项。

Returns

Task<IGuildUser>

一个表示异步获取操作的任务。任务的结果为此频道中的服务器用户;如果没有找到则为 null

GetUsersAsync(CacheMode, RequestOptions?)

获取能够查看频道或当前在此频道中的所有用户。

IAsyncEnumerable<IReadOnlyCollection<IGuildUser>> GetUsersAsync(CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)

Parameters

mode CacheMode

指示当前方法是否应该仅从缓存中获取结果,还是可以通过 API 请求获取数据。

options RequestOptions

发送请求时要使用的选项。

Returns

IAsyncEnumerable<IReadOnlyCollection<IGuildUser>>

分页的服务器用户集合的异步可枚举对象。

Remarks

important

返回的集合是一个异步可枚举对象;调用 FlattenAsync<T>(IAsyncEnumerable<IEnumerable<T>>) 可以异步枚举所有分页,并将其合并为一个集合。


此方法将尝试获取所有能够查看该频道或当前在该频道中的用户。此方法会根据 MaxUsersPerBatch 将请求拆分。换句话说,如果有 3000 名用户,而 MaxUsersPerBatch 的常量为 50,则请求将被拆分为 60 个单独请求,因此异步枚举器会异步枚举返回 60 个响应。 FlattenAsync<T>(IAsyncEnumerable<IEnumerable<T>>) 方法可以展开这 60 个响应返回的集合,并将其合并为一个集合。

ModifyAsync(Action<ModifyGuildChannelProperties>, RequestOptions?)

修改此服务器频道。

Task ModifyAsync(Action<ModifyGuildChannelProperties> func, RequestOptions? options = null)

Parameters

func Action<ModifyGuildChannelProperties>

一个包含修改服务器频道属性的委托。

options RequestOptions

发送请求时要使用的选项。

Returns

Task

一个表示服务器频道属性修改操作的异步任务。

See Also

ModifyPermissionOverwriteAsync(IGuildUser, Func<OverwritePermissions, OverwritePermissions>, RequestOptions?)

更新给定用户的权限重写配置。

Task ModifyPermissionOverwriteAsync(IGuildUser user, Func<OverwritePermissions, OverwritePermissions> func, RequestOptions? options = null)

Parameters

user IGuildUser

要更新权限重写配置的用户。

func Func<OverwritePermissions, OverwritePermissions>

一个包含修改权限重写配置的委托。

options RequestOptions

发送请求时要使用的选项。

Returns

Task

一个表示异步更新频道内用户权限重写配置操作的任务。

ModifyPermissionOverwriteAsync(IRole, Func<OverwritePermissions, OverwritePermissions>, RequestOptions?)

更新给定角色的权限重写配置。

Task ModifyPermissionOverwriteAsync(IRole role, Func<OverwritePermissions, OverwritePermissions> func, RequestOptions? options = null)

Parameters

role IRole

要更新权限重写配置的角色。

func Func<OverwritePermissions, OverwritePermissions>

一个包含修改权限重写配置的委托。

options RequestOptions

发送请求时要使用的选项。

Returns

Task

一个表示异步更新频道内角色权限重写配置操作的任务。

RemovePermissionOverwriteAsync(IGuildUser, RequestOptions?)

对于给定的用户,如果存在权限重写配置,则移除它。

Task RemovePermissionOverwriteAsync(IGuildUser user, RequestOptions? options = null)

Parameters

user IGuildUser

要对其移除权限重写配置的用户。

options RequestOptions

发送请求时要使用的选项。

Returns

Task

一个表示异步移除频道内用户权限重写配置操作的任务。

RemovePermissionOverwriteAsync(IRole, RequestOptions?)

对于给定的角色,如果存在权限重写配置,则移除它。

Task RemovePermissionOverwriteAsync(IRole role, RequestOptions? options = null)

Parameters

role IRole

要对其移除权限重写配置的角色。

options RequestOptions

发送请求时要使用的选项。

Returns

Task

一个表示异步移除频道内角色权限重写配置操作的任务。