All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.insanusmokrassar.AutoPostTelegramBot.base.plugins.DefaultPluginManager.kt Maven / Gradle / Ivy

package com.github.insanusmokrassar.AutoPostTelegramBot.base.plugins

import com.github.insanusmokrassar.AutoPostTelegramBot.base.models.FinalConfig
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
import kotlinx.coroutines.*

class DefaultPluginManager(
    pluginsCollection: Collection
) : PluginManager {
    override val plugins: List = pluginsCollection.toList()

    override suspend fun onInit(executor: RequestsExecutor, baseConfig: FinalConfig) {
        coroutineScope {
            plugins.map {
                launch {
                    it.onInit(
                        executor,
                        baseConfig,
                        this@DefaultPluginManager
                    )
                    commonLogger.info("Plugin ${it.name} was init")
                }
            }
        }.joinAll()
        commonLogger.info("Plugins was initiated")
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy