Ejemplo n.º 1
0
async def evaluation(client, message):
    if len(message.text.split()) == 1:
        await message.edit("Usage: `eval 1000-7`")
        return
    q = message.text.split(None, 1)[1]
    try:
        ev = str(eval(q))
        if ev:
            if len(ev) >= 4096:
                file = open("nana/cache/output.txt", "w+")
                file.write(ev)
                file.close()
                await client.send_document(message.chat.id, "nana/cache/output.txt",
                                       caption="`Output too large, sending as file`")
                os.remove("nana/cache/output.txt")
            else:
                await message.edit("**Query:**\n{}\n\n**Result:**\n`{}`".format(q, ev))
        else:
            await message.edit("**Query:**\n{}\n\n**Result:**\n`None`".format(q))
            return
    except Exception as e:
        print(e)
        exc_type, exc_obj, exc_tb = sys.exc_info()
        errors = traceback.format_exception(etype=exc_type, value=exc_obj, tb=exc_tb)
        await message.edit("Error: `{}`".format(errors))
        logging.exception("Evaluation error")
Ejemplo n.º 2
0
async def executor(client, message):
	if len(message.text.split()) == 1:
		await message.edit("Usage: `exec message.edit('edited!')`")
		return
	args = message.text.split(None, 1)
	code = args[1]
	try:
		await aexec(client, message, code)
	except:
		exc_type, exc_obj, exc_tb = sys.exc_info()
		errors = traceback.format_exception(etype=exc_type, value=exc_obj, tb=exc_tb)
		await message.edit("**Execute**\n`{}`\n\n**Failed:**\n```{}```".format(code, "".join(errors)))
		logging.exception("Execution error")