| """ |
| QR Code Generator Telegram Bot |
| Asosiy ishga tushirish fayli |
| """ |
|
|
| import asyncio |
| import logging |
| import sys |
|
|
| from aiogram import Bot, Dispatcher |
| from aiogram.fsm.storage.memory import MemoryStorage |
| from aiogram.client.default import DefaultBotProperties |
| from aiogram.enums import ParseMode |
|
|
| from config import BOT_TOKEN |
| from services.db import init_db |
|
|
| |
| from handlers import start, generate, read_qr, settings, batch, history, inline, admin |
|
|
|
|
| async def main(): |
| """Botni ishga tushirish""" |
| |
| logging.basicConfig( |
| level=logging.INFO, |
| format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", |
| stream=sys.stdout, |
| ) |
| logger = logging.getLogger(__name__) |
|
|
| |
| await init_db() |
| logger.info("[OK] Database tayyor") |
|
|
| |
| bot = Bot( |
| token=BOT_TOKEN, |
| default=DefaultBotProperties(parse_mode=ParseMode.HTML), |
| ) |
| dp = Dispatcher(storage=MemoryStorage()) |
|
|
| dp.include_router(admin.router) |
| dp.include_router(start.router) |
| dp.include_router(generate.router) |
| dp.include_router(settings.router) |
| dp.include_router(batch.router) |
| dp.include_router(history.router) |
| dp.include_router(inline.router) |
| dp.include_router(read_qr.router) |
|
|
| logger.info("[Start] Bot ishga tushmoqda...") |
|
|
| |
| await bot.delete_webhook(drop_pending_updates=True) |
|
|
| |
| try: |
| await dp.start_polling(bot) |
| finally: |
| await bot.session.close() |
|
|
|
|
| if __name__ == "__main__": |
| asyncio.run(main()) |
|
|