Stage 01 - bootstrap v2 stable start
This commit is contained in:
1
app/src/bootstrap/__init__.py
Normal file
1
app/src/bootstrap/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
"""Package marker."""
|
||||
22
app/src/bootstrap/app_factory.py
Normal file
22
app/src/bootstrap/app_factory.py
Normal file
@@ -0,0 +1,22 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from aiogram import Bot, Dispatcher
|
||||
from aiogram.client.default import DefaultBotProperties
|
||||
|
||||
from src.bootstrap.logging import setup_logging
|
||||
from src.core.config import load_settings
|
||||
from src.telegram.routers import setup_routers
|
||||
|
||||
|
||||
def create_app() -> tuple[Bot, Dispatcher]:
|
||||
settings = load_settings()
|
||||
setup_logging(settings.log_level)
|
||||
|
||||
bot = Bot(
|
||||
token=settings.bot_token,
|
||||
default=DefaultBotProperties(parse_mode=settings.bot_parse_mode),
|
||||
)
|
||||
dispatcher = Dispatcher()
|
||||
setup_routers(dispatcher)
|
||||
|
||||
return bot, dispatcher
|
||||
10
app/src/bootstrap/logging.py
Normal file
10
app/src/bootstrap/logging.py
Normal file
@@ -0,0 +1,10 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
|
||||
|
||||
def setup_logging(log_level: str) -> None:
|
||||
logging.basicConfig(
|
||||
level=getattr(logging, log_level.upper(), logging.INFO),
|
||||
format="%(asctime)s | %(levelname)s | %(name)s | %(message)s",
|
||||
)
|
||||
Reference in New Issue
Block a user