taslim19 commited on
Commit
55c6269
·
1 Parent(s): 3230e50

fix(dev): Correctly pass mongodb to eval scope

Browse files
Files changed (1) hide show
  1. DragMusic/plugins/tools/dev.py +29 -3
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
- + "".join(f"\n {a}" for a in code.split("\n"))
 
 
 
 
 
 
 
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."""