示例#1
0
def load_module(shortname):
    if shortname.startswith("__"):
        pass
    elif shortname.endswith("_"):
        import importlib
        import sys
        from pathlib import Path

        import fridaybot.modules
        import fridaybot.utils

        path = Path(f"fridaybot/modules/{shortname}.py")
        name = "fridaybot.modules.{}".format(shortname)
        spec = importlib.util.spec_from_file_location(name, path)
        mod = importlib.util.module_from_spec(spec)
        spec.loader.exec_module(mod)
        sedprint.info("Successfully (re)imported " + shortname)
    else:
        import importlib
        import sys
        from pathlib import Path

        import fridaybot.modules
        import fridaybot.utils

        path = Path(f"fridaybot/modules/{shortname}.py")
        name = "fridaybot.modules.{}".format(shortname)
        spec = importlib.util.spec_from_file_location(name, path)
        mod = importlib.util.module_from_spec(spec)
        mod.bot = bot
        mod.tgbot = bot.tgbot
        mod.Config = Config
        mod.Var = Config
        mod.command = command
        mod.logger = logging.getLogger(shortname)
        # support for uniborg
        sys.modules["uniborg.util"] = fridaybot.utils
        sys.modules["friday.util"] = fridaybot.utils
        sys.modules["userbot.utils"] = fridaybot.utils
        sys.modules["userbot.plugins"] = fridaybot.modules
        sys.modules["plugins"] = fridaybot.modules
        sys.modules["userbot"] = fridaybot
        mod.admin_cmd = friday_on_cmd
        mod.sudo_cmd = sudo_cmd
        mod.friday_on_cmd = friday_on_cmd
        mod.CMD_HELP = CMD_HELP
        mod.Config = Config
        mod.ignore_grp = ignore_grp()
        mod.ignore_pm = ignore_pm()
        mod.ignore_bot = ignore_bot()
        mod.am_i_admin = am_i_admin()
        mod.ignore_fwd = ignore_fwd()
        mod.borg = bot
        mod.friday = bot
        # support for paperplaneextended
        sys.modules["fridaybot.events"] = fridaybot.utils
        spec.loader.exec_module(mod)
        # for imports
        sys.modules["fridaybot.modules." + shortname] = mod
        sedprint.info("Successfully imported " + shortname)
示例#2
0
def load_module_dclient(shortname, client):
    if shortname.startswith("__"):
        pass
    elif shortname.endswith("_"):
        import importlib
        import sys
        from pathlib import Path

        import fridaybot.modules
        import fridaybot.utils

        path = Path(f"fridaybot/modules/{shortname}.py")
        name = "fridaybot.modules.{}".format(shortname)
        spec = importlib.util.spec_from_file_location(name, path)
        mod = importlib.util.module_from_spec(spec)
        spec.loader.exec_module(mod)
    else:
        import importlib
        import sys
        from pathlib import Path

        import fridaybot.modules
        import fridaybot.utils

        path = Path(f"fridaybot/modules/{shortname}.py")
        name = "fridaybot.modules.{}".format(shortname)
        spec = importlib.util.spec_from_file_location(name, path)
        mod = importlib.util.module_from_spec(spec)
        mod.bot = client
        mod.tgbot = bot.tgbot
        mod.Config = Config
        mod.Var = Config
        mod.command = command
        sedlu = str(shortname) + "- MClient -"
        mod.logger = logging.getLogger(sedlu)
        # support for uniborg
        sys.modules["uniborg.util"] = fridaybot.utils
        sys.modules["friday.util"] = fridaybot.utils
        sys.modules["userbot.utils"] = fridaybot.utils
        sys.modules["userbot.plugins"] = fridaybot.modules
        sys.modules["plugins"] = fridaybot.modules
        sys.modules["userbot"] = fridaybot
        mod.admin_cmd = friday_on_cmd
        mod.sudo_cmd = sudo_cmd
        mod.friday_on_cmd = friday_on_cmd
        mod.Config = Config
        mod.ignore_grp = ignore_grp()
        mod.ignore_pm = ignore_pm()
        mod.ignore_bot = ignore_bot()
        mod.am_i_admin = am_i_admin()
        mod.ignore_fwd = ignore_fwd()
        mod.borg = client
        mod.friday = client
        mod.CMD_HELP = CMD_HELP
        sys.modules["fridaybot.events"] = fridaybot.utils
        sys.modules["fridaybot.function.events"] = fridaybot.utils
        spec.loader.exec_module(mod)
        sys.modules["fridaybot.modules." + shortname] = mod