Fix Bot init

This commit is contained in:
Him188 2020-12-17 19:50:02 +08:00
parent bf88731086
commit 20b912bee7

View File

@ -41,16 +41,10 @@ internal abstract class AbstractBot<N : BotNetworkHandler> constructor(
final override val id: Long,
) : Bot, CoroutineScope {
// FASTEST INIT
init {
Bot._instances[this.id] = this
supervisorJob.invokeOnCompletion {
Bot._instances.remove(id)
}
}
final override val logger: MiraiLogger by lazy { configuration.botLoggerSupplier(this) }
final override val coroutineContext: CoroutineContext = // for id
configuration.parentCoroutineContext
.plus(SupervisorJob(configuration.parentCoroutineContext[Job]))
@ -61,6 +55,13 @@ internal abstract class AbstractBot<N : BotNetworkHandler> constructor(
)
.plus(CoroutineName("Mirai Bot"))
init {
@Suppress("LeakingThis")
Bot._instances[this.id] = this
supervisorJob.invokeOnCompletion {
Bot._instances.remove(id)
}
}
// region network