Table of Contents

Class KookRestClient

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

表示一个基于 REST 的 KOOK 客户端。

public class KookRestClient : BaseKookClient, IKookClient, IDisposable
Inheritance
KookRestClient
Implements
Derived
Inherited Members
Extension Methods

Constructors

KookRestClient()

使用默认配置初始化一个 KookRestClient 类的新实例。

public KookRestClient()

KookRestClient(KookRestConfig)

使用指定的配置初始化一个 KookRestClient 类的新实例。

public KookRestClient(KookRestConfig config)

Parameters

config KookRestConfig

用于初始化客户端的配置。

Properties

CurrentUser

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

public RestSelfUser? CurrentUser { get; }

Property Value

RestSelfUser

Methods

AddDirectMessageReactionAsync(Guid, IEmote, RequestOptions?)

向指定的私聊消息添加一个回应。

public Task AddDirectMessageReactionAsync(Guid messageId, IEmote emote, RequestOptions? options = null)

Parameters

messageId Guid

要为其添加回应的消息的 ID。

emote IEmote

要用于向指定消息添加回应的表情符号。

options RequestOptions

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

Returns

Task

一个表示添加添加异步操作的任务。

AddReactionAsync(Guid, IEmote, RequestOptions?)

向指定的消息添加一个回应。

public Task AddReactionAsync(Guid messageId, IEmote emote, RequestOptions? options = null)

Parameters

messageId Guid

要为其添加回应的消息的 ID。

emote IEmote

要用于向指定消息添加回应的表情符号。

options RequestOptions

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

Returns

Task

一个表示添加添加异步操作的任务。

AddRoleAsync(ulong, ulong, uint, RequestOptions?)

在指定服务器内授予指定用户指定的角色。

public Task AddRoleAsync(ulong guildId, ulong userId, uint roleId, RequestOptions? options = null)

Parameters

guildId ulong

要授予的角色及服务器用户所在的服务器的 ID。

userId ulong

要为其授予角色的用户的 ID。

roleId uint

要授予的角色的 ID。

options RequestOptions

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

Returns

Task

一个表示异步授予操作的任务。

CreateAssetAsync(Stream, string, RequestOptions?)

从文件的流上传并创建一个资源。

public Task<string> CreateAssetAsync(Stream stream, string filename, RequestOptions? options = null)

Parameters

stream Stream

文件的流。

filename string

文件名。

options RequestOptions

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

Returns

Task<string>

一个表示异步创建操作的任务。任务的结果是上传文件后的资源地址 URL。

CreateAssetAsync(string, string?, RequestOptions?)

从文件路径上传并创建一个资源。

public Task<string> CreateAssetAsync(string path, string? filename = null, RequestOptions? options = null)

Parameters

path string

文件的路径。

filename string

文件名。

options RequestOptions

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

Returns

Task<string>

一个表示异步创建操作的任务。任务的结果是上传文件后的资源地址 URL。

CreateGameAsync(string, string?, string?, RequestOptions?)

创建一款游戏的信息。

public Task<RestGame> CreateGameAsync(string name, string? processName = null, string? iconUrl = null, RequestOptions? options = null)

Parameters

name string

游戏的名称。

processName string

游戏进程的名称。

iconUrl string

游戏图标的资源地址 URL。

options RequestOptions

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

Returns

Task<RestGame>

一个表示异步创建操作的任务。任务的结果是所创建的游戏信息。

GetBlockedUsersAsync(RequestOptions?)

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

public Task<IReadOnlyCollection<RestUser>> GetBlockedUsersAsync(RequestOptions? options = null)

Parameters

options RequestOptions

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

Returns

Task<IReadOnlyCollection<RestUser>>

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

GetChannelAsync(ulong, RequestOptions?)

获取一个频道。

public Task<RestChannel> GetChannelAsync(ulong id, RequestOptions? options = null)

Parameters

id ulong

频道的 ID。

options RequestOptions

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

Returns

Task<RestChannel>

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

GetDMChannelAsync(Guid, RequestOptions?)

获取一个私聊频道。

public Task<RestDMChannel> GetDMChannelAsync(Guid chatCode, RequestOptions? options = null)

Parameters

chatCode Guid

私聊频道的聊天代码。

options RequestOptions

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

Returns

Task<RestDMChannel>

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

GetDMChannelsAsync(RequestOptions?)

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

public Task<IReadOnlyCollection<RestDMChannel>> GetDMChannelsAsync(RequestOptions? options = null)

Parameters

options RequestOptions

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

Returns

Task<IReadOnlyCollection<RestDMChannel>>

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

Remarks

warning

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

GetFriendRequestsAsync(RequestOptions?)

获取所有好友请求。

public Task<IReadOnlyCollection<RestFriendRequest>> GetFriendRequestsAsync(RequestOptions? options = null)

Parameters

options RequestOptions

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

Returns

Task<IReadOnlyCollection<RestFriendRequest>>

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

GetFriendsAsync(RequestOptions?)

获取所有好友。

public Task<IReadOnlyCollection<RestUser>> GetFriendsAsync(RequestOptions? options = null)

Parameters

options RequestOptions

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

Returns

Task<IReadOnlyCollection<RestUser>>

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

GetGamesAsync(GameCreationSource?, RequestOptions?)

获取所有游戏信息。

public IAsyncEnumerable<IReadOnlyCollection<RestGame>> GetGamesAsync(GameCreationSource? source = null, RequestOptions? options = null)

Parameters

source GameCreationSource?

要获取的游戏信息的创建来源。

options RequestOptions

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

Returns

IAsyncEnumerable<IReadOnlyCollection<RestGame>>

分页的游戏信息集合的异步可枚举对象。

Remarks

important

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


此方法将尝试获取所有具有指定创建源的游戏信息。此方法会根据 MaxItemsPerBatchByDefault 将请求拆分。换句话说,如果有 3000 款游戏的信息,而 MaxItemsPerBatchByDefault 的常量为 100,则请求将被拆分为 30 个单独请求,因此异步枚举器会异步枚举返回 30 个响应。 FlattenAsync<T>(IAsyncEnumerable<IEnumerable<T>>) 方法可以展开这 30 个响应返回的集合,并将其合并为一个集合。

GetGuildAsync(ulong, RequestOptions?)

获取一个服务器。

public Task<RestGuild> GetGuildAsync(ulong id, RequestOptions? options = null)

Parameters

id ulong

服务器的 ID。

options RequestOptions

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

Returns

Task<RestGuild>

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

GetGuildUserAsync(ulong, ulong, RequestOptions?)

获取一个服务器用户。

public Task<RestGuildUser?> GetGuildUserAsync(ulong guildId, ulong id, RequestOptions? options = null)

Parameters

guildId ulong

服务器的 ID。

id ulong

用户的 ID。

options RequestOptions

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

Returns

Task<RestGuildUser>

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

GetGuildsAsync(RequestOptions?)

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

public Task<IReadOnlyCollection<RestGuild>> GetGuildsAsync(RequestOptions? options = null)

Parameters

options RequestOptions

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

Returns

Task<IReadOnlyCollection<RestGuild>>

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

GetUserAsync(ulong, RequestOptions?)

获取一个用户。

public Task<RestUser> GetUserAsync(ulong id, RequestOptions? options = null)

Parameters

id ulong

用户的 ID。

options RequestOptions

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

Returns

Task<RestUser>

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

RemoveDirectMessageReactionAsync(Guid, ulong, IEmote, RequestOptions?)

从指定的私聊消息移除一个回应。

public Task RemoveDirectMessageReactionAsync(Guid messageId, ulong userId, IEmote emote, RequestOptions? options = null)

Parameters

messageId Guid

要从中移除回应的消息的 ID。

userId ulong

要移除其回应的用户的 ID。

emote IEmote

要从指定消息移除的回应的表情符号。

options RequestOptions

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

Returns

Task

一个表示异步移除操作的任务。

RemoveReactionAsync(Guid, ulong, IEmote, RequestOptions?)

从指定的消息移除一个回应。

public Task RemoveReactionAsync(Guid messageId, ulong userId, IEmote emote, RequestOptions? options = null)

Parameters

messageId Guid

要从中移除回应的消息的 ID。

userId ulong

要移除其回应的用户的 ID。

emote IEmote

要从指定消息移除的回应的表情符号。

options RequestOptions

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

Returns

Task

一个表示异步移除操作的任务。

RemoveRoleAsync(ulong, ulong, uint, RequestOptions?)

在指定服务器内撤销指定用户指定的角色。

public Task RemoveRoleAsync(ulong guildId, ulong userId, uint roleId, RequestOptions? options = null)

Parameters

guildId ulong

要撤销的角色及服务器用户所在的服务器的 ID。

userId ulong

要为其撤销角色的用户的 ID。

roleId uint

要撤销的角色的 ID。

options RequestOptions

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

Returns

Task

一个表示异步撤销操作的任务。