Merge pull request #2472 from BEDOLAGA-DEV/dev

Dev
This commit is contained in:
Egor
2026-01-31 19:52:58 +03:00
committed by GitHub
2 changed files with 35 additions and 0 deletions

View File

@@ -374,6 +374,25 @@ async def notify_user_subscription_renewed(
)
async def notify_user_devices_purchased(
user_id: int,
devices_added: int,
new_device_limit: int,
amount_kopeks: int,
) -> None:
"""Уведомить пользователя о покупке устройств."""
await cabinet_ws_manager.send_to_user(
user_id,
{
'type': 'subscription.devices_purchased',
'devices_added': devices_added,
'new_device_limit': new_device_limit,
'amount_kopeks': amount_kopeks,
'amount_rubles': amount_kopeks / 100,
},
)
# ============================================================================
# Уведомления об автопродлении
# ============================================================================

View File

@@ -1248,6 +1248,22 @@ async def _auto_add_devices(
price_kopeks,
)
# WebSocket уведомление для кабинета
try:
from app.cabinet.routes.websocket import notify_user_devices_purchased
await notify_user_devices_purchased(
user_id=user.id,
devices_added=devices_to_add,
new_device_limit=subscription.device_limit,
amount_kopeks=price_kopeks,
)
except Exception as ws_error:
logger.warning(
'⚠️ Автопокупка устройств: не удалось отправить WebSocket уведомление: %s',
ws_error,
)
# Уведомление пользователю
if bot and user.telegram_id:
texts = get_texts(getattr(user, 'language', 'ru'))