Closed vjh0107 closed 1 year ago
CommandArgumentProvider 가 좀 더 직관적으로 변경되었습니다.
@Qualifier("chestRow") @Component class ChestRowCommandArgumentProvider : CommandArgumentProvider<Int> { override suspend fun cast(context: CommandContext, argument: String?): Int { argument ?: throw ArgumentFeedback.RequireArgument val int = argument.toIntOrNull() ?: throw ArgumentFeedback.NotNumber if (int < 1 || int > 6) { throw ArgumentFeedback.Message("&c1과 6 사이의 수를 입력해 주세요.") } return int } override suspend fun getTabComplete( context: CommandContext, location: Location? ): List<String> { return listOf("1", "2", "3", "4", "5", "6") } }
Qualifier 을 통해 CommandArgumentProvider 를 변경할 수 있습니다.
CommandArgumentExceptionHandler 를 통해 Argument 를 cast 하는 과정에서 throwable 을 throw 해서 유저에게 피드백 할 수 있습니다.
CommandArgumentProvider 가 좀 더 직관적으로 변경되었습니다.
Qualifier 을 통해 CommandArgumentProvider 를 변경할 수 있습니다.
CommandArgumentExceptionHandler 를 통해 Argument 를 cast 하는 과정에서 throwable 을 throw 해서 유저에게 피드백 할 수 있습니다.