| from aiogram import Bot, Dispatcher |
| from aiogram.client.default import DefaultBotProperties |
| from aiogram.enums import ParseMode |
| from aiogram.fsm.storage.base import DefaultKeyBuilder |
| from aiogram.fsm.storage.redis import RedisStorage |
| from aiogram.utils.i18n.core import I18n |
| from aiohttp import web |
| from redis.asyncio import ConnectionPool, Redis |
|
|
| from bot.core.config import DEFAULT_LOCALE, I18N_DOMAIN, LOCALES_DIR, settings |
|
|
| app = web.Application() |
|
|
| token = settings.BOT_TOKEN |
|
|
| bot = Bot(token=token, default=DefaultBotProperties(parse_mode=ParseMode.HTML)) |
|
|
| redis_client = Redis( |
| connection_pool=ConnectionPool( |
| host=settings.REDIS_HOST, |
| port=settings.REDIS_PORT, |
| password=settings.REDIS_PASS, |
| db=0, |
| ), |
| ) |
|
|
| storage = RedisStorage( |
| redis=redis_client, |
| key_builder=DefaultKeyBuilder(with_bot_id=True), |
| ) |
|
|
| dp = Dispatcher(storage=storage) |
|
|
| i18n: I18n = I18n(path=LOCALES_DIR, default_locale=DEFAULT_LOCALE, domain=I18N_DOMAIN) |
|
|
| DEBUG = settings.DEBUG |
|
|