Spaces:
Paused
Paused
| # Ultroid - UserBot | |
| # Copyright (C) 2021-2023 TeamUltroid | |
| # | |
| # This file is a part of < https://github.com/TeamUltroid/Ultroid/ > | |
| # PLease read the GNU Affero General Public License in | |
| # <https://www.github.com/TeamUltroid/Ultroid/blob/main/LICENSE/>. | |
| from . import get_help | |
| __doc__ = get_help("help_core") | |
| import os | |
| from pyUltroid.startup.loader import load_addons | |
| from . import LOGS, async_searcher, eod, get_string, safeinstall, ultroid_cmd, un_plug | |
| async def install(event): | |
| await safeinstall(event) | |
| async def unload(event): | |
| shortname = event.pattern_match.group(1).strip() | |
| if not shortname: | |
| await event.eor(get_string("core_9")) | |
| return | |
| lsd = os.listdir("addons") | |
| zym = f"{shortname}.py" | |
| if zym in lsd: | |
| try: | |
| un_plug(shortname) | |
| await event.eor(f"**Uɴʟᴏᴀᴅᴇᴅ** `{shortname}` **Sᴜᴄᴄᴇssғᴜʟʟʏ.**", time=3) | |
| except Exception as ex: | |
| LOGS.exception(ex) | |
| return await event.eor(str(ex)) | |
| elif zym in os.listdir("plugins"): | |
| return await event.eor(get_string("core_11"), time=3) | |
| else: | |
| await event.eor(f"**Nᴏ Pʟᴜɢɪɴ Nᴀᴍᴇᴅ** `{shortname}`", time=3) | |
| async def uninstall(event): | |
| shortname = event.pattern_match.group(1).strip() | |
| if not shortname: | |
| await event.eor(get_string("core_13")) | |
| return | |
| lsd = os.listdir("addons") | |
| zym = f"{shortname}.py" | |
| if zym in lsd: | |
| try: | |
| un_plug(shortname) | |
| await event.eor(f"**Uɴɪɴsᴛᴀʟʟᴇᴅ** `{shortname}` **Sᴜᴄᴄᴇssғᴜʟʟʏ.**", time=3) | |
| os.remove(f"addons/{shortname}.py") | |
| except Exception as ex: | |
| return await event.eor(str(ex)) | |
| elif zym in os.listdir("plugins"): | |
| return await event.eor(get_string("core_15"), time=3) | |
| else: | |
| return await event.eor(f"**Nᴏ Pʟᴜɢɪɴ Nᴀᴍᴇᴅ** `{shortname}`", time=3) | |
| async def load(event): | |
| shortname = event.pattern_match.group(1).strip() | |
| if not shortname: | |
| await event.eor(get_string("core_16")) | |
| return | |
| try: | |
| try: | |
| un_plug(shortname) | |
| except BaseException: | |
| pass | |
| load_addons(f"addons/{shortname}.py") | |
| await event.eor(get_string("core_17").format(shortname), time=3) | |
| except Exception as e: | |
| LOGS.exception(e) | |
| await eod( | |
| event, | |
| get_string("core_18").format(shortname, e), | |
| time=3, | |
| ) | |
| async def get_the_addons_lol(event): | |
| thelink = event.pattern_match.group(1).strip() | |
| xx = await event.eor(get_string("com_1")) | |
| fool = get_string("gas_1") | |
| if thelink is None: | |
| return await xx.eor(fool, time=10) | |
| split_thelink = thelink.split("/") | |
| if not ("raw" in thelink and thelink.endswith(".py")): | |
| return await xx.eor(fool, time=10) | |
| name_of_it = split_thelink[-1] | |
| plug = await async_searcher(thelink) | |
| fil = f"addons/{name_of_it}" | |
| await xx.edit("Packing the codes...") | |
| with open(fil, "w", encoding="utf-8") as uult: | |
| uult.write(plug) | |
| await xx.edit("Packed. Now loading the plugin..") | |
| shortname = name_of_it.split(".")[0] | |
| try: | |
| load_addons(fil) | |
| await xx.eor(get_string("core_17").format(shortname), time=15) | |
| except Exception as e: | |
| LOGS.exception(e) | |
| await eod( | |
| xx, | |
| get_string("core_18").format(shortname, e), | |
| time=3, | |
| ) | |