Package-level declarations

Types

Link copied to clipboard

BotPlugin 的标准扩展类型, 允许根据其提供的 API 检测和使用 SerializableBotConfiguration 进行配置。

Link copied to clipboard
Link copied to clipboard

BotBotManager 等相关的异常类型。

Link copied to clipboard
Link copied to clipboard

BotManager 的工厂函数,用于配置并预构建 BotManager 实例。 继承自 PluginFactory.

Link copied to clipboard

用于表示一组 BotManager

Link copied to clipboard
interface BotPlugin : Plugin

一个与 Bot 相关的插件。是一个具有特殊意义的插件类型。

Link copied to clipboard
interface BotRelations

Bot 与部分常见行为对象的关系接口, 提供获取 GuildRelationGroupRelationContactRelation 的 API 并由 Bot 实现。

Link copied to clipboard

Bot 在注册、获取等情况下发生冲突时。通常体现为 Bot.id 的重复。

Link copied to clipboard
interface ContactRelation

与联系人的关系。可用于寻找指定的联系人或查询联系人/会话的集合。

Link copied to clipboard
interface GroupRelation

与聊天群的关系。可用于寻找指定的聊天群或查询聊天群的集合。

Link copied to clipboard
interface GuildRelation

与频道服务器的关系。可用于寻找指定的频道服务器或查询频道服务器的集合。

Link copied to clipboard
abstract class JobBasedBot : Bot

一个 Bot 的基础能力实现的抽象类型。

Link copied to clipboard

一个基于 Job 并提供部分基础能力实现的 BotManager 抽象。

Link copied to clipboard

当没有找到指定 Bot 时。

Link copied to clipboard

NotSerializedBotConfigurationSerializableBotConfiguration 的一个特殊实现, 在部分场景中作为默认的实现目标,例如在某些无法反序列化的情况下作为默认实现提供。

Link copied to clipboard

基于 Kotlin Serialization 的 bot 可序列化配置。 实现 SerializableBotConfiguration 的第三方扩展类型必须至少标记 Serializable 并可基于 Kotlin Serialization 实现字符串格式的反序列化(kotlinx.serialization.StringFormat)。

Inherited functions

Link copied to clipboard
inline fun <P : BotManager> BotManagers.find(): P?

根据类型寻找某个 BotManager

Link copied to clipboard
inline fun <B : BotManager> BotManagers.get(): B

根据类型寻找某个 BotManager,如果找不到则抛出 NoSuchElementException

Link copied to clipboard
suspend fun Bot.startAndJoin()

启动当前 Bot 后挂起。

Link copied to clipboard

通过 scope 在异步中启动 Bot

Link copied to clipboard

将一个 BotManager 的集合转化为 BotManagers

Link copied to clipboard

尝试使用 register 注册并得到一个 Bot。 如果 configurable 校验通过则通过 register 注册得到 Bot, 否则得到 null

inline fun <T> AutoConfigurableBotPlugin.tryRegister(configuration: SerializableBotConfiguration, block: (Bot) -> T): T?

尝试使用 register 注册并得到一个 Bot。 如果 configurable 校验通过则通过 register 注册得到 Bot, 并用于执行 block