Category

interface Category : IDContainer

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

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

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

因此,idname 之间是 互补不为空 的。

提供了一个针对定义属性的简单实现类型 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

比较两个 IDContainerIDContainer.id 是否一致。