diff --git a/src/main/kotlin/moe/kageru/kagebot/command/MessageRedirect.kt b/src/main/kotlin/moe/kageru/kagebot/command/MessageRedirect.kt index 9c904a9..0dd7801 100644 --- a/src/main/kotlin/moe/kageru/kagebot/command/MessageRedirect.kt +++ b/src/main/kotlin/moe/kageru/kagebot/command/MessageRedirect.kt @@ -22,6 +22,7 @@ internal class MessageRedirect(rawRedirect: RawRedirect) { content.removePrefix(command.trigger).trim() } addField(Config.localization.redirectedMessage, redirectedText) + Log.info("Redirected message: $redirectedText") } // No inlined if/else because the types are different. // Passing the full message author will also include the avatar in the embed. diff --git a/src/main/kotlin/moe/kageru/kagebot/features/TimeoutFeature.kt b/src/main/kotlin/moe/kageru/kagebot/features/TimeoutFeature.kt index 561f8d8..1358001 100644 --- a/src/main/kotlin/moe/kageru/kagebot/features/TimeoutFeature.kt +++ b/src/main/kotlin/moe/kageru/kagebot/features/TimeoutFeature.kt @@ -20,10 +20,12 @@ class TimeoutFeature(raw: RawTimeoutFeature) : MessageFeature { override fun handle(message: MessageCreateEvent) { val (_, target, time) = message.readableMessageContent.split(' ', limit = 3) findUser(target)?.let { user -> - val oldRoles = user.getRoles(Config.server).map { role -> - user.removeRole(role) - role.id - } + val oldRoles = user.getRoles(Config.server) + .filter { !it.isManaged } + .map { role -> + user.removeRole(role) + role.id + } user.addRole(timeoutRole) val releaseTime = Instant.now().plus(Duration.ofMinutes(time.toLong())).epochSecond Dao.saveTimeout(releaseTime, listOf(user.id) + oldRoles)