mirror of
https://github.com/civsocit/olgram.git
synced 2025-12-15 14:26:16 +00:00
Миграции
This commit is contained in:
60
main.py
Normal file
60
main.py
Normal file
@@ -0,0 +1,60 @@
|
||||
import asyncio
|
||||
|
||||
from aiogram import Bot as AioBot, Dispatcher
|
||||
from aiogram.contrib.fsm_storage.memory import MemoryStorage
|
||||
from tortoise.signals import post_delete, post_save
|
||||
from tortoise import Tortoise
|
||||
|
||||
from olgram.settings import BotSettings, TORTOISE_ORM
|
||||
|
||||
from olgram.commands.bots import router as bots_router
|
||||
from olgram.commands.start import router as start_router
|
||||
from olgram.commands.bot import router as bot_router
|
||||
|
||||
from olgram.models.models import Bot
|
||||
from extendedinstance.bot import BotInstanceDatabase
|
||||
|
||||
|
||||
@post_save(Bot)
|
||||
async def signal_post_save(
|
||||
sender,
|
||||
instance: Bot,
|
||||
created: bool,
|
||||
using_db,
|
||||
update_fields,
|
||||
) -> None:
|
||||
if created:
|
||||
await BotInstanceDatabase.on_create(instance)
|
||||
|
||||
|
||||
@post_delete(Bot)
|
||||
async def signal_post_delete(sender, instance: Bot, using_db) -> None:
|
||||
await BotInstanceDatabase.on_delete(instance)
|
||||
|
||||
|
||||
async def init_database():
|
||||
await Tortoise.init(config=TORTOISE_ORM)
|
||||
|
||||
|
||||
def main():
|
||||
"""
|
||||
Classic polling
|
||||
"""
|
||||
loop = asyncio.get_event_loop()
|
||||
loop.run_until_complete(init_database())
|
||||
|
||||
bot = AioBot(BotSettings.token())
|
||||
dp = Dispatcher(bot, storage=MemoryStorage())
|
||||
|
||||
start_router.setup(dp)
|
||||
bots_router.setup(dp)
|
||||
bot_router.setup(dp)
|
||||
|
||||
loop.run_until_complete(BotInstanceDatabase.run_all())
|
||||
loop.create_task(dp.start_polling())
|
||||
|
||||
loop.run_forever()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Reference in New Issue
Block a user