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
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:
parent
2b65d11622
commit
3d5a237d4d
@ -4,6 +4,7 @@ from telebot.types import Message, InlineKeyboardMarkup, InlineKeyboardButton, C
|
|||||||
|
|
||||||
from app import Subscriptions
|
from app import Subscriptions
|
||||||
from app.bot.constants import UserStates
|
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.processors.subscribe_processor import process_subscription_button, process_subscribe_all_regions
|
||||||
from app.bot.states import UserStateManager
|
from app.bot.states import UserStateManager
|
||||||
from app.bot.utils.auth import auth
|
from app.bot.utils.auth import auth
|
||||||
@ -28,10 +29,16 @@ def register_handlers(bot: TeleBot, app, state_manager: UserStateManager):
|
|||||||
# Получаем регионы
|
# Получаем регионы
|
||||||
regions = get_sorted_regions()
|
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()}
|
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)
|
regions_text = format_regions_list_marked(regions, subscribed)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user