Interface IChannel
- Namespace
- Kook
- Assembly
- Kook.Net.Core.dll
表示一个通用的频道。
public interface IChannel : IEntity<ulong>
- Inherited Members
- Extension Methods
Properties
Name
获取此频道的名称。
string Name { get; }
Property Value
Methods
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
GetUsersAsync(CacheMode, RequestOptions?)
获取能够查看频道或当前在该频道中的所有用户。
IAsyncEnumerable<IReadOnlyCollection<IUser>> GetUsersAsync(CacheMode mode = CacheMode.AllowDownload, RequestOptions? options = null)
Parameters
mode
CacheMode指示当前方法是否应该仅从缓存中获取结果,还是可以通过 API 请求获取数据。
options
RequestOptions发送请求时要使用的选项。
Returns
- IAsyncEnumerable<IReadOnlyCollection<IUser>>
分页的用户集合的异步可枚举对象。
Remarks
important
返回的集合是一个异步可枚举对象;调用 FlattenAsync<T>(IAsyncEnumerable<IEnumerable<T>>) 可以异步枚举所有分页,并将其合并为一个集合。
此方法将尝试获取所有能够查看该频道或当前在该频道中的用户。此方法会根据 MaxUsersPerBatch 将请求拆分。换句话说,如果有 3000 名用户,而 MaxUsersPerBatch 的常量为
50
,则请求将被拆分为 60 个单独请求,因此异步枚举器会异步枚举返回 60 个响应。
FlattenAsync<T>(IAsyncEnumerable<IEnumerable<T>>)
方法可以展开这 60 个响应返回的集合,并将其合并为一个集合。