PagerMaid-Pyro/pagermaid/__main__.py
2022-11-14 22:15:46 +08:00

48 lines
1.4 KiB
Python

from sys import path, platform
from os import sep
from importlib import import_module
from pyrogram import idle
from pagermaid import bot, logs, working_dir
from pagermaid.hook import Hook
from pagermaid.modules import module_list, plugin_list
from pagermaid.single_utils import safe_remove
from pagermaid.utils import lang, process_exit
path.insert(1, f"{working_dir}{sep}plugins")
async def main():
logs.info(lang('platform') + platform + lang('platform_load'))
await bot.start()
me = await bot.get_me()
if me.is_bot:
safe_remove("pagermaid.session")
exit()
logs.info(f"{lang('save_id')} {me.first_name}({me.id})")
for module_name in module_list:
try:
import_module(f"pagermaid.modules.{module_name}")
except BaseException as exception:
logs.info(f"{lang('module')} {module_name} {lang('error')}: {type(exception)}: {exception}")
for plugin_name in plugin_list:
try:
import_module(f"plugins.{plugin_name}")
except BaseException as exception:
logs.info(f"{lang('module')} {plugin_name} {lang('error')}: {exception}")
plugin_list.remove(plugin_name)
await process_exit(start=True, _client=bot)
logs.info(lang('start'))
await Hook.load_success_exec()
await Hook.startup()
await idle()
await bot.stop()
bot.run(main())