diff options
Diffstat (limited to 'cogs')
-rw-r--r-- | cogs/compiler.py | 78 | ||||
-rw-r--r--[-rwxr-xr-x] | cogs/general.py | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | cogs/help.py | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | cogs/logs.py | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | cogs/player.py | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | cogs/src.py | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | cogs/trans.py | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | cogs/utils.py | 0 |
8 files changed, 78 insertions, 0 deletions
diff --git a/cogs/compiler.py b/cogs/compiler.py new file mode 100644 index 0000000..3046349 --- /dev/null +++ b/cogs/compiler.py @@ -0,0 +1,78 @@ +from discord.ext import commands +import discord +import requests +import json + +class Compiler(commands.Cog): + def __init__(self, bot): + self.bot = bot + + @commands.command() + async def compile(self, ctx, language=None, *, code=None): + """ + listRequest = requests.get("https://wandbox.org/api/list.json") + compilerList = json.loads(listRequest.text) + + for i in compilerList: + if i["language"] == language: + compiler = i["name"] + print(compiler) + """ + compilers = { + "python":"cpython-3.8.0", + "c":"gcc-head-c", + "javascript":"nodejs-head", + "typescript":"typescript-3.5.1", + "c#":"dotnetcore-head", + "bash": "bash", + "vim-script": "vim-head", + "cpp": "gcc-head", + "swift": "swift-5.0.1", + "php": "php-head", + "coffeescript": "coffeescript-head", + "go": "go-head", + "java": "openjdk-head", + "ruby": "ruby-head", + "rust": "rust-head", + "sql": "sqlite-head", + "perl": "perl-head", + "lua": "lua-5.3.4" + } + if not language: + await ctx.send(f"```json\n{json.dumps(compilers, indent=4)}```") + if not code: + await ctx.send("No code found") + return + try: + compiler = compilers[language] + except KeyError: + await ctx.send("Language not found") + return + body = { + "compiler": compiler, + "code": code, + "save": True + } + head = { + "Content-Type":"application/json" + } + async with ctx.typing(): + r = requests.post("https://wandbox.org/api/compile.json", headers=head, data=json.dumps(body)) + try: + response = json.loads(r.text) + #await ctx.send(f"```json\n{json.dumps(response, indent=4)}```") + print(f"```json\n{json.dumps(response, indent=4)}```") + except json.decoder.JSONDecodeError: + await ctx.send(f"```json\n{r.text}```") + + try: + embed=discord.Embed(title="Compiled code") + embed.add_field(name="Output", value=f'```{response["program_message"]}```', inline=False) + embed.add_field(name="Exit code", value=response["status"], inline=True) + embed.add_field(name="Link", value=f"[Permalink]({response['url']})", inline=True) + await ctx.send(embed=embed) + except KeyError: + await ctx.send(f"```json\n{json.dumps(response, indent=4)}```") + +def setup(bot): + bot.add_cog(Compiler(bot))
\ No newline at end of file diff --git a/cogs/general.py b/cogs/general.py index 0847cd4..0847cd4 100755..100644 --- a/cogs/general.py +++ b/cogs/general.py diff --git a/cogs/help.py b/cogs/help.py index 91c9c45..91c9c45 100755..100644 --- a/cogs/help.py +++ b/cogs/help.py diff --git a/cogs/logs.py b/cogs/logs.py index c1b3a49..c1b3a49 100755..100644 --- a/cogs/logs.py +++ b/cogs/logs.py diff --git a/cogs/player.py b/cogs/player.py index 5c046a7..5c046a7 100755..100644 --- a/cogs/player.py +++ b/cogs/player.py diff --git a/cogs/src.py b/cogs/src.py index f0619d4..f0619d4 100755..100644 --- a/cogs/src.py +++ b/cogs/src.py diff --git a/cogs/trans.py b/cogs/trans.py index 2c6ed71..2c6ed71 100755..100644 --- a/cogs/trans.py +++ b/cogs/trans.py diff --git a/cogs/utils.py b/cogs/utils.py index 68567f0..68567f0 100755..100644 --- a/cogs/utils.py +++ b/cogs/utils.py |