Commit f9daee03 authored by Him188's avatar Him188

Update docs

parent fdd9db65
......@@ -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
\ No newline at end of file
......@@ -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)//永远等待, 以测试事件
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment