From 6ebbf6b907c02138efef07b12a020a64b9bd0149 Mon Sep 17 00:00:00 2001 From: def Date: Fri, 9 Sep 2022 10:22:27 +0200 Subject: [PATCH] first --- config.yaml | 5 +++++ loader.py | 39 +++++++++++++++++++++++++++++++++++++++ main.py | 10 ++++++++++ requirements.txt | 4 ++++ 4 files changed, 58 insertions(+) create mode 100644 config.yaml create mode 100644 loader.py create mode 100644 main.py create mode 100644 requirements.txt diff --git a/config.yaml b/config.yaml new file mode 100644 index 0000000..0aafe03 --- /dev/null +++ b/config.yaml @@ -0,0 +1,5 @@ +settings: + +apscheduler_config = : + type: sqlalchemy + url: sqlite:///cron_jobs.db \ No newline at end of file diff --git a/loader.py b/loader.py new file mode 100644 index 0000000..9125554 --- /dev/null +++ b/loader.py @@ -0,0 +1,39 @@ +from aiogram import Bot +from aiogram.contrib.fsm_storage.memory import MemoryStorage +from aiogram.dispatcher import Dispatcher + +from middlewares.database import DbMiddleware + +import asyncio +import asyncpg +from apscheduler.schedulers.asyncio import AsyncIOScheduler + +import os +from dotenv import load_dotenv +import pretty_errors + + +async def create_pool(database, user, password: None): + return await asyncpg.create_pool(database=database, + user=user) + +loop = asyncio.get_event_loop() + +load_dotenv() +TOKEN = os.getenv("TOKEN") +DB_NAME = os.getenv("DB_NAME") +DB_USER = os.getenv("DB_USER") +DB_PASS = os.getenv("DB_PASS") +pool = loop.run_until_complete(create_pool(DB_NAME, DB_USER, DB_PASS)) + +bot = Bot(token=TOKEN) +dp = Dispatcher(bot, storage=MemoryStorage()) +dp.middleware.setup(DbMiddleware(pool)) + +apscheduler_config = { + 'apscheduler.jobstores.default': { + 'type': 'sqlalchemy', + 'url': 'sqlite:///cron_jobs.db' + } +} +scheduler = AsyncIOScheduler(apscheduler_config) diff --git a/main.py b/main.py new file mode 100644 index 0000000..4464f34 --- /dev/null +++ b/main.py @@ -0,0 +1,10 @@ +#!/usr/bin/python +from aiogram import executor + +from loader import dp +import handlers + + +if __name__ == '__main__': + handlers.register_handlers(dp) + executor.start_polling(dp, skip_updates=True) diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..9ae3024 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +loguru +pretty_errors +pyyaml +aiogram \ No newline at end of file