diff options
-rw-r--r--[-rwxr-xr-x] | .gitignore | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | .vscode/settings.json | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | bot.py | 3 | ||||
-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 | ||||
-rw-r--r--[-rwxr-xr-x] | custom_commands.json | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | main.py | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | palette.png | bin | 591 -> 591 bytes |
14 files changed, 80 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore index e40241a..e40241a 100755..100644 --- a/.gitignore +++ b/.gitignore diff --git a/.vscode/settings.json b/.vscode/settings.json index 478c149..478c149 100755..100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -13,7 +13,8 @@ extensions = [ "cogs.trans", "cogs.player", "cogs.general", - "cogs.logs" + "cogs.logs", + "cogs.compiler" ] 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 diff --git a/custom_commands.json b/custom_commands.json index 736cda3..736cda3 100755..100644 --- a/custom_commands.json +++ b/custom_commands.json diff --git a/palette.png b/palette.png Binary files differindex 973a599..973a599 100755..100644 --- a/palette.png +++ b/palette.png |