discord-kagebot/src/main/kotlin/moe/kageru/kagebot/features/WelcomeFeature.kt

26 lines
973 B
Kotlin
Raw Normal View History

2019-06-15 12:59:02 +02:00
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
import org.javacord.api.event.message.MessageCreateEvent
class WelcomeFeature(rawWelcome: RawWelcomeFeature) : MessageFeature() {
override fun handleInternal(message: MessageCreateEvent) {
message.channel.sendMessage(embed)
}
2019-06-15 12:59:02 +02:00
val embed: EmbedBuilder? by lazy {
rawWelcome.content?.let(MessageUtil::listToEmbed)
2019-06-15 12:59:02 +02:00
}
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
2019-07-13 14:52:05 +02:00
}