From 95d2c134e1a0896fa0fc3ccb47798c97c60cfa82 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Mon, 14 Feb 2022 15:49:26 +0800 Subject: [PATCH] Catch tricks registering command errors Signed-off-by: shedaniel --- .../me/shedaniel/linkie/discord/tricks/TricksManager.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/me/shedaniel/linkie/discord/tricks/TricksManager.kt b/src/main/kotlin/me/shedaniel/linkie/discord/tricks/TricksManager.kt index a028e6c..13c372d 100644 --- a/src/main/kotlin/me/shedaniel/linkie/discord/tricks/TricksManager.kt +++ b/src/main/kotlin/me/shedaniel/linkie/discord/tricks/TricksManager.kt @@ -74,8 +74,10 @@ object TricksManager { val slashCommands = this.slashCommands ?: return val tricks = (tricks.values.asSequence() + extraChecks.asSequence()).toMutableList() TricksManager.tricks.values.forEach { trick -> - slashCommands.guildCommand(trick.guildId, TrickBasedCommand(trick) - .asSlashCommand("Run trick ${trick.name}", listOf(trick.name))) + runCatching { + slashCommands.guildCommand(trick.guildId, TrickBasedCommand(trick) + .asSlashCommand("Run trick ${trick.name}", listOf(trick.name))) + }.exceptionOrNull()?.printStackTrace() } val availableTricks = TricksManager.tricks.values.map { it.name } tricks.groupBy { it.guildId }.mapValues { it.value.map { it.name }.toSet() }.forEach { (guildId, tricks) ->