mirror of
https://github.com/mamoe/mirai.git
synced 2025-04-25 04:50:26 +08:00
Update docs
This commit is contained in:
parent
fdd9db65b9
commit
f9daee0379
mirai-core/src/commonMain/kotlin/net.mamoe.mirai/event
mirai-demos/mirai-demo-1/src/main/java/demo1
@ -11,7 +11,8 @@ enum class ListeningStatus {
|
||||
STOPPED
|
||||
}
|
||||
|
||||
/* 顶层方法 */
|
||||
|
||||
// region 顶层方法
|
||||
|
||||
inline fun <reified E : Event> subscribe(noinline handler: suspend (E) -> ListeningStatus) = E::class.subscribe(handler)
|
||||
|
||||
@ -30,7 +31,10 @@ inline fun <reified E : Event> subscribeWhileFalse(noinline listener: suspend (E
|
||||
inline fun <reified E : Event> subscribeWhileTrue(noinline listener: suspend (E) -> Boolean) = E::class.subscribeWhileTrue(listener)
|
||||
inline fun <reified E : Event> subscribeWhileNull(noinline listener: suspend (E) -> Any?) = E::class.subscribeWhileNull(listener)
|
||||
|
||||
/* KClass 的扩展方法, 不推荐 */
|
||||
// endregion
|
||||
|
||||
|
||||
// region KClass 的扩展方法 (不推荐)
|
||||
|
||||
fun <E : Event> KClass<E>.subscribe(handler: suspend (E) -> ListeningStatus) = this.subscribeInternal(Handler(handler))
|
||||
|
||||
@ -49,7 +53,9 @@ fun <E : Event> KClass<E>.subscribeWhileFalse(listener: suspend (E) -> Boolean)
|
||||
fun <E : Event> KClass<E>.subscribeWhileTrue(listener: suspend (E) -> Boolean) = subscribeWhile(true, listener)
|
||||
fun <E : Event> KClass<E>.subscribeWhileNull(listener: suspend (E) -> Any?) = subscribeWhile(null, listener)
|
||||
|
||||
/* ListenerBuilder DSL */
|
||||
// endregion
|
||||
|
||||
// region ListenerBuilder DSL
|
||||
|
||||
/**
|
||||
* 监听一个事件. 可同时进行多种方式的监听
|
||||
@ -105,3 +111,5 @@ inline class ListenerBuilder<out E : Event>(
|
||||
|
||||
fun once(block: suspend (E) -> Unit) = handler { block(it); ListeningStatus.STOPPED }
|
||||
}
|
||||
|
||||
// endregion
|
@ -20,8 +20,8 @@ import kotlin.system.exitProcess
|
||||
|
||||
suspend fun main() {
|
||||
val bot = Bot(BotAccount(//填写你的账号
|
||||
qqNumber = 1994701021,
|
||||
password = "asdhim188666"
|
||||
qqNumber = 1994701121,
|
||||
password = "abcdefg"
|
||||
), Console())
|
||||
|
||||
bot.login {
|
||||
@ -65,7 +65,7 @@ suspend fun main() {
|
||||
}
|
||||
}
|
||||
|
||||
//通过 KClass 扩展方式监听事件
|
||||
//通过 KClass 扩展方式监听事件(不推荐)
|
||||
GroupMessageEvent::class.subscribeAlways {
|
||||
when {
|
||||
it.message.contains("复读") -> it.reply(it.message)
|
||||
@ -74,7 +74,7 @@ suspend fun main() {
|
||||
|
||||
|
||||
//DSL 监听
|
||||
FriendMessageEvent::class.subscribeAll {
|
||||
subscribeAll<FriendMessageEvent> {
|
||||
always {
|
||||
//获取第一个纯文本消息
|
||||
val firstText = it.message.first<PlainText>()
|
||||
@ -82,6 +82,8 @@ suspend fun main() {
|
||||
}
|
||||
}
|
||||
|
||||
demo2()
|
||||
|
||||
//由于使用的是协程, main函数执行完后就会结束程序.
|
||||
delay(Long.MAX_VALUE)//永远等待, 以测试事件
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user