add addon purchase hook
This commit is contained in:
@@ -33,7 +33,7 @@ from handlers.texts import (
|
||||
)
|
||||
from handlers.utils import edit_or_send_message
|
||||
from hooks.hook_buttons import insert_hook_buttons
|
||||
from hooks.processors import process_addons_menu
|
||||
from hooks.processors import process_addon_purchase_complete, process_addons_menu
|
||||
from logger import logger
|
||||
|
||||
from ..buy.key_tariffs import calculate_config_price
|
||||
@@ -890,7 +890,16 @@ async def handle_addons_confirm(callback: CallbackQuery, state: FSMContext, sess
|
||||
)
|
||||
|
||||
await state.clear()
|
||||
await render_key_info(callback.message, session, email, "img/pic_view.jpg")
|
||||
|
||||
intercepted = await process_addon_purchase_complete(
|
||||
chat_id=callback.from_user.id,
|
||||
session=session,
|
||||
email=email,
|
||||
message=callback.message,
|
||||
)
|
||||
if not intercepted:
|
||||
await render_key_info(callback.message, session, email, "img/pic_view.jpg")
|
||||
|
||||
await callback.answer(ADDONS_APPLIED_TEXT, show_alert=True)
|
||||
|
||||
except Exception as error:
|
||||
|
||||
@@ -33,7 +33,7 @@ from handlers.texts import (
|
||||
)
|
||||
from handlers.utils import edit_or_send_message
|
||||
from hooks.hook_buttons import insert_hook_buttons
|
||||
from hooks.processors import process_addons_menu
|
||||
from hooks.processors import process_addon_purchase_complete, process_addons_menu
|
||||
from logger import logger
|
||||
|
||||
from ..buy.key_tariffs import calculate_config_price
|
||||
@@ -879,7 +879,16 @@ async def handle_addons_confirm(callback: CallbackQuery, state: FSMContext, sess
|
||||
)
|
||||
|
||||
await state.clear()
|
||||
await render_key_info(callback.message, session, email, "img/pic_view.jpg")
|
||||
|
||||
intercepted = await process_addon_purchase_complete(
|
||||
chat_id=callback.from_user.id,
|
||||
session=session,
|
||||
email=email,
|
||||
message=callback.message,
|
||||
)
|
||||
if not intercepted:
|
||||
await render_key_info(callback.message, session, email, "img/pic_view.jpg")
|
||||
|
||||
await callback.answer(ADDONS_PACK_SUCCESS_TEXT, show_alert=True)
|
||||
|
||||
except Exception as error:
|
||||
|
||||
@@ -456,3 +456,24 @@ async def process_connect_device_menu(
|
||||
**kwargs,
|
||||
)
|
||||
return results if results else []
|
||||
|
||||
|
||||
async def process_addon_purchase_complete(
|
||||
chat_id: int,
|
||||
session: Any,
|
||||
email: str,
|
||||
message: Any,
|
||||
admin: bool = False,
|
||||
**kwargs,
|
||||
) -> bool:
|
||||
"""Обрабатывает хук addon_purchase_complete. True = caller пропускает render_key_info."""
|
||||
results = await run_hooks(
|
||||
"addon_purchase_complete",
|
||||
chat_id=chat_id,
|
||||
admin=admin,
|
||||
session=session,
|
||||
email=email,
|
||||
message=message,
|
||||
**kwargs,
|
||||
)
|
||||
return bool(results and results[0])
|
||||
|
||||
Reference in New Issue
Block a user