From 17ef8a7f3d02a61377136022f40d68a282797cbf Mon Sep 17 00:00:00 2001 From: Bulat Kurbanov Date: Sat, 25 Oct 2025 19:51:43 +0200 Subject: [PATCH] Handle AlreadyExists (409) during registration --- src/bots/bots_manager/mod.rs | 3 ++- src/bots/bots_manager/register.rs | 4 ++++ src/bots/bots_manager/strings.rs | 4 +++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/bots/bots_manager/mod.rs b/src/bots/bots_manager/mod.rs index c88fb4e..9613012 100644 --- a/src/bots/bots_manager/mod.rs +++ b/src/bots/bots_manager/mod.rs @@ -19,9 +19,10 @@ pub async fn message_handler(message: Message, bot: CacheMe>) -> a let message_text = match result { register::RegisterStatus::Success { ref username } => format_registered_message(username), - register::RegisterStatus::RegisterFail => strings::ALREADY_REGISTERED.to_string(), + register::RegisterStatus::RegisterFail => strings::MAY_BE_ALREADY_REGISTERED.to_string(), register::RegisterStatus::LimitExtended => strings::LIMIT_EXTENDED_MESSAGE.to_string(), register::RegisterStatus::WrongToken => strings::ERROR_MESSAGE.to_string(), + register::RegisterStatus::AlreadyExists => strings::ALREADY_EXISTS_MESSAGE.to_string(), }; bot.send_message(message.chat.id, message_text) diff --git a/src/bots/bots_manager/register.rs b/src/bots/bots_manager/register.rs index 6444476..5db4527 100644 --- a/src/bots/bots_manager/register.rs +++ b/src/bots/bots_manager/register.rs @@ -12,12 +12,14 @@ pub enum RegisterStatus { WrongToken, RegisterFail, LimitExtended, + AlreadyExists, } #[derive(Debug)] pub enum RegisterRequestStatus { Success, LimitExtended, + AlreadyExists, UnknownError, } @@ -52,6 +54,7 @@ async fn make_register_request( Ok(match result.status().as_u16() { 200 => RegisterRequestStatus::Success, 402 => RegisterRequestStatus::LimitExtended, + 409 => RegisterRequestStatus::AlreadyExists, _ => RegisterRequestStatus::UnknownError, }) } @@ -81,5 +84,6 @@ pub async fn register(user_id: UserId, message_text: &str) -> RegisterStatus { }, RegisterRequestStatus::LimitExtended => RegisterStatus::LimitExtended, RegisterRequestStatus::UnknownError => RegisterStatus::RegisterFail, + RegisterRequestStatus::AlreadyExists => RegisterStatus::AlreadyExists, } } diff --git a/src/bots/bots_manager/strings.rs b/src/bots/bots_manager/strings.rs index 587fc01..dfece83 100644 --- a/src/bots/bots_manager/strings.rs +++ b/src/bots/bots_manager/strings.rs @@ -2,8 +2,10 @@ pub fn format_registered_message(username: &str) -> String { format!("@{username} зарегистрирован и через несколько минут будет подключен!") } -pub const ALREADY_REGISTERED: &str = "Ошибка! Возможно бот уже зарегистрирован!"; +pub const MAY_BE_ALREADY_REGISTERED: &str = "Ошибка! Возможно бот уже зарегистрирован!"; pub const ERROR_MESSAGE: &str = "Ошибка! Что-то не так с ботом!"; pub const LIMIT_EXTENDED_MESSAGE: &str = "Вы достигли максимального количества ботов!"; + +pub const ALREADY_EXISTS_MESSAGE: &str = "Ошибка! Бот с таким токеном уже зарегистрирован!";