taslim19
commited on
Commit
·
55c6269
1
Parent(s):
3230e50
fix(dev): Correctly pass mongodb to eval scope
Browse files
DragMusic/plugins/tools/dev.py
CHANGED
@@ -21,10 +21,17 @@ from DragMusic.utils.pastebin import paste
|
|
21 |
|
22 |
async def aexec(code, client, message):
|
23 |
exec(
|
24 |
-
"async def __aexec(client, message)
|
25 |
-
+ "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
)
|
27 |
-
return await locals()["__aexec"](client, message)
|
28 |
|
29 |
|
30 |
async def edit_or_reply(msg: Message, **kwargs):
|
@@ -32,6 +39,25 @@ async def edit_or_reply(msg: Message, **kwargs):
|
|
32 |
await func(**kwargs)
|
33 |
|
34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
@app.on_message(filters.text & filters.user(OWNER_ID) & ~filters.forwarded & ~filters.via_bot)
|
36 |
async def executor(client: app, message: Message):
|
37 |
"""Executes Python or shell commands based on plain text input."""
|
|
|
21 |
|
22 |
async def aexec(code, client, message):
|
23 |
exec(
|
24 |
+
"async def __aexec(client, message, mongodb):\n"
|
25 |
+
+ " try:\n"
|
26 |
+
+ " p = print\n"
|
27 |
+
+ " reply = message.reply_to_message\n"
|
28 |
+
+ " chat = message.chat.id\n"
|
29 |
+
+ " "
|
30 |
+
+ "".join(f" {l}\n" for l in code.split("\n"))
|
31 |
+
+ " except Exception as e:\n"
|
32 |
+
+ " print(e)"
|
33 |
)
|
34 |
+
return await locals()["__aexec"](client, message, mongodb)
|
35 |
|
36 |
|
37 |
async def edit_or_reply(msg: Message, **kwargs):
|
|
|
39 |
await func(**kwargs)
|
40 |
|
41 |
|
42 |
+
@app.on_message(
|
43 |
+
filters.command(["eval", "e"]) & SUDOERS & ~filters.forwarded & ~filters.via_bot
|
44 |
+
)
|
45 |
+
async def executor(client, message: Message):
|
46 |
+
if len(message.command) < 2:
|
47 |
+
return await message.reply_text("<b>» ᴡʜᴀᴛ ʏᴏᴜ ᴡᴀɴɴᴀ ᴇxᴇᴄᴜᴛᴇ ?</b>")
|
48 |
+
try:
|
49 |
+
cmd = message.text.split(" ", maxsplit=1)[1]
|
50 |
+
except IndexError:
|
51 |
+
return await message.delete()
|
52 |
+
t1 = time.time()
|
53 |
+
try:
|
54 |
+
await aexec(cmd, client, message)
|
55 |
+
except Exception as e:
|
56 |
+
await message.reply_text(e)
|
57 |
+
t2 = time.time()
|
58 |
+
await message.reply_text(f"<b>» ᴛᴏᴏᴋ {round(t2 - t1, 3)} sᴇᴄᴏɴᴅs ᴛᴏ ᴇxᴇᴄᴜᴛᴇ.</b>")
|
59 |
+
|
60 |
+
|
61 |
@app.on_message(filters.text & filters.user(OWNER_ID) & ~filters.forwarded & ~filters.via_bot)
|
62 |
async def executor(client: app, message: Message):
|
63 |
"""Executes Python or shell commands based on plain text input."""
|