|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|