Put features into separate files

This commit is contained in:
kageru 2019-06-15 12:59:02 +02:00
parent d6d45f8df6
commit f0db8b5c26
Signed by: kageru
GPG Key ID: 8282A2BEA4ADA3D2
2 changed files with 21 additions and 19 deletions

View File

@ -1,11 +1,6 @@
package moe.kageru.kagebot.features
import moe.kageru.kagebot.MessageUtil
import moe.kageru.kagebot.Util
import moe.kageru.kagebot.config.RawFeatures
import moe.kageru.kagebot.config.RawWelcomeFeature
import org.javacord.api.entity.channel.TextChannel
import org.javacord.api.entity.message.embed.EmbedBuilder
class Features(val welcome: WelcomeFeature?) {
@ -15,17 +10,3 @@ class Features(val welcome: WelcomeFeature?) {
val NONE = Features(null)
}
}
class WelcomeFeature(rawWelcome: RawWelcomeFeature) {
val enabled: Boolean = rawWelcome.enabled
val embed: EmbedBuilder? by lazy {
rawWelcome.content?.let(MessageUtil::mapToEmbed)
}
val fallbackChannel: TextChannel? = rawWelcome.fallbackChannel?.let {
if (rawWelcome.fallbackMessage == null) {
throw IllegalArgumentException("[feature.welcome.fallbackMessage] must not be null if fallbackChannel is defined")
}
Util.findChannel(it)
}
val fallbackMessage: String? = rawWelcome.fallbackMessage
}

View File

@ -0,0 +1,21 @@
package moe.kageru.kagebot.features
import moe.kageru.kagebot.MessageUtil
import moe.kageru.kagebot.Util
import moe.kageru.kagebot.config.RawWelcomeFeature
import org.javacord.api.entity.channel.TextChannel
import org.javacord.api.entity.message.embed.EmbedBuilder
class WelcomeFeature(rawWelcome: RawWelcomeFeature) {
val enabled: Boolean = rawWelcome.enabled
val embed: EmbedBuilder? by lazy {
rawWelcome.content?.let(MessageUtil::mapToEmbed)
}
val fallbackChannel: TextChannel? = rawWelcome.fallbackChannel?.let {
if (rawWelcome.fallbackMessage == null) {
throw IllegalArgumentException("[feature.welcome.fallbackMessage] must not be null if fallbackChannel is defined")
}
Util.findChannel(it)
}
val fallbackMessage: String? = rawWelcome.fallbackMessage
}