Table of Contents

Interface IThreadCategory

Namespace
Kook
Assembly
Kook.Net.Core.dll

表示一个通用的帖子分区。

public interface IThreadCategory : IEntity<ulong>
Inherited Members

Properties

Channel

获取此帖子分区所在的帖子频道。

IThreadChannel Channel { get; }

Property Value

IThreadChannel

Name

获取帖子分区的名称。

string Name { get; }

Property Value

string

RolePermissionOverwrites

获取此帖子分区的角色的所有权限重写配置。

IReadOnlyCollection<RolePermissionOverwrite> RolePermissionOverwrites { get; }

Property Value

IReadOnlyCollection<RolePermissionOverwrite>

UserPermissionOverwrites

获取此帖子分区的用户的所有权限重写配置。

IReadOnlyCollection<UserPermissionOverwrite> UserPermissionOverwrites { get; }

Property Value

IReadOnlyCollection<UserPermissionOverwrite>

Methods

CreateThreadAsync(string, ICard, string?, IEnumerable<ThreadTag>?, RequestOptions?)

发布一个新的帖子到此帖子分区。

Task<IThread> CreateThreadAsync(string title, ICard card, string? cover = null, IEnumerable<ThreadTag>? tags = null, RequestOptions? options = null)

Parameters

title string

帖子标题。

card ICard

帖子的卡片内容。

cover string

帖子封面的图片链接。

tags IEnumerable<ThreadTag>

帖子的话题标签。

options RequestOptions

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

Returns

Task<IThread>

一个表示异步修改操作的任务。任务的结果包含新创建的帖子。

CreateThreadAsync(string, IEnumerable<ICard>, string?, IEnumerable<ThreadTag>?, RequestOptions?)

发布一个新的帖子到此帖子分区。

Task<IThread> CreateThreadAsync(string title, IEnumerable<ICard> cards, string? cover = null, IEnumerable<ThreadTag>? tags = null, RequestOptions? options = null)

Parameters

title string

帖子标题。

cards IEnumerable<ICard>

帖子的卡片内容。

cover string

帖子封面的图片链接。

tags IEnumerable<ThreadTag>

帖子的话题标签。

options RequestOptions

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

Returns

Task<IThread>

一个表示异步修改操作的任务。任务的结果包含新创建的帖子。

CreateThreadAsync(string, string, bool, string?, IEnumerable<ThreadTag>?, RequestOptions?)

发布一个新的帖子到此帖子分区。

Task<IThread> CreateThreadAsync(string title, string content, bool isKMarkdown = false, string? cover = null, IEnumerable<ThreadTag>? tags = null, RequestOptions? options = null)

Parameters

title string

帖子标题。

content string

帖子文本内容,文本将会被包装在无侧边卡片内发送。

isKMarkdown bool

是否为 KMarkdown 格式。

cover string

帖子封面的图片链接。

tags IEnumerable<ThreadTag>

帖子的话题标签。

options RequestOptions

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

Returns

Task<IThread>

一个表示异步修改操作的任务。任务的结果包含新创建的帖子。

GetThreadsAsync(IThread, ThreadSortOrder, int, RequestOptions?)

获取此帖子分区中的一些帖子。

IAsyncEnumerable<IReadOnlyCollection<IThread>> GetThreadsAsync(IThread referenceThread, ThreadSortOrder sortOrder = ThreadSortOrder.CreationTime, int limit = 30, RequestOptions? options = null)

Parameters

referenceThread IThread

要开始获取帖子的参考位置的帖子,获取的结果不包含此帖子。

sortOrder ThreadSortOrder

获取帖子列表的排序方式。

limit int

要获取的帖子数量。

options RequestOptions

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

Returns

IAsyncEnumerable<IReadOnlyCollection<IThread>>

分页的帖子集合的异步可枚举对象。

Remarks

important

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


warning

请勿一次性获取过多帖子,这可能会导致抢占式速率限制,甚至触发实际的速率限制,从而导致 Bot 服务暂停。


此方法将尝试获取此分区最新的 limit 条帖子。此方法会根据 MaxThreadsPerBatch 将请求拆分。换句话说,如果要获取 300 条帖子,而 MaxThreadsPerBatch 的常量为 30,则请求将被拆分为 10 个单独请求,因此异步枚举器会异步枚举返回 10 个响应。 FlattenAsync<T>(IAsyncEnumerable<IEnumerable<T>>) 方法可以展开这 10 个响应返回的集合,并将其合并为一个集合。

GetThreadsAsync(DateTimeOffset, ThreadSortOrder, int, RequestOptions?)

获取此帖子分区中的一些帖子。

IAsyncEnumerable<IReadOnlyCollection<IThread>> GetThreadsAsync(DateTimeOffset referenceTimestamp, ThreadSortOrder sortOrder = ThreadSortOrder.CreationTime, int limit = 30, RequestOptions? options = null)

Parameters

referenceTimestamp DateTimeOffset

要开始获取帖子的参考位置的帖子的创建时间或最后活跃时间,由 sortOrder 参数决定,获取的结果不包含其时间为此值的帖子。

sortOrder ThreadSortOrder

获取帖子列表的排序方式。

limit int

要获取的帖子数量。

options RequestOptions

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

Returns

IAsyncEnumerable<IReadOnlyCollection<IThread>>

分页的帖子集合的异步可枚举对象。

Remarks

important

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


warning

请勿一次性获取过多帖子,这可能会导致抢占式速率限制,甚至触发实际的速率限制,从而导致 Bot 服务暂停。


此方法将尝试获取此分区最新的 limit 条帖子。此方法会根据 MaxThreadsPerBatch 将请求拆分。换句话说,如果要获取 300 条帖子,而 MaxThreadsPerBatch 的常量为 30,则请求将被拆分为 10 个单独请求,因此异步枚举器会异步枚举返回 10 个响应。 FlattenAsync<T>(IAsyncEnumerable<IEnumerable<T>>) 方法可以展开这 10 个响应返回的集合,并将其合并为一个集合。

GetThreadsAsync(int, RequestOptions?)

获取此帖子分区中的最新的一些帖子。

IAsyncEnumerable<IReadOnlyCollection<IThread>> GetThreadsAsync(int limit = 30, RequestOptions? options = null)

Parameters

limit int

要获取的帖子数量。

options RequestOptions

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

Returns

IAsyncEnumerable<IReadOnlyCollection<IThread>>

分页的帖子集合的异步可枚举对象。

Remarks

important

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


warning

请勿一次性获取过多帖子,这可能会导致抢占式速率限制,甚至触发实际的速率限制,从而导致 Bot 服务暂停。


此方法将尝试获取此分区最新的 limit 条帖子。此方法会根据 MaxThreadsPerBatch 将请求拆分。换句话说,如果要获取 300 条帖子,而 MaxThreadsPerBatch 的常量为 30,则请求将被拆分为 10 个单独请求,因此异步枚举器会异步枚举返回 10 个响应。 FlattenAsync<T>(IAsyncEnumerable<IEnumerable<T>>) 方法可以展开这 10 个响应返回的集合,并将其合并为一个集合。