Merge pull request #57 from HoshinoTented/master

Add incoming channel for Bot
This commit is contained in:
Him188 2020-02-15 11:25:54 -06:00 committed by GitHub
commit 4b345fd3b6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -12,6 +12,8 @@
package net.mamoe.mirai.event
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.channels.ReceiveChannel
import net.mamoe.mirai.Bot
import net.mamoe.mirai.contact.isAdministrator
import net.mamoe.mirai.contact.isOperator
@ -125,6 +127,17 @@ inline fun <R> Bot.subscribeFriendMessages(crossinline listeners: MessageSubscri
}.run(listeners)
}
/**
* 返回一个指定事件的接收通道
*/
inline fun <reified E : Event> Bot.incoming(): ReceiveChannel<E> {
return Channel<E>(8).apply {
subscribeAlways<E> {
send(this)
}
}
}
/**
* 消息事件的处理器.