26 lines
653 B
Python
26 lines
653 B
Python
import os
|
|
from typing import Union
|
|
|
|
from aiogram import Bot
|
|
from pydantic import SecretStr
|
|
from pydantic_settings import BaseSettings
|
|
from sqlalchemy.ext.asyncio import create_async_engine, async_sessionmaker
|
|
|
|
|
|
class Secrets(BaseSettings):
|
|
token: SecretStr
|
|
admin_id: Union[SecretStr.get_secret_value, int]
|
|
db_url: str = "sqlite+aiosqlite:///db.sqlite3"
|
|
|
|
class Config:
|
|
env_file = ".env"
|
|
env_file_encoding = "utf-8"
|
|
|
|
|
|
secrets = Secrets()
|
|
|
|
engine = create_async_engine(url=secrets.db_url)
|
|
sessionmaker = async_sessionmaker(engine, expire_on_commit=False, autocommit=False)
|
|
|
|
bot = Bot(token=secrets.token.get_secret_value())
|