Merge pull request #343 from Fr1ngg/revert-342-bedolaga/fix-subscription-link-generation-issue
Revert "Handle Happ cryptolink buttons without unsupported URLs"
This commit is contained in:
+23
-141
@@ -566,11 +566,7 @@ async def show_subscription_info(
|
||||
|
||||
subscription_link = get_display_subscription_link(subscription)
|
||||
if subscription_link:
|
||||
if (
|
||||
actual_status in ['trial_active', 'paid_active']
|
||||
and not settings.HIDE_SUBSCRIPTION_LINK
|
||||
and not settings.is_happ_cryptolink_mode()
|
||||
):
|
||||
if actual_status in ['trial_active', 'paid_active'] and not settings.HIDE_SUBSCRIPTION_LINK:
|
||||
message += "\n\n" + texts.t(
|
||||
"SUBSCRIPTION_CONNECT_LINK_SECTION",
|
||||
"🔗 <b>Ссылка для подключения:</b>\n<code>{subscription_url}</code>",
|
||||
@@ -843,30 +839,16 @@ async def activate_trial(
|
||||
|
||||
subscription_link = get_display_subscription_link(subscription)
|
||||
if remnawave_user and subscription_link:
|
||||
if settings.is_happ_cryptolink_mode():
|
||||
trial_success_text = (
|
||||
f"{texts.TRIAL_ACTIVATED}\n\n"
|
||||
+ texts.t(
|
||||
"SUBSCRIPTION_HAPP_LINK_PROMPT",
|
||||
"🔒 Ссылка на подписку создана. Нажмите кнопку \"Подключиться\" ниже, чтобы открыть её в Happ.",
|
||||
)
|
||||
+ "\n\n"
|
||||
+ texts.t(
|
||||
'SUBSCRIPTION_IMPORT_INSTRUCTION_PROMPT',
|
||||
'📱 Нажмите кнопку ниже, чтобы получить инструкцию по настройке VPN на вашем устройстве',
|
||||
)
|
||||
)
|
||||
else:
|
||||
subscription_import_link = texts.t(
|
||||
"SUBSCRIPTION_IMPORT_LINK_SECTION",
|
||||
"🔗 <b>Ваша ссылка для импорта в VPN приложение:</b>\n<code>{subscription_url}</code>",
|
||||
).format(subscription_url=subscription_link)
|
||||
subscription_import_link = texts.t(
|
||||
"SUBSCRIPTION_IMPORT_LINK_SECTION",
|
||||
"🔗 <b>Ваша ссылка для импорта в VPN приложение:</b>\\n<code>{subscription_url}</code>",
|
||||
).format(subscription_url=subscription_link)
|
||||
|
||||
trial_success_text = (
|
||||
f"{texts.TRIAL_ACTIVATED}\n\n"
|
||||
f"{subscription_import_link}\n\n"
|
||||
f"{texts.t('SUBSCRIPTION_IMPORT_INSTRUCTION_PROMPT', '📱 Нажмите кнопку ниже, чтобы получить инструкцию по настройке VPN на вашем устройстве')}"
|
||||
)
|
||||
trial_success_text = (
|
||||
f"{texts.TRIAL_ACTIVATED}\n\n"
|
||||
f"{subscription_import_link}\n\n"
|
||||
f"{texts.t('SUBSCRIPTION_IMPORT_INSTRUCTION_PROMPT', '📱 Нажмите кнопку ниже, чтобы получить инструкцию по настройке VPN на вашем устройстве')}"
|
||||
)
|
||||
|
||||
connect_mode = settings.CONNECT_BUTTON_MODE
|
||||
|
||||
@@ -900,7 +882,7 @@ async def activate_trial(
|
||||
],
|
||||
[InlineKeyboardButton(text=texts.t("BACK_TO_MAIN_MENU_BUTTON", "⬅️ В главное меню"), callback_data="back_to_menu")],
|
||||
])
|
||||
elif connect_mode == "link":
|
||||
elif connect_mode in {"link", "happ_cryptolink"}:
|
||||
rows = [
|
||||
[InlineKeyboardButton(text=texts.t("CONNECT_BUTTON", "🔗 Подключиться"), url=subscription_link)]
|
||||
]
|
||||
@@ -914,25 +896,6 @@ async def activate_trial(
|
||||
)
|
||||
])
|
||||
connect_keyboard = InlineKeyboardMarkup(inline_keyboard=rows)
|
||||
elif connect_mode == "happ_cryptolink":
|
||||
rows = [
|
||||
[
|
||||
InlineKeyboardButton(
|
||||
text=texts.t("CONNECT_BUTTON", "🔗 Подключиться"),
|
||||
callback_data="open_subscription_link",
|
||||
)
|
||||
]
|
||||
]
|
||||
happ_row = get_happ_download_button_row(texts)
|
||||
if happ_row:
|
||||
rows.append(happ_row)
|
||||
rows.append([
|
||||
InlineKeyboardButton(
|
||||
text=texts.t("BACK_TO_MAIN_MENU_BUTTON", "⬅️ В главное меню"),
|
||||
callback_data="back_to_menu"
|
||||
)
|
||||
])
|
||||
connect_keyboard = InlineKeyboardMarkup(inline_keyboard=rows)
|
||||
else:
|
||||
connect_keyboard = InlineKeyboardMarkup(inline_keyboard=[
|
||||
[InlineKeyboardButton(text=texts.t("CONNECT_BUTTON", "🔗 Подключиться"), callback_data="subscription_connect")],
|
||||
@@ -3332,30 +3295,16 @@ async def confirm_purchase(
|
||||
|
||||
subscription_link = get_display_subscription_link(subscription)
|
||||
if remnawave_user and subscription_link:
|
||||
if settings.is_happ_cryptolink_mode():
|
||||
success_text = (
|
||||
f"{texts.SUBSCRIPTION_PURCHASED}\n\n"
|
||||
+ texts.t(
|
||||
"SUBSCRIPTION_HAPP_LINK_PROMPT",
|
||||
"🔒 Ссылка на подписку создана. Нажмите кнопку \"Подключиться\" ниже, чтобы открыть её в Happ.",
|
||||
)
|
||||
+ "\n\n"
|
||||
+ texts.t(
|
||||
'SUBSCRIPTION_IMPORT_INSTRUCTION_PROMPT',
|
||||
'📱 Нажмите кнопку ниже, чтобы получить инструкцию по настройке VPN на вашем устройстве',
|
||||
)
|
||||
)
|
||||
else:
|
||||
import_link_section = texts.t(
|
||||
"SUBSCRIPTION_IMPORT_LINK_SECTION",
|
||||
"🔗 <b>Ваша ссылка для импорта в VPN приложение:</b>\\n<code>{subscription_url}</code>",
|
||||
).format(subscription_url=subscription_link)
|
||||
import_link_section = texts.t(
|
||||
"SUBSCRIPTION_IMPORT_LINK_SECTION",
|
||||
"🔗 <b>Ваша ссылка для импорта в VPN приложение:</b>\\n<code>{subscription_url}</code>",
|
||||
).format(subscription_url=subscription_link)
|
||||
|
||||
success_text = (
|
||||
f"{texts.SUBSCRIPTION_PURCHASED}\n\n"
|
||||
f"{import_link_section}\n\n"
|
||||
f"{texts.t('SUBSCRIPTION_IMPORT_INSTRUCTION_PROMPT', '📱 Нажмите кнопку ниже, чтобы получить инструкцию по настройке VPN на вашем устройстве')}"
|
||||
)
|
||||
success_text = (
|
||||
f"{texts.SUBSCRIPTION_PURCHASED}\n\n"
|
||||
f"{import_link_section}\n\n"
|
||||
f"{texts.t('SUBSCRIPTION_IMPORT_INSTRUCTION_PROMPT', '📱 Нажмите кнопку ниже, чтобы получить инструкцию по настройке VPN на вашем устройстве')}"
|
||||
)
|
||||
|
||||
connect_mode = settings.CONNECT_BUTTON_MODE
|
||||
|
||||
@@ -3389,7 +3338,7 @@ async def confirm_purchase(
|
||||
],
|
||||
[InlineKeyboardButton(text=texts.t("BACK_TO_MAIN_MENU_BUTTON", "⬅️ В главное меню"), callback_data="back_to_menu")],
|
||||
])
|
||||
elif connect_mode == "link":
|
||||
elif connect_mode in {"link", "happ_cryptolink"}:
|
||||
rows = [
|
||||
[InlineKeyboardButton(text=texts.t("CONNECT_BUTTON", "🔗 Подключиться"), url=subscription_link)]
|
||||
]
|
||||
@@ -3398,20 +3347,6 @@ async def confirm_purchase(
|
||||
rows.append(happ_row)
|
||||
rows.append([InlineKeyboardButton(text=texts.t("BACK_TO_MAIN_MENU_BUTTON", "⬅️ В главное меню"), callback_data="back_to_menu")])
|
||||
connect_keyboard = InlineKeyboardMarkup(inline_keyboard=rows)
|
||||
elif connect_mode == "happ_cryptolink":
|
||||
rows = [
|
||||
[
|
||||
InlineKeyboardButton(
|
||||
text=texts.t("CONNECT_BUTTON", "🔗 Подключиться"),
|
||||
callback_data="open_subscription_link",
|
||||
)
|
||||
]
|
||||
]
|
||||
happ_row = get_happ_download_button_row(texts)
|
||||
if happ_row:
|
||||
rows.append(happ_row)
|
||||
rows.append([InlineKeyboardButton(text=texts.t("BACK_TO_MAIN_MENU_BUTTON", "⬅️ В главное меню"), callback_data="back_to_menu")])
|
||||
connect_keyboard = InlineKeyboardMarkup(inline_keyboard=rows)
|
||||
else:
|
||||
connect_keyboard = InlineKeyboardMarkup(inline_keyboard=[
|
||||
[InlineKeyboardButton(text=texts.t("CONNECT_BUTTON", "🔗 Подключиться"), callback_data="subscription_connect")],
|
||||
@@ -4250,7 +4185,7 @@ async def handle_connect_subscription(
|
||||
parse_mode="HTML"
|
||||
)
|
||||
|
||||
elif connect_mode == "link":
|
||||
elif connect_mode in {"link", "happ_cryptolink"}:
|
||||
rows = [
|
||||
[
|
||||
InlineKeyboardButton(
|
||||
@@ -4271,41 +4206,14 @@ async def handle_connect_subscription(
|
||||
await callback.message.edit_text(
|
||||
texts.t(
|
||||
"SUBSCRIPTION_CONNECT_LINK_MESSAGE",
|
||||
"""🚀 <b>Подключить подписку</b>",
|
||||
"""🚀 <b>Подключить подписку</b>
|
||||
|
||||
🔗 Нажмите кнопку ниже, чтобы открыть ссылку подписки:""",
|
||||
),
|
||||
reply_markup=keyboard,
|
||||
parse_mode="HTML"
|
||||
)
|
||||
elif connect_mode == "happ_cryptolink":
|
||||
rows = [
|
||||
[
|
||||
InlineKeyboardButton(
|
||||
text=texts.t("CONNECT_BUTTON", "🔗 Подключиться"),
|
||||
callback_data="open_subscription_link",
|
||||
)
|
||||
]
|
||||
]
|
||||
happ_row = get_happ_download_button_row(texts)
|
||||
if happ_row:
|
||||
rows.append(happ_row)
|
||||
rows.append([
|
||||
InlineKeyboardButton(text=texts.BACK, callback_data="menu_subscription")
|
||||
])
|
||||
|
||||
keyboard = InlineKeyboardMarkup(inline_keyboard=rows)
|
||||
|
||||
await callback.message.edit_text(
|
||||
texts.t(
|
||||
"SUBSCRIPTION_CONNECT_LINK_MESSAGE",
|
||||
"""🚀 <b>Подключить подписку</b>",
|
||||
|
||||
🔗 Нажмите кнопку ниже, чтобы открыть ссылку подписки:""",
|
||||
),
|
||||
reply_markup=keyboard,
|
||||
parse_mode="HTML"
|
||||
)
|
||||
else:
|
||||
device_text = texts.t(
|
||||
"SUBSCRIPTION_CONNECT_DEVICE_MESSAGE",
|
||||
@@ -4606,32 +4514,6 @@ async def handle_open_subscription_link(
|
||||
)
|
||||
return
|
||||
|
||||
if settings.is_happ_cryptolink_mode():
|
||||
happ_message = (
|
||||
texts.t(
|
||||
"SUBSCRIPTION_HAPP_OPEN_TITLE",
|
||||
"🔗 <b>Подключение через Happ</b>",
|
||||
)
|
||||
+ "\n\n"
|
||||
+ texts.t(
|
||||
"SUBSCRIPTION_HAPP_OPEN_LINK",
|
||||
"<a href=\"{subscription_link}\">🔓 Открыть ссылку в Happ</a>",
|
||||
).format(subscription_link=subscription_link)
|
||||
+ "\n\n"
|
||||
+ texts.t(
|
||||
"SUBSCRIPTION_HAPP_OPEN_HINT",
|
||||
"💡 Если ссылка не открывается автоматически, скопируйте её вручную: <code>{subscription_link}</code>",
|
||||
).format(subscription_link=subscription_link)
|
||||
)
|
||||
|
||||
await callback.message.answer(
|
||||
happ_message,
|
||||
parse_mode="HTML",
|
||||
disable_web_page_preview=True,
|
||||
)
|
||||
await callback.answer()
|
||||
return
|
||||
|
||||
link_text = (
|
||||
texts.t("SUBSCRIPTION_DEVICE_LINK_TITLE", "🔗 <b>Ссылка подписки:</b>")
|
||||
+ "\n\n"
|
||||
|
||||
+8
-43
@@ -113,7 +113,7 @@ def get_main_menu_keyboard(
|
||||
web_app=types.WebAppInfo(url=settings.MINIAPP_CUSTOM_URL)
|
||||
)
|
||||
])
|
||||
elif connect_mode == "link":
|
||||
elif connect_mode in {"link", "happ_cryptolink"}:
|
||||
if subscription_link:
|
||||
keyboard.append([
|
||||
InlineKeyboardButton(
|
||||
@@ -123,16 +123,6 @@ def get_main_menu_keyboard(
|
||||
])
|
||||
else:
|
||||
keyboard.append([_fallback_connect_button()])
|
||||
elif connect_mode == "happ_cryptolink":
|
||||
if subscription_link:
|
||||
keyboard.append([
|
||||
InlineKeyboardButton(
|
||||
text=texts.t("CONNECT_BUTTON", "🔗 Подключиться"),
|
||||
callback_data="open_subscription_link",
|
||||
)
|
||||
])
|
||||
else:
|
||||
keyboard.append([_fallback_connect_button()])
|
||||
else:
|
||||
keyboard.append([_fallback_connect_button()])
|
||||
|
||||
@@ -395,17 +385,10 @@ def get_subscription_keyboard(
|
||||
keyboard.append([
|
||||
InlineKeyboardButton(text=texts.t("CONNECT_BUTTON", "🔗 Подключиться"), callback_data="subscription_connect")
|
||||
])
|
||||
elif connect_mode == "link":
|
||||
elif connect_mode in {"link", "happ_cryptolink"}:
|
||||
keyboard.append([
|
||||
InlineKeyboardButton(text=texts.t("CONNECT_BUTTON", "🔗 Подключиться"), url=subscription_link)
|
||||
])
|
||||
elif connect_mode == "happ_cryptolink":
|
||||
keyboard.append([
|
||||
InlineKeyboardButton(
|
||||
text=texts.t("CONNECT_BUTTON", "🔗 Подключиться"),
|
||||
callback_data="open_subscription_link",
|
||||
)
|
||||
])
|
||||
else:
|
||||
keyboard.append([
|
||||
InlineKeyboardButton(text=texts.t("CONNECT_BUTTON", "🔗 Подключиться"), callback_data="subscription_connect")
|
||||
@@ -1360,18 +1343,9 @@ def get_connection_guide_keyboard(
|
||||
if app_buttons:
|
||||
keyboard.append(app_buttons)
|
||||
|
||||
if settings.is_happ_cryptolink_mode():
|
||||
copy_button = InlineKeyboardButton(
|
||||
text=texts.t("COPY_SUBSCRIPTION_LINK", "📋 Скопировать ссылку подписки"),
|
||||
callback_data="open_subscription_link",
|
||||
)
|
||||
else:
|
||||
copy_button = InlineKeyboardButton(
|
||||
text=texts.t("COPY_SUBSCRIPTION_LINK", "📋 Скопировать ссылку подписки"),
|
||||
url=subscription_url,
|
||||
)
|
||||
|
||||
keyboard.append([copy_button])
|
||||
keyboard.append([
|
||||
InlineKeyboardButton(text=texts.t("COPY_SUBSCRIPTION_LINK", "📋 Скопировать ссылку подписки"), url=subscription_url)
|
||||
])
|
||||
|
||||
keyboard.extend([
|
||||
[
|
||||
@@ -1442,18 +1416,9 @@ def get_specific_app_keyboard(
|
||||
if app_buttons:
|
||||
keyboard.append(app_buttons)
|
||||
|
||||
if settings.is_happ_cryptolink_mode():
|
||||
copy_button = InlineKeyboardButton(
|
||||
text=texts.t("COPY_SUBSCRIPTION_LINK", "📋 Скопировать ссылку подписки"),
|
||||
callback_data="open_subscription_link",
|
||||
)
|
||||
else:
|
||||
copy_button = InlineKeyboardButton(
|
||||
text=texts.t("COPY_SUBSCRIPTION_LINK", "📋 Скопировать ссылку подписки"),
|
||||
url=subscription_url,
|
||||
)
|
||||
|
||||
keyboard.append([copy_button])
|
||||
keyboard.append([
|
||||
InlineKeyboardButton(text=texts.t("COPY_SUBSCRIPTION_LINK", "📋 Скопировать ссылку подписки"), url=subscription_url)
|
||||
])
|
||||
|
||||
if 'additionalAfterAddSubscriptionStep' in app and 'buttons' in app['additionalAfterAddSubscriptionStep']:
|
||||
for button in app['additionalAfterAddSubscriptionStep']['buttons']:
|
||||
|
||||
Reference in New Issue
Block a user