import asyncio
import logging

from aiogram import Bot, Dispatcher, Router
from aiogram.types import Message
from aiogram.filters import CommandStart, Command

from config import settings
from database.manager import DatabaseManager

logging.basicConfig(level=logging.INFO)
log = logging.getLogger("football-bot")

bot = Bot(token=settings.TELEGRAM_BOT_TOKEN)
dp = Dispatcher()
router = Router()
db = DatabaseManager()


@router.message(CommandStart())
async def start_cmd(message: Message):
    await message.answer("🤖 Football AI Bot is running")


@router.message(Command("stats"))
async def stats_cmd(message: Message):
    rows = await db.fetch_all(
        """
        SELECT team_name, attack, defense
        FROM team_stats
        ORDER BY attack DESC
        LIMIT 10
        """
    )

    if not rows:
        await message.answer("❌ Нет данных по силе команд")
        return

    text = "🔥 Топ команд по атаке:\n\n"
    for r in rows:
        text += f"{r['team_name']}: ⚔ {r['attack']:.2f} | 🛡 {r['defense']:.2f}\n"

    await message.answer(text)


async def main():
    dp.include_router(router)
    log.info("Bot started")
    await dp.start_polling(bot)


if __name__ == "__main__":
    asyncio.run(main())

