Table of Contents

Interface IKookClient

Namespace
Kook
Assembly
Kook.Net.Core.dll

表示一个通用的 KOOK 客户端。

public interface IKookClient : IDisposable
Inherited Members

Properties

ConnectionState

获取当前连接的状态。

ConnectionState ConnectionState { get; }

Property Value

ConnectionState

CurrentUser

获取当前已登录的用户;如果没有用户登录,则为 null

ISelfUser? CurrentUser { get; }

Property Value

ISelfUser

TokenType

获取已登录用户的令牌类型。

TokenType TokenType { get; }

Property Value

TokenType

Methods

GetBlockedUsersAsync(CacheMode, RequestOptions?)

获取所有被当前用户屏蔽的用户。

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

Parameters

mode CacheMode

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

options RequestOptions

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

Returns

Task<IReadOnlyCollection<IUser>>

一个表示异步获取操作的任务。任务的结果是所有被当前用户屏蔽的用户。

GetChannelAsync(ulong, CacheMode, RequestOptions?)

获取一个频道。

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

Parameters

id ulong

频道的 ID。

mode CacheMode

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

options RequestOptions

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

Returns

Task<IChannel>

一个表示异步获取操作的任务。任务的结果是具有指定 ID 的频道;若指定 ID 的频道不存在,则为 null

GetDMChannelAsync(Guid, CacheMode, RequestOptions?)

获取一个私聊频道。

Task<IDMChannel?> GetDMChannelAsync(Guid chatCode, CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)

Parameters

chatCode Guid

私聊频道的聊天代码。

mode CacheMode

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

options RequestOptions

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

Returns

Task<IDMChannel>

一个表示异步获取操作的任务。任务的结果是具有指定聊天代码的私聊频道;若指定聊天代码的私聊频道不存在,则为 null

GetDMChannelsAsync(CacheMode, RequestOptions?)

获取当前会话中已创建的所有私聊频道。

Task<IReadOnlyCollection<IDMChannel>> GetDMChannelsAsync(CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)

Parameters

mode CacheMode

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

options RequestOptions

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

Returns

Task<IReadOnlyCollection<IDMChannel>>

一个表示异步获取操作的任务。任务的结果是当前会话中已创建的所有私聊频道。

Remarks

warning

此方法不会返回当前会话之外已创建的私聊频道。如果客户端刚刚启动,这可能会返回一个空集合。

GetFriendRequestsAsync(CacheMode, RequestOptions?)

获取所有好友请求。

Task<IReadOnlyCollection<IFriendRequest>> GetFriendRequestsAsync(CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)

Parameters

mode CacheMode

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

options RequestOptions

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

Returns

Task<IReadOnlyCollection<IFriendRequest>>

一个表示异步获取操作的任务。任务的结果是所有请求与当前用户成为好友的用户。

GetFriendsAsync(CacheMode, RequestOptions?)

获取所有好友。

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

Parameters

mode CacheMode

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

options RequestOptions

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

Returns

Task<IReadOnlyCollection<IUser>>

一个表示异步获取操作的任务。任务的结果是所有与当前用户是好友的用户。

GetGuildAsync(ulong, CacheMode, RequestOptions?)

获取一个服务器。

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

Parameters

id ulong

服务器的 ID。

mode CacheMode

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

options RequestOptions

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

Returns

Task<IGuild>

一个表示异步获取操作的任务。任务的结果是具有指定 ID 的服务器;若指定 ID 的服务器不存在,则为 null

GetGuildsAsync(CacheMode, RequestOptions?)

获取当前用户所在的所有服务器。

Task<IReadOnlyCollection<IGuild>> GetGuildsAsync(CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)

Parameters

mode CacheMode

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

options RequestOptions

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

Returns

Task<IReadOnlyCollection<IGuild>>

一个表示异步获取操作的任务。任务的结果是当前用户所在的所有服务器。

GetUserAsync(string, string, RequestOptions?)

获取一个用户。

Task<IUser?> GetUserAsync(string username, string identifyNumber, RequestOptions? options = null)

Parameters

username string

用户的名称。

identifyNumber string

用户的识别号。

options RequestOptions

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

Returns

Task<IUser>

一个表示异步获取操作的任务。任务的结果是具有指定的名称和识别号的用户;如果未找到该用户,则为 null

GetUserAsync(ulong, CacheMode, RequestOptions?)

获取一个用户。

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

Parameters

id ulong

用户的 ID。

mode CacheMode

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

options RequestOptions

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

Returns

Task<IUser>

一个表示异步获取操作的任务。任务的结果是具有指定 ID 的用户;若指定 ID 的用户不存在,则为 null

LoginAsync(TokenType, string, bool)

登录到 KOOK API。

Task LoginAsync(TokenType tokenType, string token, bool validateToken = true)

Parameters

tokenType TokenType

要使用的令牌类型。

token string

要使用的令牌。

validateToken bool

是否验证令牌。

Returns

Task

一个表示异步登录操作的任务。

Remarks

验证令牌的操作是通过 ValidateToken(TokenType, string) 方法完成的。
此方法用于向当前客户端设置后续 API 请求的身份验证信息,获取并设置当前所登录用户的信息。

LogoutAsync()

从 KOOK API 退出登录。

Task LogoutAsync()

Returns

Task

一个表示异步退出登录操作的任务。

Remarks

此方法用于清除当前客户端的身份验证信息及所缓存的当前所登录的用户信息。

StartAsync()

启动客户端与 KOOK 之间的连接。

Task StartAsync()

Returns

Task

一个表示异步启动操作的任务。

Remarks

当前方法会初始化客户端与 KOOK 之间的连接。

important

此方法会在调用后立即返回,因为它会在另一个线程上初始化连接。

StopAsync()

停止客户端与 KOOK 之间的连接。

Task StopAsync()

Returns

Task

一个表示异步停止操作的任务。