From e9365beb57d614b291c799361b52ae81e3b21c04 Mon Sep 17 00:00:00 2001 From: Jake Mattson Date: Wed, 20 Nov 2019 11:48:46 -0600 Subject: [PATCH] Release 1.4.0 --- .../embedbot/preconditions/PermissionPrecondition.kt | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/io/github/jakejmattson/embedbot/preconditions/PermissionPrecondition.kt b/src/main/kotlin/io/github/jakejmattson/embedbot/preconditions/PermissionPrecondition.kt index 3146100..cfac8a0 100644 --- a/src/main/kotlin/io/github/jakejmattson/embedbot/preconditions/PermissionPrecondition.kt +++ b/src/main/kotlin/io/github/jakejmattson/embedbot/preconditions/PermissionPrecondition.kt @@ -2,20 +2,26 @@ package io.github.jakejmattson.embedbot.preconditions import io.github.jakejmattson.embedbot.extensions.requiredPermissionLevel import io.github.jakejmattson.embedbot.locale.messages -import io.github.jakejmattson.embedbot.services.PermissionsService +import io.github.jakejmattson.embedbot.services.* import me.aberrantfox.kjdautils.api.dsl.* import me.aberrantfox.kjdautils.extensions.jda.toMember import me.aberrantfox.kjdautils.internal.command.* @Precondition fun produceHasPermissionPrecondition(permissionsService: PermissionsService) = precondition { - val command = it.container[it.commandStruct.commandName]!! + val command = it.container[it.commandStruct.commandName] ?: return@precondition Fail() val requiredPermissionLevel = command.requiredPermissionLevel val guild = it.guild!! val member = it.author.toMember(guild)!! + val response = when (requiredPermissionLevel) { + Permission.BOT_OWNER -> messages.errors.MISSING_CLEARANCE + " You must be the bot owner." + Permission.GUILD_OWNER -> messages.errors.MISSING_CLEARANCE + " You must be the guild owner." + else -> "" + } + if (!permissionsService.hasClearance(member, requiredPermissionLevel)) - return@precondition Fail(messages.errors.MISSING_CLEARANCE) + return@precondition Fail(response) return@precondition Pass } \ No newline at end of file