mirror of
https://github.com/BEDOLAGA-DEV/remnawave-bedolaga-telegram-bot.git
synced 2026-04-29 01:00:03 +00:00
@@ -3793,6 +3793,30 @@ async def switch_tariff(
|
||||
await db.refresh(user)
|
||||
await db.refresh(user.subscription)
|
||||
|
||||
# Отправляем уведомление админам о смене тарифа
|
||||
try:
|
||||
from aiogram import Bot
|
||||
|
||||
from app.services.admin_notification_service import AdminNotificationService
|
||||
|
||||
if getattr(settings, 'ADMIN_NOTIFICATIONS_ENABLED', False) and settings.BOT_TOKEN:
|
||||
bot = Bot(token=settings.BOT_TOKEN)
|
||||
try:
|
||||
notification_service = AdminNotificationService(bot)
|
||||
await notification_service.send_subscription_purchase_notification(
|
||||
db=db,
|
||||
user=user,
|
||||
subscription=user.subscription,
|
||||
transaction=None,
|
||||
period_days=remaining_days if remaining_days > 0 else new_period_days,
|
||||
was_trial_conversion=False,
|
||||
amount_kopeks=upgrade_cost,
|
||||
)
|
||||
finally:
|
||||
await bot.session.close()
|
||||
except Exception as e:
|
||||
logger.error(f'Failed to send admin notification for tariff switch: {e}')
|
||||
|
||||
return {
|
||||
'success': True,
|
||||
'message': f"Switched from '{old_tariff_name}' to '{new_tariff.name}'"
|
||||
|
||||
@@ -1190,6 +1190,18 @@ async def confirm_add_devices(callback: types.CallbackQuery, db_user: User, db:
|
||||
await db.refresh(db_user)
|
||||
await db.refresh(subscription)
|
||||
|
||||
# Отправляем уведомление админам о докупке устройств
|
||||
try:
|
||||
from app.services.admin_notification_service import AdminNotificationService
|
||||
|
||||
notification_service = AdminNotificationService(callback.bot)
|
||||
old_device_limit = subscription.device_limit - devices_count
|
||||
await notification_service.send_subscription_update_notification(
|
||||
db, db_user, subscription, 'devices', old_device_limit, subscription.device_limit, price
|
||||
)
|
||||
except Exception as e:
|
||||
logger.error(f'Ошибка отправки уведомления о докупке устройств: {e}')
|
||||
|
||||
success_text = (
|
||||
'✅ Устройства успешно добавлены!\n\n'
|
||||
f'📱 Добавлено: {devices_count} устройств\n'
|
||||
|
||||
@@ -540,6 +540,9 @@ async def add_traffic(callback: types.CallbackQuery, db_user: User, db: AsyncSes
|
||||
await callback.answer()
|
||||
return
|
||||
|
||||
# Сохраняем старое значение трафика для уведомления
|
||||
old_traffic_limit = subscription.traffic_limit_gb
|
||||
|
||||
try:
|
||||
success = await subtract_user_balance(
|
||||
db,
|
||||
@@ -580,6 +583,17 @@ async def add_traffic(callback: types.CallbackQuery, db_user: User, db: AsyncSes
|
||||
await db.refresh(db_user)
|
||||
await db.refresh(subscription)
|
||||
|
||||
# Отправляем уведомление админам о докупке трафика
|
||||
try:
|
||||
from app.services.admin_notification_service import AdminNotificationService
|
||||
|
||||
notification_service = AdminNotificationService(callback.bot)
|
||||
await notification_service.send_subscription_update_notification(
|
||||
db, db_user, subscription, 'traffic', old_traffic_limit, subscription.traffic_limit_gb, price
|
||||
)
|
||||
except Exception as e:
|
||||
logger.error(f'Ошибка отправки уведомления о докупке трафика: {e}')
|
||||
|
||||
success_text = '✅ Трафик успешно добавлен!\n\n'
|
||||
if traffic_gb == 0:
|
||||
success_text += '🎉 Теперь у вас безлимитный трафик!'
|
||||
|
||||
Reference in New Issue
Block a user