PagerMaid-Discord/pagermaid/modules/__init__.py

50 lines
1.4 KiB
Python

""" PagerMaid module and plugin init. """
from os.path import dirname, basename, isfile, exists
from os import getcwd, makedirs
from glob import glob
from pagermaid import logs
def __list_modules():
module_paths = glob(dirname(__file__) + "/*.py")
result = [
basename(file)[:-3]
for file in module_paths
if isfile(file) and file.endswith(".py") and not file.endswith("__init__.py")
]
return result
def __list_plugins():
plugin_paths = glob(f"{getcwd()}/plugins" + "/*.py")
if not exists(f"{getcwd()}/plugins"):
makedirs(f"{getcwd()}/plugins")
result = [
basename(file)[:-3]
for file in plugin_paths
if isfile(file) and file.endswith(".py") and not file.endswith("__init__.py")
]
return result
module_list_string = ""
plugin_list_string = ""
for module in sorted(__list_modules()):
module_list_string += f"{module}, "
module_list_string = module_list_string[:-2]
for plugin in sorted(__list_plugins()):
plugin_list_string += f"{plugin}, "
plugin_list_string = plugin_list_string[:-2]
module_list = sorted(__list_modules())
plugin_list = sorted(__list_plugins())
logs.info(f"加载内置模块: {module_list_string}")
if len(plugin_list) > 0:
logs.info(f"加载插件: {plugin_list_string}")
__all__ = __list_modules() + ["module_list"] + __list_plugins() + ["plugin_list"]