fix: server deletion when disabled / fix: multiple gifts receiving / add: tariff group info in subscription

This commit is contained in:
Capybara-z
2025-06-30 21:48:14 +03:00
parent 5d6e9b418e
commit 9dd99c5f97
7 changed files with 35 additions and 12 deletions
+1 -1
View File
@@ -115,7 +115,7 @@ async def process_callback_delete_server(
server_name = callback_data.data
servers_dict = await get_servers(session)
servers_dict = await get_servers(session, include_enabled=True)
cluster_name = None
for c_name, server_list in servers_dict.items():
if any(s["server_name"] == server_name for s in server_list):
+3 -1
View File
@@ -198,12 +198,14 @@ async def key_cluster_mode(
)
else:
tariff_duration = tariff_info["name"]
subgroup_title = tariff_info.get("subgroup_title", "") if tariff_info else ""
key_message_text = key_message_success(
final_link,
tariff_name=tariff_duration,
traffic_limit=tariff_info.get("traffic_limit", 0) if tariff_info else 0,
device_limit=tariff_info.get("device_limit", 0) if tariff_info else 0
device_limit=tariff_info.get("device_limit", 0) if tariff_info else 0,
subgroup_title=subgroup_title
)
default_media_path = "img/pic.jpg"
+3 -1
View File
@@ -570,12 +570,14 @@ async def finalize_key_creation(
)
else:
tariff_duration = tariff_info["name"] if tariff_info else None
subgroup_title = tariff_info.get("subgroup_title", "") if tariff_info else ""
key_message_text = key_message_success(
link_to_show,
tariff_name=tariff_duration,
traffic_limit=tariff_info.get("traffic_limit", 0) if tariff_info else 0,
device_limit=tariff_info.get("device_limit", 0) if tariff_info else 0
device_limit=tariff_info.get("device_limit", 0) if tariff_info else 0,
subgroup_title=subgroup_title
)
await edit_or_send_message(
+2 -1
View File
@@ -401,7 +401,8 @@ async def complete_key_renewal(
tariff_name=tariff["name"],
traffic_limit=tariff.get("traffic_limit") if tariff.get("traffic_limit") is not None else 0,
device_limit=tariff.get("device_limit") if tariff.get("device_limit") is not None else 0,
expiry_date=formatted_expiry_date
expiry_date=formatted_expiry_date,
subgroup_title=tariff.get("subgroup_title", "")
)
if callback_query:
+4 -1
View File
@@ -285,6 +285,7 @@ async def render_key_info(
tariff_name = ""
traffic_limit = 0
device_limit = 0
subgroup_title = ""
tariff = None
if record.get("tariff_id"):
tariff = await get_tariff_by_id(session, record["tariff_id"])
@@ -292,6 +293,7 @@ async def render_key_info(
tariff_name = tariff["name"]
traffic_limit = tariff.get("traffic_limit", 0)
device_limit = tariff.get("device_limit", 0)
subgroup_title = tariff.get("subgroup_title", "")
tariff_duration = tariff_name
@@ -304,7 +306,8 @@ async def render_key_info(
hwid_count=hwid_count if device_limit is not None else 0,
tariff_name=tariff_duration,
traffic_limit=traffic_limit,
device_limit=device_limit
device_limit=device_limit,
subgroup_title=subgroup_title
)
if ENABLE_UPDATE_SUBSCRIPTION_BUTTON:
@@ -403,7 +403,8 @@ async def handle_expired_keys(
get_renewal_message(
tariff_name=tariff.get("name", ""),
traffic_limit=tariff.get("traffic_limit") if tariff.get("traffic_limit") is not None else 0,
device_limit=tariff.get("device_limit") if tariff.get("device_limit") is not None else 0
device_limit=tariff.get("device_limit") if tariff.get("device_limit") is not None else 0,
subgroup_title=tariff.get("subgroup_title", "")
),
)
continue
@@ -624,7 +625,8 @@ async def process_auto_renew_or_notify(
tariff_name=selected_tariff["name"],
traffic_limit=selected_tariff.get("traffic_limit") if selected_tariff.get("traffic_limit") is not None else 0,
device_limit=selected_tariff.get("device_limit") if selected_tariff.get("device_limit") is not None else 0,
expiry_date=formatted_expiry_date
expiry_date=formatted_expiry_date,
subgroup_title=selected_tariff.get("subgroup_title", "")
)
keyboard = build_notification_expired_kb()
+18 -5
View File
@@ -58,6 +58,8 @@ from .utils import edit_or_send_message
router = Router()
processing_gifts = set()
@router.callback_query(F.data == "start")
async def handle_start_callback_query(
@@ -208,11 +210,22 @@ async def process_start_logic(
gift_id = parts[0]
sender_id = parts[1]
logger.info(f"[GIFT] Обнаружен подарок {gift_id} от {sender_id}")
await handle_gift_link(
gift_id, message, state, session, user_data=user_data
)
gift_detected = True
if gift_id in processing_gifts:
await message.answer("⏳ Подарок уже обрабатывается, подождите...")
return await process_callback_view_profile(message, state, admin, session)
processing_gifts.add(gift_id)
try:
logger.info(f"[GIFT] Обнаружен подарок {gift_id} от {sender_id}")
await handle_gift_link(
gift_id, message, state, session, user_data=user_data
)
gift_detected = True
finally:
processing_gifts.discard(gift_id)
break
if "referral" in part: