diff --git a/DaisyX/__main__.py b/DaisyX/__main__.py index 32d9fdc5..2250ac92 100644 --- a/DaisyX/__main__.py +++ b/DaisyX/__main__.py @@ -10,11 +10,8 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . import asyncio -import os from importlib import import_module from aiogram import executor @@ -25,6 +22,7 @@ from DaisyX.modules import ALL_MODULES, LOADED_MODULES, MOD_HELP from DaisyX.utils.logger import log + if get_bool_key("DEBUG_MODE"): log.debug("Enabling logging middleware.") dp.middleware.setup(LoggingMiddleware()) @@ -32,7 +30,7 @@ LOAD = get_list_key("LOAD") DONT_LOAD = get_list_key("DONT_LOAD") -if get_bool_key("LOAD_MODULES"): +if get_bool_key('LOAD_MODULES'): if len(LOAD) > 0: modules = LOAD else: @@ -42,13 +40,13 @@ log.info("Modules to load: %s", str(modules)) for module_name in modules: - # Load pm_menu at last - if module_name == "pm_menu": + # Load pm_menu at last + if module_name == 'pm_menu': continue log.debug(f"Importing {module_name}") imported_module = import_module("DaisyX.modules." + module_name) - if hasattr(imported_module, "__help__"): - if hasattr(imported_module, "__mod_name__"): + if hasattr(imported_module, '__help__'): + if hasattr(imported_module, '__mod_name__'): MOD_HELP[imported_module.__mod_name__] = imported_module.__help__ else: MOD_HELP[imported_module.__name__] = imported_module.__help__ @@ -61,17 +59,21 @@ import_module("DaisyX.modules.pm_menu") # Import misc stuff + import_module("DaisyX.utils.exit_gracefully") -if not get_bool_key("DEBUG_MODE"): +if not get_bool_key('DEBUG_MODE'): import_module("DaisyX.utils.sentry") async def before_srv_task(loop): - for module in [m for m in LOADED_MODULES if hasattr(m, "__before_serving__")]: - log.debug("Before serving: " + module.__name__) + for module in [m for m in LOADED_MODULES if hasattr(m, '__before_serving__')]: + log.debug('Before serving: ' + module.__name__) loop.create_task(module.__before_serving__(loop)) +import_module("DaisyX.utils.db_structure_migrator") + + async def start(_): log.debug("Starting before serving task for all modules...") loop.create_task(before_srv_task(loop)) @@ -81,25 +83,7 @@ async def start(_): await asyncio.sleep(2) -async def start_webhooks(_): - url = os.getenv("WEBHOOK_URL") + f"/{TOKEN}" - await bot.set_webhook(url) - return await start(_) - - log.info("Starting loop..") log.info("Aiogram: Using polling method") -if os.getenv("WEBHOOKS", False): - port = os.getenv("WEBHOOKS_PORT", 8080) - executor.start_webhook(dp, f"/{TOKEN}", on_startup=start_webhooks, port=port) -else: - executor.start_polling( - dp, - loop=loop, - on_startup=start, - timeout=15, - relax=0.1, - fast=True, - skip_updates=True, - ) +executor.start_polling(dp, loop=loop, on_startup=start)