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)