Table of Contents

Class BaseKookClient

Namespace
Kook.Rest
Assembly
Kook.Net.Rest.dll

表示一个可以连接到 KOOK API 的通用的 KOOK 客户端。

public abstract class BaseKookClient : IKookClient, IDisposable
Inheritance
BaseKookClient
Implements
Derived
Inherited Members

Properties

ConnectionState

获取当前连接的状态。

public virtual ConnectionState ConnectionState { get; }

Property Value

ConnectionState

CurrentUser

获取登录到此客户端的当前用户;如果未登录,则为 null

public ISelfUser? CurrentUser { get; protected set; }

Property Value

ISelfUser

LoginState

获取此客户端的登录状态。

public LoginState LoginState { get; protected set; }

Property Value

LoginState

TokenType

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

public TokenType TokenType { get; }

Property Value

TokenType

Methods

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

public void Dispose()

LoginAsync(TokenType, string, bool)

登录到 KOOK API。

public 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 退出登录。

public Task LogoutAsync()

Returns

Task

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

Remarks

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

Events

Log

当生成一条日志消息时引发。

public event Func<LogMessage, Task> Log

Event Type

Func<LogMessage, Task>

Remarks

事件参数:

  1. LogMessage 参数是描述日志消息的结构。

LoggedIn

当客户端登录成功时引发。

public event Func<Task> LoggedIn

Event Type

Func<Task>

LoggedOut

当客户端退出登录时引发。

public event Func<Task> LoggedOut

Event Type

Func<Task>

SentRequest

当向 API 发送 REST 请求时引发。

public event Func<HttpMethod, string, double, Task> SentRequest

Event Type

Func<HttpMethod, string, double, Task>

Remarks

事件参数:

  1. HttpMethod 参数是 HTTP 方法。
  2. string 参数是终结点。
  3. double 参数是完成请求所花费的时间,以毫秒为单位。