1
0
Fork 0
mirror of synced 2024-05-05 05:02:30 +12:00

Use check_output to stop blocking

This commit is contained in:
Phxntxm 2018-01-11 11:32:41 -06:00
parent 0d3ec6f46f
commit 936040a6c8

View file

@ -253,12 +253,9 @@ class Owner:
@commands.check(utils.is_owner)
async def bash(self, ctx, *, cmd: str):
"""Runs a bash command"""
proc = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
output, error = proc.communicate()
output = subprocess.check_output("{}; exit 0".format(cmd), stderr=subprocess.STDOUT, shell=True)
if output:
await ctx.send("STDOUT:\n```\n{}```".format(output.decode("utf-8", "ignore").strip()))
if error:
await ctx.send("STDERR:\n```\n{}```".format(error.decode("utf-8", "ignore").strip()))
await ctx.send("\n```\n{}```".format(output.decode("utf-8", "ignore").strip()))
@commands.command()
@commands.check(utils.is_owner)