Table of Contents

Class SocketGuildChannel

Namespace
Kook.WebSocket
Assembly
Kook.Net.WebSocket.dll

表示一个基于网关的服务器频道。

public class SocketGuildChannel : SocketChannel, IUpdateable, IGuildChannel, IChannel, IEntity<ulong>, IDeletable
Inheritance
SocketGuildChannel
Implements
Derived
Inherited Members
Extension Methods

Properties

Creator

获取创建此频道的用户。

public SocketGuildUser? Creator { get; }

Property Value

SocketGuildUser

Remarks

此属性会尝试从缓存的用户列表中获取此频道的创建者。如果用户不是此服务器的成员,或该用户不在本地缓存的用户列表中,则此属性将返回 null。在这种情况下,可以尝试通过 GetUserAsync(ulong, CacheMode, RequestOptions?) 获取指定的用户信息。

CreatorId

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

public ulong? CreatorId { get; }

Property Value

ulong?

Guild

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

public SocketGuild Guild { get; }

Property Value

SocketGuild

Name

获取此频道的名称。

public string Name { get; }

Property Value

string

Position

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

public int? Position { get; }

Property Value

int?

Remarks

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

RolePermissionOverwrites

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

public IReadOnlyCollection<RolePermissionOverwrite> RolePermissionOverwrites { get; }

Property Value

IReadOnlyCollection<RolePermissionOverwrite>

Type

获取此频道的类型。

public ChannelType Type { get; }

Property Value

ChannelType

UserPermissionOverwrites

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

public IReadOnlyCollection<UserPermissionOverwrite> UserPermissionOverwrites { get; }

Property Value

IReadOnlyCollection<UserPermissionOverwrite>

Users

获取用户缓存列表中的可以访问此频道的所有用户。

public virtual IReadOnlyCollection<SocketGuildUser> Users { get; }

Property Value

IReadOnlyCollection<SocketGuildUser>

Remarks

此属性仅会返回缓存中可以访问此频道的所有用户,如果未启用用户列表缓存,或者由于网关事件确实导致本地缓存不同步,此属性所返回的用户列表可能不准确。

Methods

AddPermissionOverwriteAsync(IGuildUser, RequestOptions?)

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

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

Parameters

user IGuildUser

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

options RequestOptions

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

Returns

Task

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

AddPermissionOverwriteAsync(IRole, RequestOptions?)

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

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

Parameters

role IRole

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

options RequestOptions

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

Returns

Task

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

DeleteAsync(RequestOptions?)

删除此对实体象及其所有子实体对象。

public Task DeleteAsync(RequestOptions? options = null)

Parameters

options RequestOptions

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

Returns

Task

GetPermissionOverwrite(IRole)

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

public virtual OverwritePermissions? GetPermissionOverwrite(IRole role)

Parameters

role IRole

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

Returns

OverwritePermissions?

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

GetPermissionOverwrite(IUser)

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

public virtual OverwritePermissions? GetPermissionOverwrite(IUser user)

Parameters

user IUser

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

Returns

OverwritePermissions?

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

GetUser(ulong)

获取此频道中的一个服务器用户。

public virtual SocketGuildUser? GetUser(ulong id)

Parameters

id ulong

要获取的服务器用户的 ID。

Returns

SocketGuildUser

如果找到了具有指定 ID 的服务器用户,则返回该用户;否则返回 null

ModifyAsync(Action<ModifyGuildChannelProperties>, RequestOptions?)

修改此服务器频道。

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

Parameters

func Action<ModifyGuildChannelProperties>

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

options RequestOptions

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

Returns

Task

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

See Also

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

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

public 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?)

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

public 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?)

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

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

Parameters

user IGuildUser

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

options RequestOptions

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

Returns

Task

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

RemovePermissionOverwriteAsync(IRole, RequestOptions?)

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

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

Parameters

role IRole

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

options RequestOptions

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

Returns

Task

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

ToString()

获取此频道的名称。

public override string ToString()

Returns

string

UpdateAsync(RequestOptions?)

通过 REST API 获取此实体对象的最新状态,并替换当前对象的属性。

public override Task UpdateAsync(RequestOptions? options = null)

Parameters

options RequestOptions

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

Returns

Task

一个表示异步更新操作的任务。

Remarks

warning

此方法将从 KOOK REST API 获取最新数据,并替换当前对象的属性,而非使用指定的属性修改 KOOK 服务端的数据。