Skip to content

Commit

Permalink
Release 1.4.0
Browse files Browse the repository at this point in the history
  • Loading branch information
JakeJMattson committed Nov 20, 2019
1 parent 4a3e3a5 commit e9365be
Showing 1 changed file with 9 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

0 comments on commit e9365be

Please sign in to comment.