Update Akeno/plugins/eval.py
Browse files- Akeno/plugins/eval.py +8 -41
Akeno/plugins/eval.py
CHANGED
@@ -96,46 +96,13 @@ async def evaluation_cmd_t(client: Client, message: Message):
|
|
96 |
|
97 |
async def aexec(code, client, message):
|
98 |
exec(
|
99 |
-
|
100 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
)
|
102 |
return await locals()["__aexec"](client, message)
|
103 |
-
|
104 |
-
@Akeno(
|
105 |
-
~filters.scheduled
|
106 |
-
& filters.command(["bash", "shell"], CMD_HANDLER)
|
107 |
-
& filters.me
|
108 |
-
& ~filters.forwarded
|
109 |
-
)
|
110 |
-
@with_args("<b>Command is not provided</b>")
|
111 |
-
async def shell_handler(_: Client, message: Message):
|
112 |
-
await message.edit("<b><emoji id=5821116867309210830>π</emoji> Executing...</b>")
|
113 |
-
|
114 |
-
cmd_text = get_args_raw(message)
|
115 |
-
|
116 |
-
text = (
|
117 |
-
"<b><emoji id=5821388137443626414>π</emoji> Language:</b>\n<code>Shell</code>\n\n"
|
118 |
-
"<b><emoji id=5431376038628171216>π»</emoji> Command:</b>\n"
|
119 |
-
f'<pre language="sh">{html.escape(cmd_text)}</pre>\n\n'
|
120 |
-
)
|
121 |
-
|
122 |
-
timeout = sql_db.get("shell", "timeout", 60)
|
123 |
-
try:
|
124 |
-
start_time = perf_counter()
|
125 |
-
rcode, stdout, stderr = await shell_exec(
|
126 |
-
command=cmd_text, executable=sql_db.get("shell", "executable"), timeout=timeout
|
127 |
-
)
|
128 |
-
except asyncio.exceptions.TimeoutError:
|
129 |
-
text += (
|
130 |
-
"<b><emoji id=5465665476971471368>β</emoji> Error!</b>\n"
|
131 |
-
f"<b>Timeout expired ({timeout} seconds)</b>"
|
132 |
-
)
|
133 |
-
else:
|
134 |
-
stop_time = perf_counter()
|
135 |
-
text += (
|
136 |
-
"<b><emoji id=5472164874886846699>β¨</emoji> Result</b>:\n"
|
137 |
-
f"<code>{html.escape(stderr or stdout)}</code>"
|
138 |
-
)
|
139 |
-
text += f"<b>Completed in {round(stop_time - start_time, 5)} seconds with code {rcode}</b>"
|
140 |
-
|
141 |
-
await message.edit(text)
|
|
|
96 |
|
97 |
async def aexec(code, client, message):
|
98 |
exec(
|
99 |
+
(
|
100 |
+
"async def __aexec(client, message):\n"
|
101 |
+
+ " randydev = message\n"
|
102 |
+
+ " message = event = randydev\n"
|
103 |
+
+ " r = reply = message.reply_to_message\n"
|
104 |
+
+ " chat = message.chat.id\n"
|
105 |
+
)
|
106 |
+
+ "".join(f"\n {l}" for l in code.split("\n"))
|
107 |
)
|
108 |
return await locals()["__aexec"](client, message)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|