io.github.freya022.botcommands.internal.components.RequiresComponentsChecker.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of BotCommands Show documentation
Show all versions of BotCommands Show documentation
A Kotlin-first (and Java) framework that makes creating Discord bots a piece of cake, using the JDA library.
package io.github.freya022.botcommands.internal.components
import io.github.freya022.botcommands.api.components.annotations.RequiresComponents
import io.github.freya022.botcommands.api.core.config.BComponentsConfig
import io.github.freya022.botcommands.api.core.service.CustomConditionChecker
import io.github.freya022.botcommands.api.core.service.ServiceContainer
import io.github.freya022.botcommands.api.core.service.getService
import io.github.freya022.botcommands.internal.utils.reference
internal class RequiresComponentsChecker : CustomConditionChecker {
override val annotationType: Class = RequiresComponents::class.java
override fun checkServiceAvailability(
serviceContainer: ServiceContainer,
checkedClass: Class<*>,
annotation: RequiresComponents
): String? {
if (serviceContainer.getService().enable) {
return null
}
return "Components needs to be enabled, see ${BComponentsConfig::enable.reference}"
}
}