Class KookRestClient
表示一个基于 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
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
CreateAssetAsync(string, string?, RequestOptions?)
从文件路径上传并创建一个资源。
public Task<string> CreateAssetAsync(string path, string? filename = null, RequestOptions? options = null)
Parameters
path
string文件的路径。
filename
string文件名。
options
RequestOptions发送请求时要使用的选项。
Returns
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
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
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
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
一个表示异步撤销操作的任务。