Добавление логгирования

This commit is contained in:
ada-dmitry
2025-05-03 09:42:50 +03:00
parent e1063b669f
commit ec2c0c7dfc
21 changed files with 244 additions and 99 deletions
+8 -2
View File
@@ -5,24 +5,30 @@ from models import User
from database import async_session
import os
router = Router()
admin_ids = list(map(int, os.getenv("ADMINS").split(",")))
@router.message(F.text == "/admin")
async def admin_panel(message: Message):
if message.from_user.id not in admin_ids:
return await message.answer("Доступ запрещён.")
await message.answer("Команды:\n/stat — статистика\n/broadcast <текст> — рассылка")
@router.message(F.text.startswith("/stat"))
async def stat_handler(message: Message):
if message.from_user.id not in admin_ids:
return
async with async_session() as session:
total = await session.scalar(select(User).count())
subscribed = await session.scalar(select(User).where(User.is_subscribed).count())
subscribed = await session.scalar(
select(User).where(User.is_subscribed).count()
)
await message.answer(f"Всего пользователей: {total}\nПодписаны: {subscribed}")
@router.message(F.text.startswith("/broadcast "))
async def broadcast_handler(message: Message, bot: Bot):
if message.from_user.id not in admin_ids:
@@ -48,4 +54,4 @@ async def broadcast_handler(message: Message, bot: Bot):
except Exception:
failed += 1
await message.answer(f"📬 Рассылка завершена:\nУспешно: {sent}\nОшибок: {failed}")
await message.answer(f"📬 Рассылка завершена:\nУспешно: {sent}\nОшибок: {failed}")