diff options
author | Mango0x45 <thomasvoss@live.com> | 2020-09-12 13:13:29 +0000 |
---|---|---|
committer | Mango0x45 <thomasvoss@live.com> | 2020-09-12 13:13:29 +0000 |
commit | 0baa36497519711953603db640bf099db19af826 (patch) | |
tree | a5e196ee48d6552894c683db2272de16f8d77c41 /cogs/trans.py | |
parent | fed0c6b1767f3eddbabed9cc28dd0f5615889811 (diff) | |
download | steve-bot-0baa36497519711953603db640bf099db19af826.tar steve-bot-0baa36497519711953603db640bf099db19af826.tar.gz steve-bot-0baa36497519711953603db640bf099db19af826.tar.bz2 steve-bot-0baa36497519711953603db640bf099db19af826.tar.lz steve-bot-0baa36497519711953603db640bf099db19af826.tar.xz steve-bot-0baa36497519711953603db640bf099db19af826.tar.zst steve-bot-0baa36497519711953603db640bf099db19af826.zip |
Black is neat
Diffstat (limited to 'cogs/trans.py')
-rwxr-xr-x | cogs/trans.py | 104 |
1 files changed, 65 insertions, 39 deletions
diff --git a/cogs/trans.py b/cogs/trans.py index 965f68e..d2aead2 100755 --- a/cogs/trans.py +++ b/cogs/trans.py @@ -5,48 +5,74 @@ from google.cloud import translate_v2 as translate translate_client = translate.Client() + async def translateMsg(text, target="en"): - # Text can also be a sequence of strings, in which case this method - # will return a sequence of results for each text. - if isinstance(text, six.binary_type): - text = text.decode('utf-8') - result = translate_client.translate( - text, target_language=target) - print(u'Text: {}'.format(result['input'])) - print(u'Translation: {}'.format(result['translatedText'])) - print(u'Detected source language: {}'.format( - result['detectedSourceLanguage'])) - result['translatedText'] = result['translatedText'].replace("<", "<") - result['translatedText'] = result['translatedText'].replace(">", ">") - result['translatedText'] = result['translatedText'].replace("'", "'") - result['translatedText'] = result['translatedText'].replace(""", '"') - result['translatedText'] = result['translatedText'].replace("<@! ", "<@!") - result['translatedText'] = result['translatedText'].replace("<@ ", "<@") - result['translatedText'] = result['translatedText'].replace("<# ", "<#") - return result; + # Text can also be a sequence of strings, in which case this method + # will return a sequence of results for each text. + if isinstance(text, six.binary_type): + text = text.decode("utf-8") + result = translate_client.translate(text, target_language=target) + print("Text: {}".format(result["input"])) + print("Translation: {}".format(result["translatedText"])) + print("Detected source language: {}".format(result["detectedSourceLanguage"])) + result["translatedText"] = result["translatedText"].replace("<", "<") + result["translatedText"] = result["translatedText"].replace(">", ">") + result["translatedText"] = result["translatedText"].replace("'", "'") + result["translatedText"] = result["translatedText"].replace(""", '"') + result["translatedText"] = result["translatedText"].replace("<@! ", "<@!") + result["translatedText"] = result["translatedText"].replace("<@ ", "<@") + result["translatedText"] = result["translatedText"].replace("<# ", "<#") + return result + class Trans(commands.Cog): + def __init__(self, bot): + self.bot = bot + + @commands.command( + help="Translate text in english (using google translate)", + brief="Translate to english", + aliases=["翻译", "脑热", "动漫"], + ) + async def translate(self, ctx, *, message): + """Translate to english""" + response = await translateMsg(message) + embed = discord.Embed( + title="Translation", + description=f"{ctx.message.author.mention} says:", + timestamp=ctx.message.created_at, + color=0x4D9AFF, + ) + embed.add_field( + name=f"[{response['detectedSourceLanguage']}] Source:", + value=response["input"], + inline=False, + ) + embed.add_field( + name="Translation", value=response["translatedText"], inline=True + ) + await ctx.send(embed=embed) + + @commands.command() + async def trans(self, ctx, lan, *, message): + """Translate to a specific language""" + response = await translateMsg(message, lan) + embed = discord.Embed( + title="Translation", + description=f"{ctx.message.author.mention} says:", + timestamp=ctx.message.created_at, + color=0x4D9AFF, + ) + embed.add_field( + name=f"[{response['detectedSourceLanguage']}] Source:", + value=response["input"], + inline=False, + ) + embed.add_field( + name="Translation", value=response["translatedText"], inline=True + ) + await ctx.send(embed=embed) - def __init__(self, bot): - self.bot = bot - - @commands.command(help="Translate text in english (using google translate)", brief="Translate to english", aliases=["翻译", "脑热", "动漫"]) - async def translate(self, ctx, *, message): - """Translate to english""" - response = await translateMsg(message) - embed=discord.Embed(title="Translation",description=f"{ctx.message.author.mention} says:", timestamp=ctx.message.created_at, color=0x4d9aff) - embed.add_field(name=f"[{response['detectedSourceLanguage']}] Source:" , value=response['input'], inline=False) - embed.add_field(name="Translation", value=response['translatedText'], inline=True) - await ctx.send(embed=embed) - - @commands.command() - async def trans(self, ctx, lan, *, message): - """Translate to a specific language""" - response = await translateMsg(message, lan) - embed=discord.Embed(title="Translation",description=f"{ctx.message.author.mention} says:", timestamp=ctx.message.created_at, color=0x4d9aff) - embed.add_field(name=f"[{response['detectedSourceLanguage']}] Source:" , value=response['input'], inline=False) - embed.add_field(name="Translation", value=response['translatedText'], inline=True) - await ctx.send(embed=embed) def setup(bot): - bot.add_cog(Trans(bot)) + bot.add_cog(Trans(bot)) |