Co-authored-by: Aditya <xditya@ultroid.tech> Co-authored-by: Danish <danish@ultroid.tech> Co-authored-by: Amit Sharma <48654350+buddhhu@users.noreply.github.com> Co-authored-by: TechiError <error@notavailable.live> Co-authored-by: Avish Kumar <85635883+aviskumar@users.noreply.github.com> Co-authored-by: Vɪɴᴀʏᴀᴋ Pᴀɴᴅᴇʏ <87496159+harpia-vieillot@users.noreply.github.com> Co-authored-by: Shrimadhav U K <6317196+spechide@users.noreply.github.com> Co-authored-by: Dark <darkbeamer.official@gmail.com> Co-authored-by: Muhamad Risman Aziz <62795826+mrismanaziz@users.noreply.github.com> Co-authored-by: Ashik Muhammed <84127769+MR-JINN-OF-TG@users.noreply.github.com> Co-authored-by: MMETMA <79155572+MMETMA@users.noreply.github.com> Co-authored-by: amirmehdinzri <94852182+amirmehdinzri@users.noreply.github.com>
141 lines
4.0 KiB
Python
141 lines
4.0 KiB
Python
# Ultroid - UserBot
|
||
# Copyright (C) 2021-2022 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/>.
|
||
"""
|
||
✘ Commands Available -
|
||
|
||
• `{i}install <reply to plugin>`
|
||
To install the plugin,
|
||
`{i}install f`
|
||
To force Install.
|
||
|
||
• `{i}uninstall <plugin name>`
|
||
To unload and remove the plugin.
|
||
|
||
• `{i}load <plugin name>`
|
||
To load unloaded unofficial plugin.
|
||
|
||
• `{i}unload <plugin name>`
|
||
To unload unofficial plugin.
|
||
|
||
• `{i}help <plugin name>`
|
||
Shows you a help menu (like this) for every plugin.
|
||
|
||
• `{i}getaddons <raw link to code>`
|
||
Load Plugins from the given raw link.
|
||
"""
|
||
|
||
import os
|
||
|
||
from pyUltroid.startup.loader import load_addons
|
||
|
||
from . import eod, get_string, requests, safeinstall, ultroid_cmd, un_plug
|
||
|
||
|
||
@ultroid_cmd(pattern="install", fullsudo=True)
|
||
async def install(event):
|
||
await safeinstall(event)
|
||
|
||
|
||
@ultroid_cmd(
|
||
pattern=r"unload ?(.*)",
|
||
)
|
||
async def unload(event):
|
||
shortname = event.pattern_match.group(1)
|
||
if not shortname:
|
||
await event.eor(get_string("core_9"))
|
||
return
|
||
lsd = os.listdir("addons")
|
||
lst = os.listdir("plugins")
|
||
zym = shortname + ".py"
|
||
if zym in lsd:
|
||
try:
|
||
un_plug(shortname)
|
||
await event.eor(f"**Uɴʟᴏᴀᴅᴇᴅ** `{shortname}` **Sᴜᴄᴄᴇssғᴜʟʟʏ.**", time=3)
|
||
except Exception as ex:
|
||
return await event.eor(str(ex))
|
||
elif zym in lst:
|
||
return await event.eor(get_string("core_11"), time=3)
|
||
else:
|
||
return await event.eor(f"**Nᴏ Pʟᴜɢɪɴ Nᴀᴍᴇᴅ** `{shortname}`", time=3)
|
||
|
||
|
||
@ultroid_cmd(
|
||
pattern=r"uninstall ?(.*)",
|
||
)
|
||
async def uninstall(event):
|
||
shortname = event.pattern_match.group(1)
|
||
if not shortname:
|
||
await event.eor(get_string("core_13"))
|
||
return
|
||
lsd = os.listdir("addons")
|
||
lst = os.listdir("plugins")
|
||
zym = 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 lst:
|
||
return await event.eor(get_string("core_15"), time=3)
|
||
else:
|
||
return await event.eor(f"**Nᴏ Pʟᴜɢɪɴ Nᴀᴍᴇᴅ** `{shortname}`", time=3)
|
||
|
||
|
||
@ultroid_cmd(
|
||
pattern=r"load ?(.*)",
|
||
fullsudo=True,
|
||
)
|
||
async def load(event):
|
||
shortname = event.pattern_match.group(1)
|
||
if not shortname:
|
||
await event.eor(get_string("core_16"))
|
||
return
|
||
try:
|
||
try:
|
||
un_plug(shortname)
|
||
except BaseException:
|
||
pass
|
||
load_addons(shortname)
|
||
await event.eor(get_string("core_17").format(shortname), time=3)
|
||
except Exception as e:
|
||
await eod(
|
||
event,
|
||
get_string("core_18").format(shortname, e),
|
||
time=3,
|
||
)
|
||
|
||
|
||
@ultroid_cmd(pattern="getaddons ?(.*)", fullsudo=True)
|
||
async def get_the_addons_lol(event):
|
||
thelink = event.pattern_match.group(1)
|
||
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 "raw" not in thelink:
|
||
return await xx.eor(fool, time=10)
|
||
name_of_it = split_thelink[(len(split_thelink) - 1)]
|
||
plug = requests.get(thelink).text
|
||
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(shortname)
|
||
await xx.eor(get_string("core_17").format(shortname), time=15)
|
||
except Exception as e:
|
||
await eod(
|
||
xx,
|
||
get_string("core_18").format(shortname, e),
|
||
time=3,
|
||
)
|