Commit df1fbbe2 authored by Him188's avatar Him188

Remove listener when job is completed

parent 074236ce
...@@ -26,7 +26,12 @@ val EventLogger: MiraiLoggerWithSwitch = DefaultLogger("Event").withSwitch(false ...@@ -26,7 +26,12 @@ val EventLogger: MiraiLoggerWithSwitch = DefaultLogger("Event").withSwitch(false
@MiraiInternalAPI @MiraiInternalAPI
fun <L : Listener<E>, E : Event> KClass<out E>.subscribeInternal(listener: L): L { fun <L : Listener<E>, E : Event> KClass<out E>.subscribeInternal(listener: L): L {
this.listeners().addLast(listener) with(this.listeners()) {
addLast(listener)
listener.invokeOnCompletion {
this.remove(listener)
}
}
return listener return listener
} }
......
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