Category

interface Category : IDContainer

一个 类别 。 常表现为"类别"、"分类"、"分组"等含义,默认应用于 UserInfo 和 OrganizationInfo 中。

Category 是一个不够稳定的存在:simbot无法保证何时何地何种组件中会存在“分组”,也无法保证组件中能够支持获取组件。 因此 Category 的定义中仅提供两个最基础且存在可能性最高的两个属性:id 和 name。

对于 id 和 name 来讲,他们两个其中至少也需要存在一个,而当信息无法同时满足二者时,它们会进行互补:如果仅存在 id 而不存在 name, 则 name 的值即为 id 的字面值;相反,如果组件只能提供 name 而无法提供 id,则 id 等同于将 name 作为字面量的 love.forte.simbot.CharSequenceID。

因此,id 与 name 之间是 互补不为空 的。

提供了一个针对定义属性的简单实现类型 SimpleCategory 来应对简单场景。 而对于支持更加复杂的 Category 的情况,需要由具体组件提供更细致的定制实现。

Author

ForteScarlet

See also

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
abstract override val id: ID

此分类的唯一标识。

Link copied to clipboard
abstract val name: String

此分类的名称。

Inheritors

Link copied to clipboard

Extensions

Link copied to clipboard
inline operator fun Category.component1(): ID

提供 Category 的解构扩展。第1个参数,代表 Category.id。

Link copied to clipboard
inline operator fun Category.component2(): String

提供 Category 的解构扩展。第2个参数,代表 Category.name。

Link copied to clipboard

比较两个 IDContainer 的 IDContainer.id 是否一致。