2019-10-18 21:56:31 +02:00
package moe.kageru.kagebot.config
import com.uchuhimo.konf.ConfigSpec
import moe.kageru.kagebot.command.Command
import moe.kageru.kagebot.config.Config.system
import moe.kageru.kagebot.features.Features
import java.awt.Color
object SystemSpec : ConfigSpec ( ) {
2019-11-14 15:10:30 +01:00
private val rawColor by optional ( " #1793d0 " , name = " color " )
val serverId by required < String > ( )
val color by kotlin . lazy { Color . decode ( system [ rawColor ] ) !! }
2019-10-18 21:56:31 +02:00
}
object LocalizationSpec : ConfigSpec ( ) {
2019-11-14 15:10:30 +01:00
val redirectedMessage by optional ( " says " )
val messageDeleted by optional ( " Your message was deleted. " )
val timeout by optional ( " You have been timed out for @@ minutes. " )
2019-10-18 21:56:31 +02:00
}
object CommandSpec : ConfigSpec ( prefix = " " ) {
2019-11-14 15:10:30 +01:00
val command by optional ( emptyList < Command > ( ) )
2019-10-18 21:56:31 +02:00
}
object FeatureSpec : ConfigSpec ( prefix = " " ) {
2019-11-14 15:10:30 +01:00
val features by optional ( Features ( ) , name = " feature " )
2019-10-18 21:56:31 +02:00
}