From 3f0dab0f90d1cdff7f1fa7cbc3dd6a04a9406907 Mon Sep 17 00:00:00 2001 From: biast12 Date: Wed, 8 Apr 2026 17:33:44 +0200 Subject: [PATCH] Unify max active thread errors (160006/160007) Handle Discord API error codes 160006 and 160007 with the same max-active-threads message in Replyable.buildErrorResponse, removing the separate branch for announcement threads. Remove the unused MessageErrorMaxActiveAnnouncementThreads i18n identifier and tidy the messages list. --- bot/command/context/replyable.go | 4 +-- i18n/messages.go | 59 ++++++++++++++++---------------- 2 files changed, 30 insertions(+), 33 deletions(-) diff --git a/bot/command/context/replyable.go b/bot/command/context/replyable.go index 3fb33ddb..0e14f07f 100644 --- a/bot/command/context/replyable.go +++ b/bot/command/context/replyable.go @@ -253,10 +253,8 @@ func (r *Replyable) buildErrorResponse(err error, eventId string, includeInviteL } } else if restError.ApiError.Code == 160005 { // Thread is locked message = r.GetMessage(i18n.MessageErrorThreadLocked) - } else if restError.ApiError.Code == 160006 { // Maximum number of active threads reached + } else if restError.ApiError.Code == 160006 || restError.ApiError.Code == 160007 { // Maximum number of active threads reached message = r.GetMessage(i18n.MessageErrorMaxActiveThreads) - } else if restError.ApiError.Code == 160007 { // Maximum number of active announcement threads reached - message = r.GetMessage(i18n.MessageErrorMaxActiveAnnouncementThreads) } else if restError.StatusCode == http.StatusTooManyRequests { // Rate limit error - parse raw response to extract retry_after and global flag var rateLimit rateLimitResponse diff --git a/i18n/messages.go b/i18n/messages.go index b35302fe..1a21ff6b 100644 --- a/i18n/messages.go +++ b/i18n/messages.go @@ -293,36 +293,35 @@ var ( MessageButtonGuildOnly MessageId = "button.guild_only" MessageButtonDMOnly MessageId = "button.dms_only" - MessageErrorUnknownChannel MessageId = "errors.unknown_channel" - MessageErrorUnknownGuild MessageId = "errors.unknown_guild" - MessageErrorUnknownMember MessageId = "errors.unknown_member" - MessageErrorUnknownMessage MessageId = "errors.unknown_message" - MessageErrorUnknownUser MessageId = "errors.unknown_user" - MessageErrorUnknownRole MessageId = "errors.unknown_role" - MessageErrorUnknownCategory MessageId = "errors.unknown_category" - MessageErrorUnknownInteraction MessageId = "errors.unknown_interaction" - MessageErrorMaxWebhooks MessageId = "errors.max_webhooks" - MessageErrorMaxChannels MessageId = "errors.max_channels" - MessageErrorInteractionAcknowledged MessageId = "errors.interaction_acknowledged" - MessageErrorMissingPermissionsTitle MessageId = "errors.missing_permissions.title" - MessageErrorMissingPermissionsBody MessageId = "errors.missing_permissions.body" - MessageErrorMissingAccess MessageId = "errors.missing_access" - MessageErrorInvalidLength MessageId = "errors.invalid_length" - MessageErrorRequiredField MessageId = "errors.required_field" - MessageErrorInvalidChannelType MessageId = "errors.invalid_channel_type" - MessageErrorInvalidCategory MessageId = "errors.invalid_category" - MessageErrorInvalidId MessageId = "errors.invalid_id" - MessageErrorInvalidCharacters MessageId = "errors.invalid_characters" - MessageErrorInvalidChoice MessageId = "errors.invalid_choice" - MessageErrorInvalidForm MessageId = "errors.invalid_form" - MessageErrorThreadLocked MessageId = "errors.thread_locked" - MessageErrorMaxActiveThreads MessageId = "errors.max_active_threads" - MessageErrorMaxActiveAnnouncementThreads MessageId = "errors.max_active_announcement_threads" - MessageErrorTimeout MessageId = "errors.timed_out" - MessageErrorRateLimited MessageId = "errors.rate_limited" - MessageErrorRateLimitedGlobal MessageId = "errors.rate_limited_global" - MessageErrorGeneral MessageId = "errors.general" - MessageErrorId MessageId = "errors.error_id" + MessageErrorUnknownChannel MessageId = "errors.unknown_channel" + MessageErrorUnknownGuild MessageId = "errors.unknown_guild" + MessageErrorUnknownMember MessageId = "errors.unknown_member" + MessageErrorUnknownMessage MessageId = "errors.unknown_message" + MessageErrorUnknownUser MessageId = "errors.unknown_user" + MessageErrorUnknownRole MessageId = "errors.unknown_role" + MessageErrorUnknownCategory MessageId = "errors.unknown_category" + MessageErrorUnknownInteraction MessageId = "errors.unknown_interaction" + MessageErrorMaxWebhooks MessageId = "errors.max_webhooks" + MessageErrorMaxChannels MessageId = "errors.max_channels" + MessageErrorInteractionAcknowledged MessageId = "errors.interaction_acknowledged" + MessageErrorMissingPermissionsTitle MessageId = "errors.missing_permissions.title" + MessageErrorMissingPermissionsBody MessageId = "errors.missing_permissions.body" + MessageErrorMissingAccess MessageId = "errors.missing_access" + MessageErrorInvalidLength MessageId = "errors.invalid_length" + MessageErrorRequiredField MessageId = "errors.required_field" + MessageErrorInvalidChannelType MessageId = "errors.invalid_channel_type" + MessageErrorInvalidCategory MessageId = "errors.invalid_category" + MessageErrorInvalidId MessageId = "errors.invalid_id" + MessageErrorInvalidCharacters MessageId = "errors.invalid_characters" + MessageErrorInvalidChoice MessageId = "errors.invalid_choice" + MessageErrorInvalidForm MessageId = "errors.invalid_form" + MessageErrorThreadLocked MessageId = "errors.thread_locked" + MessageErrorMaxActiveThreads MessageId = "errors.max_active_threads" + MessageErrorTimeout MessageId = "errors.timed_out" + MessageErrorRateLimited MessageId = "errors.rate_limited" + MessageErrorRateLimitedGlobal MessageId = "errors.rate_limited_global" + MessageErrorGeneral MessageId = "errors.general" + MessageErrorId MessageId = "errors.error_id" HelpAdmin MessageId = "help.admin" HelpAdminDebug MessageId = "help.admin.debug"