RequestEvent

请求 有关的事件。

常见情况下,一个请求可能有两种情况:

  • 外界向当前bot为某种目的而发出的申请。比如一个入群申请、好友添加申请。

  • 外界向当前bot所发出的一种邀请。比如对BOT的入群邀请。

一个请求可能会有一些附加信息, 例如一些属性或者文本消息。 目前提供了一个 message 来代表一次申请中可能存在的 文本消息。 如果实现实现不支持此属性或者属性为空,将得到null。

Author

ForteScarlet

See also

Inheritors

Types

Link copied to clipboard
Link copied to clipboard

Properties

Link copied to clipboard
abstract override val bot: Bot

当前Bot

Link copied to clipboard
open override val component: Component

一个事件所属的组件。 通常与 bot 的组件所属一致。

Link copied to clipboard
abstract override val id: ID

事件标识。

Link copied to clipboard
abstract val key: Event.Key<out Event>

得到当前事件所对应的类型key。

Link copied to clipboard
abstract val message: String?

一个申请事件可能会存在附加的文本消息。

Link copied to clipboard
abstract val timestamp: Timestamp

此时间发生的时间戳。

Link copied to clipboard
abstract val type: RequestEvent.Type

此申请的类型。

Functions

Link copied to clipboard
abstract suspend fun accept(): Boolean

同意/接受此次请求。

Link copied to clipboard
inline suspend fun <R> UserInfoContainer.inUserInfo(block: UserInfo.() -> R): R

UserInfoContainer 中的 user 作为 block 中的接收者使用。

Link copied to clipboard
abstract suspend fun reject(): Boolean

拒绝/回绝此次请求。

Link copied to clipboard
suspend fun Event.replyIfSupport(message: () -> Message): MessageReceipt?
suspend fun Event.replyIfSupport(message: String): MessageReceipt?
suspend fun Event.replyIfSupport(message: Message): MessageReceipt?

如果此事件允许回复消息,发送,否则得到null。

Link copied to clipboard
abstract suspend fun requester(): UserInfo

这个请求的 申请人

Link copied to clipboard

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

Link copied to clipboard
abstract suspend override fun user(): UserInfo

通常情况下, user 等同于 requester.

Link copied to clipboard
inline suspend fun <R> UserInfoContainer.useUserInfo(block: (UserInfo) -> R): R

UserInfoContainer 中的 user 作为 block 中的参数使用。