UnsupportedMiraiEvent

所有未提供针对性实现的其他mirai事件的包装体。

UnsupportedMiraiEvent 不实现任何其他事件类型,仅实现mirai组件中的事件父类型 MiraiEvent ,是一个完全独立的事件类型。

UnsupportedMiraiEvent 可以在一定程度上满足仅升级mirai的版本而不更新simbot的版本而带来的事件增量的情况, 所有未支持的事件都会通过此类型进行推送。

如果要监听 UnsupportedMiraiEvent, 你需要谨慎处理其中的一切, 因为 UnsupportedMiraiEvent 能够提供的事件会随着当前组件实现的特定事件的增多而减少,这种减少可能会伴随着版本更新而产生,且可能不会有任何说明或错误提示。 因此你应当首先查看 MiraiEvent 下是否有所需的已经实现的事件类型,并且不应当过分依赖 UnsupportedMiraiEvent

Kotlin中,你可以通过 ifIs 来过滤类型并在匹配的时候执行逻辑, 例如:

suspend fun UnsupportedMiraiEvent.listener() {
ifIs<GroupAllowMemberInviteEvent> {
// 这是Mirai原生的消息发送方式。
group.sendMessage("'允许群员邀请好友加群'变更了: $origin -> $new")
}
}

注:实例中的事件类型仅用于演示,不保证其一定会出现在 UnsupportedMiraiEvent 中。

Author

ForteScarlet

See also

Types

Link copied to clipboard

Properties

Link copied to clipboard
open override val bot: MiraiBot
Link copied to clipboard
open override val component: Component
Link copied to clipboard
open override val id: ID

事件的唯一标识。 Mirai事件中并不一定存在id,当原始事件中没有ID的情况下,将会生成一个随机ID。

Link copied to clipboard
open override val key: Event.Key<UnsupportedMiraiEvent>
Link copied to clipboard
open override val originalEvent: Event

原始的mirai事件对象

Link copied to clipboard
open override val timestamp: Timestamp

Extensions

Link copied to clipboard
inline fun <E : Event> UnsupportedMiraiEvent.ifIs(block: E.() -> Unit)

当 metadata 中的 nativeEvent 类型符合 E 的时候,执行逻辑。