-
Notifications
You must be signed in to change notification settings - Fork 0
/
dispatcher.py
30 lines (23 loc) · 823 Bytes
/
dispatcher.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import asyncio
from aiogram import Bot, Dispatcher
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from loguru import logger
from config import load_config
from filters import IsCustomFilter
conf = load_config("config.ini")
# Configure logger
logger.add("./Bot.log", level="DEBUG",
format="<b><g>{time:%Y-%m-%d %r}</g>:<level>{level}</level>:<lw>{name}</lw>:<level>{message}</level></b>",
colorize=True)
# init Bot and Db session
bot = Bot(token=conf.bot.token, parse_mode="MarkdownV2")
dp = Dispatcher(bot)
DB_url = conf.db.db_url
engine = create_engine(DB_url)
model = declarative_base()
DB_session = sessionmaker(bind=engine)
db_s = DB_session()
# activate filters
dp.filters_factory.bind(IsCustomFilter)