fix: (subscriptions) show message when no regions are available for subscription
All checks were successful
Build and Push Docker Images / build (push) Successful in 1m15s

Improved the "Subscribe" button behavior. Now, if there are no regions available to subscribe to, the user sees a proper message instead of silent failure.

Signed-off-by: UdoChudo <stream@udochudo.ru>
This commit is contained in:
Udo Chudo 2025-06-25 16:31:19 +05:00
parent 2b65d11622
commit 3d5a237d4d

View File

@ -4,6 +4,7 @@ from telebot.types import Message, InlineKeyboardMarkup, InlineKeyboardButton, C
from app import Subscriptions
from app.bot.constants import UserStates
from app.bot.keyboards.settings_menu import get_settings_menu
from app.bot.processors.subscribe_processor import process_subscription_button, process_subscribe_all_regions
from app.bot.states import UserStateManager
from app.bot.utils.auth import auth
@ -28,10 +29,16 @@ def register_handlers(bot: TeleBot, app, state_manager: UserStateManager):
# Получаем регионы
regions = get_sorted_regions()
if not regions:
bot.send_message(chat_id, " У вас нет доступных для подписки регионов.",reply_markup=get_settings_menu())
state_manager.set_state(chat_id, UserStates.SETTINGS_MENU)
return
# Получаем список подписанных регионов пользователя
subscribed = {s.region_id for s in Subscriptions.query.filter_by(chat_id=chat_id, active=True).all()}
# Формируем строку с пометками
regions_text = format_regions_list_marked(regions, subscribed)