import logging

from aiogram import Router
from aiogram.filters import CommandStart
from aiogram.types import Message

from config import *
from app.keyboards import start_kb
from app.database.crud_users import add_user_if_not_exists
from app.database.crud_filter import *
from app.utils.message import safe_delete_message

_log = logging.getLogger(__name__)

router = Router()


@router.message(CommandStart())
async def start_handler(message: Message):
    user_id = message.from_user.id
    _log.info("/start от user_id=%s", user_id)

    await safe_delete_message(message)

    if not is_user_allowed(user_id):
        _log.info("/start отклонён: user_id=%s не в whitelist", user_id)
        await message.answer("⛔ Доступ закрыт. Обратитесь к администратору.")
        return

    await message.answer(
        f"<b>Добро пожаловать в бота AutoRia</b>",
        reply_markup=start_kb()
    )

    await add_user_if_not_exists(user_id)
    await add_filtersettings(user_id, "1", [])
