This commit is contained in:
2022-05-19 15:09:57 +03:00
parent bba190a782
commit 6762ec09bc
4 changed files with 31 additions and 9 deletions

View File

@ -1,5 +1,7 @@
from urllib import response
from aiogram import types, Bot, Dispatcher
from aiogram.utils.text_decorations import markdown_decoration
import requests
from dotenv import load_dotenv
import os
@ -15,24 +17,41 @@ bot: Bot = Bot(TOKEN)
dp: Dispatcher = Dispatcher()
def escape_md(text):
return markdown_decoration.quote(text)
@dp.message(commands=['run'])
async def message_handler(message: types.Message):
if not message.reply_to_message: return
if not message.reply_to_message:
return
msg = message.reply_to_message
if not msg.entities: return
if not msg.entities:
return
print(msg.text)
for entity in msg.entities:
if entity.type != "pre" and entity.type != "code": continue
if entity.type != "pre" and entity.type != "code":
continue
code = entity.extract(msg.text)
resp = requests.post(HOST+"/run", data={'code': code})
json = resp.json()
if resp.status_code != 200:
return await msg.answer("Произошла ошибка:\n" + json["stderr"])
await msg.reply(f"Резульат\n```gd\n{json['result']}\n```", parse_mode="MarkdownV2")
if json['stderr'].strip() == "":
return await msg.reply("Таймаут скрипта")
return await msg.reply("Произошла ошибка:\n" + json["stderr"])
result = json['result'][:4095]
answer = f"{result}"
repr(result)
if result.strip() == "":
answer = "Скрипт выполнен, вывод пуст."
await msg.reply(answer)
def main():
dp.run_polling(bot)
if __name__ == "__main__":
main()
main()