| |
| |
| |
| |
| |
| |
|
|
| from importlib import util |
| from sys import modules |
|
|
| |
|
|
| configPaths = [ |
| "ub", |
| "var", |
| "support", |
| "userbot", |
| "telebot", |
| "fridaybot", |
| "uniborg.util", |
| "telebot.utils", |
| "userbot.utils", |
| "userbot.events", |
| "userbot.config", |
| "fridaybot.utils", |
| "fridaybot.Config", |
| "userbot.uniborgConfig", |
| ] |
|
|
|
|
| def load_addons(plugin_name): |
| base_name = plugin_name.split("/")[-1].split("\\")[-1].replace(".py", "") |
| if base_name.startswith("__"): |
| return |
| from pyUltroid import fns |
|
|
| from .. import HNDLR, LOGS, asst, udB, ultroid_bot |
| from .._misc import _supporter as config |
| from .._misc._assistant import asst_cmd, callback, in_pattern |
| from .._misc._decorators import ultroid_cmd |
| from .._misc._supporter import Config, admin_cmd, sudo_cmd |
| from .._misc._wrappers import eod, eor |
| from ..configs import Var |
| from ..dB._core import HELP |
|
|
| name = plugin_name.replace("/", ".").replace("\\", ".").replace(".py", "") |
| spec = util.spec_from_file_location(name, plugin_name) |
| mod = util.module_from_spec(spec) |
| for path in configPaths: |
| modules[path] = config |
| modules["pyUltroid.functions"] = fns |
| mod.LOG_CHANNEL = udB.get_key("LOG_CHANNEL") |
| mod.udB = udB |
| mod.asst = asst |
| mod.tgbot = asst |
| mod.ultroid_bot = ultroid_bot |
| mod.ub = ultroid_bot |
| mod.bot = ultroid_bot |
| mod.ultroid = ultroid_bot |
| mod.borg = ultroid_bot |
| mod.telebot = ultroid_bot |
| mod.jarvis = ultroid_bot |
| mod.friday = ultroid_bot |
| mod.eod = eod |
| mod.edit_delete = eod |
| mod.LOGS = LOGS |
| mod.in_pattern = in_pattern |
| mod.hndlr = HNDLR |
| mod.handler = HNDLR |
| mod.HNDLR = HNDLR |
| mod.CMD_HNDLR = HNDLR |
| mod.Config = Config |
| mod.Var = Var |
| mod.eor = eor |
| mod.edit_or_reply = eor |
| mod.asst_cmd = asst_cmd |
| mod.ultroid_cmd = ultroid_cmd |
| mod.on_cmd = ultroid_cmd |
| mod.callback = callback |
| mod.Redis = udB.get_key |
| mod.admin_cmd = admin_cmd |
| mod.sudo_cmd = sudo_cmd |
| mod.HELP = HELP.get("Addons", {}) |
| mod.CMD_HELP = HELP.get("Addons", {}) |
|
|
| spec.loader.exec_module(mod) |
| modules[name] = mod |
| doc = modules[name].__doc__.format(i=HNDLR) if modules[name].__doc__ else "" |
| if "Addons" in HELP.keys(): |
| update_cmd = HELP["Addons"] |
| try: |
| update_cmd.update({base_name: doc}) |
| except BaseException: |
| pass |
| else: |
| try: |
| HELP.update({"Addons": {base_name: doc}}) |
| except BaseException as em: |
| pass |
|
|