From 60447b41f65bd0aecd881498dc456f9a626f3172 Mon Sep 17 00:00:00 2001 From: Max Shalenkov Date: Tue, 11 Nov 2025 23:51:06 +0400 Subject: [PATCH 1/2] add direct url function --- handlers/start.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/handlers/start.py b/handlers/start.py index a86c4b43..1f72261d 100644 --- a/handlers/start.py +++ b/handlers/start.py @@ -43,6 +43,10 @@ from handlers.captcha import generate_captcha from handlers.coupons import activate_coupon from handlers.payments.gift import handle_gift_link from handlers.profile import process_callback_view_profile +from handlers.keys.key_mode.key_create import confirm_create_new_key +from handlers.keys.key_view import process_callback_or_message_view_keys +from handlers.refferal import invite_handler +from handlers.instructions.instructions import send_instructions from handlers.texts import ( NOT_SUBSCRIBED_YET_MSG, SUBSCRIPTION_CHECK_ERROR_MSG, @@ -121,6 +125,28 @@ async def process_start_logic( if text.startswith("/start "): text = text.split(maxsplit=1)[1] + # Прямой алиас для триала: https://t.me/?start=trial + if text.strip().lower() == "trial": + await confirm_create_new_key(message, state, session) + return + # Прямые ссылки на разделы: + tl = text.strip().lower() + if tl == "profile": + await process_callback_view_profile(message, state, admin, session) + return + if tl == "buy": + await confirm_create_new_key(message, state, session) + return + if tl == "subs": + await process_callback_or_message_view_keys(message, session) + return + if tl == "invite": + await invite_handler(message, session) + return + if tl == "instructions": + await send_instructions(message) + return + await state.update_data(original_text=text, user_data=user_data) gift_detected = False From 4525769370dd9a5e28c2654f0365aaf187282161 Mon Sep 17 00:00:00 2001 From: Max Shalenkov Date: Wed, 12 Nov 2025 01:50:04 +0400 Subject: [PATCH 2/2] fix new urls --- handlers/start.py | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/handlers/start.py b/handlers/start.py index 1f72261d..3905126c 100644 --- a/handlers/start.py +++ b/handlers/start.py @@ -125,28 +125,6 @@ async def process_start_logic( if text.startswith("/start "): text = text.split(maxsplit=1)[1] - # Прямой алиас для триала: https://t.me/?start=trial - if text.strip().lower() == "trial": - await confirm_create_new_key(message, state, session) - return - # Прямые ссылки на разделы: - tl = text.strip().lower() - if tl == "profile": - await process_callback_view_profile(message, state, admin, session) - return - if tl == "buy": - await confirm_create_new_key(message, state, session) - return - if tl == "subs": - await process_callback_or_message_view_keys(message, session) - return - if tl == "invite": - await invite_handler(message, session) - return - if tl == "instructions": - await send_instructions(message) - return - await state.update_data(original_text=text, user_data=user_data) gift_detected = False @@ -170,6 +148,26 @@ async def process_start_logic( await add_user(session=session, **user_data) + tl = text.strip().lower() + if tl == "trial": + await confirm_create_new_key(message, state, session) + return + if tl == "profile": + await process_callback_view_profile(message, state, admin, session) + return + if tl == "buy": + await confirm_create_new_key(message, state, session) + return + if tl == "subs": + await process_callback_or_message_view_keys(message, session) + return + if tl == "invite": + await invite_handler(message, session) + return + if tl == "instructions": + await send_instructions(message) + return + trial_key = await get_user_snapshot(session, user_data["tg_id"]) trial = 0 key_count = 0