aboutsummaryrefslogtreecommitdiff
path: root/cogs/trans.py
diff options
context:
space:
mode:
authorMango0x45 <thomasvoss@live.com>2020-09-12 13:13:29 +0000
committerMango0x45 <thomasvoss@live.com>2020-09-12 13:13:29 +0000
commit0baa36497519711953603db640bf099db19af826 (patch)
treea5e196ee48d6552894c683db2272de16f8d77c41 /cogs/trans.py
parentfed0c6b1767f3eddbabed9cc28dd0f5615889811 (diff)
downloadsteve-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-xcogs/trans.py104
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("&lt;", "<")
- result['translatedText'] = result['translatedText'].replace("&gt;", ">")
- result['translatedText'] = result['translatedText'].replace("&#39;", "'")
- result['translatedText'] = result['translatedText'].replace("&quot;", '"')
- 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("&lt;", "<")
+ result["translatedText"] = result["translatedText"].replace("&gt;", ">")
+ result["translatedText"] = result["translatedText"].replace("&#39;", "'")
+ result["translatedText"] = result["translatedText"].replace("&quot;", '"')
+ 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))