discord-kagebot/src/main/kotlin/moe/kageru/kagebot/command/RoleAssignment.kt
2019-09-17 22:59:55 +02:00

18 lines
694 B
Kotlin

package moe.kageru.kagebot.command
import moe.kageru.kagebot.Log
import moe.kageru.kagebot.Util
import moe.kageru.kagebot.Util.getUser
import moe.kageru.kagebot.config.RawAssignment
import org.javacord.api.event.message.MessageCreateEvent
internal class RoleAssignment(rawAssignment: RawAssignment) {
private val role = rawAssignment.role?.let { idOrName ->
Util.findRole(idOrName)
} ?: throw IllegalArgumentException("Can’t find role “${rawAssignment.role}")
fun assign(message: MessageCreateEvent) =
message.getUser()?.addRole(role, "Requested via command.")
?: Log.warn("Could not find user ${message.messageAuthor.name} for role assign")
}