Initial commit

This commit is contained in:
2026-01-01 03:23:00 +03:00
parent bf04bde890
commit 046a117b09
7 changed files with 65 additions and 27 deletions
+43
View File
@@ -0,0 +1,43 @@
import asyncio
import logging
from aiogram import Bot, Dispatcher
from aiogram.client.default import DefaultBotProperties
from aiogram.enums import ParseMode
from dishka import make_async_container
from dishka.integrations.aiogram import setup_dishka
from trudex.application.bot.handlers import router
from trudex.infrastructure.di import DatabaseProvider
from trudex.infrastructure.utils.config import Config
async def main() -> None:
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s"
)
config = Config.from_toml("config.toml")
bot = Bot(
token=config.bot.token,
default=DefaultBotProperties(parse_mode=ParseMode.HTML)
)
dp = Dispatcher()
dp.include_router(router)
container = make_async_container(DatabaseProvider())
setup_dishka(container, dp)
logging.info("Бот запущен")
try:
await dp.start_polling(bot)
finally:
await bot.session.close()
if __name__ == "__main__":
asyncio.run(main())
+6
View File
@@ -1,3 +1,9 @@
from aiogram import Router
from aiogram.filters import CommandStart
from aiogram.types import Message
router = Router()
@router.message(CommandStart())
async def start_handler(message: Message) -> None:
await message.answer("Привет! Я бот для тестирования по охране труда.")