18 lines
694 B
Kotlin
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")
|
|
}
|