discord-kagebot/src/main/kotlin/moe/kageru/kagebot/features/HelpFeature.kt
2019-07-11 20:14:22 +02:00

26 lines
924 B
Kotlin

package moe.kageru.kagebot.features
import moe.kageru.kagebot.Globals
import moe.kageru.kagebot.MessageUtil
import moe.kageru.kagebot.command.MatchType
import moe.kageru.kagebot.config.RawHelpFeature
import org.javacord.api.event.message.MessageCreateEvent
class HelpFeature(rawFeature: RawHelpFeature) : MessageFeature() {
override val commandEnabled = rawFeature.enable
override fun handleInternal(message: MessageCreateEvent) {
if (message.readableMessageContent.startsWith("!help")) {
message.channel.sendMessage(
MessageUtil.getEmbedBuilder()
.addField("Commands:", listCommands(message))
)
}
}
private fun listCommands(message: MessageCreateEvent) =
Globals.commands
.filter { it.matchType == MatchType.PREFIX && it.isAllowed(message) }
.map { it.trigger }
.joinToString("\n")
}