module architecture/ delete tg_id in gifts

This commit is contained in:
Vladless
2025-08-01 22:16:26 +03:00
parent 99759c3326
commit 7c16491548
5 changed files with 11 additions and 7 deletions
+3 -1
View File
@@ -147,9 +147,11 @@ async def handle_delete_manual_banned(callback_query: CallbackQuery, session: As
@router.callback_query(AdminPanelCallback.filter(F.action == "bans_preemptive"), IsAdminFilter())
async def handle_preemptive_ban_start(callback: CallbackQuery, state: FSMContext):
await state.set_state(PreemptiveBanStates.waiting_for_preemptive_ids)
await callback.message.edit_text(
"📥 Отправьте список Telegram ID (один на строке), которых нужно заранее забанить (теневой бан).\n\n"
"Пример:\n<code>123456789\n987654321</code>"
"Пример:\n<code>123456789\n987654321</code>",
reply_markup=build_admin_back_kb("bans")
)
+4 -1
View File
@@ -11,6 +11,7 @@ from robokassa import HashAlgorithm, Robokassa
from sqlalchemy.ext.asyncio import AsyncSession
from datetime import datetime, timedelta
from sqlalchemy import select, and_
from pytz import timezone
from config import (
ROBOKASSA_ENABLE,
@@ -38,6 +39,8 @@ from logger import logger
router = Router()
MOSCOW_TZ = timezone("Europe/Moscow")
class ReplenishBalanceState(StatesGroup):
choosing_amount_robokassa = State()
waiting_for_payment_confirmation_robokassa = State()
@@ -213,7 +216,7 @@ async def robokassa_webhook(request: web.Request):
logger.info(f"Processing payment for user {tg_id} with amount {amount}.")
async with async_session_maker() as session:
recent_time = datetime.utcnow() - timedelta(minutes=1)
recent_time = datetime.now(MOSCOW_TZ).replace(tzinfo=None) - timedelta(minutes=1)
result = await session.execute(
select(Payment).where(
+4 -5
View File
@@ -209,13 +209,12 @@ async def process_start_logic(
if "gift" in part:
gift_raw = part.split("gift")[1].strip("_")
parts = gift_raw.split("_")
if len(parts) < 2:
if not gift_raw:
await message.answer("❌ Неверный формат ссылки на подарок.")
return await process_callback_view_profile(message, state, admin, session)
gift_id = parts[0]
sender_id = parts[1]
gift_id = gift_raw
if gift_id in processing_gifts:
await message.answer("⏳ Подарок уже обрабатывается, подождите...")
@@ -224,7 +223,7 @@ async def process_start_logic(
processing_gifts.add(gift_id)
try:
logger.info(f"[GIFT] Обнаружен подарок {gift_id} от {sender_id}")
logger.info(f"[GIFT] Обнаружен подарок {gift_id}")
await handle_gift_link(gift_id, message, state, session, user_data=user_data)
gift_detected = True
finally: