Files
nwxraybot/main.py

35 lines
902 B
Python

import asyncio
import logging
from sys import exit
import uvloop
from nwxraybot import NwXrayBot, Settings
from nwxraybot.handlers import *
from nwxraybot.models import User
async def main(bot: NwXrayBot, skip_updates: bool = True) -> None:
await asyncio.create_task(bot.start())
if __name__ == "__main__":
config = Settings() # Load config from .env
logging.basicConfig(level=logging.DEBUG if config.debug else logging.INFO)
# Check if bot token is set
if config.bot_token == 'token':
logging.error("Bot token is not set")
exit(1)
User.create_table()
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
loop = uvloop.new_event_loop()
asyncio.set_event_loop(loop)
# Start bot
bot = NwXrayBot(config.bot_token.get_secret_value())
bot.include_routers(HelloHandler(), MenuHandler(), AdminHandler())
asyncio.run(main(bot))