I’ve been trying to make my discord bot translate texts using a module called googletrans. It seems fairly simple and it should have worked without any hassle, or so I thought.
So after my import statements, I have translator = Translator()
.
My following cog code is:
@commands.command(aliases=["tl", "Tl", "Translate"]) async def translate(self, ctx, *, message): language = translator.detect(message) translation = translator.translate(message) embed = discord.Embed(color=discord.Color.dark_theme()) embed.add_field(name=f"Language: {language} ", value=f'{translation}') await ctx.send(embed=embed)
But it shows this error: discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'NoneType' object has no attribute 'group'.
Where am I going wrong? Any help would be much appreciated!
Edit: the full traceback:
Ignoring exception in command translate: Traceback (most recent call last): File "C:Userswave computerPycharmProjectspythonProjectvenvlibsite-packagesdiscordextcommandscore.py", line 85, in wrapped ret = await coro(*args, **kwargs) File "C:Userswave computerPycharmProjectspythonProjectcogstranslate.py", line 13, in translate language = translator.detect(message) File "C:Userswave computerPycharmProjectspythonProjectvenvlibsite-packagesgoogletransclient.py", line 255, in detect data = self._translate(text, 'en', 'auto', kwargs) File "C:Userswave computerPycharmProjectspythonProjectvenvlibsite-packagesgoogletransclient.py", line 78, in _translate token = self.token_acquirer.do(text) File "C:Userswave computerPycharmProjectspythonProjectvenvlibsite-packagesgoogletransgtoken.py", line 194, in do self._update() File "C:Userswave computerPycharmProjectspythonProjectvenvlibsite-packagesgoogletransgtoken.py", line 62, in _update code = self.RE_TKK.search(r.text).group(1).replace('var ', '') AttributeError: 'NoneType' object has no attribute 'group' The above exception was the direct cause of the following exception: Traceback (most recent call last): File "C:Userswave computerPycharmProjectspythonProjectvenvlibsite-packagesdiscordextcommandsbot.py", line 902, in invoke await ctx.command.invoke(ctx) File "C:Userswave computerPycharmProjectspythonProjectvenvlibsite-packagesdiscordextcommandscore.py", line 864, in invoke await injected(*ctx.args, **ctx.kwargs) File "C:Userswave computerPycharmProjectspythonProjectvenvlibsite-packagesdiscordextcommandscore.py", line 94, in wrapped raise CommandInvokeError(exc) from exc discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'NoneType' object has no attribute 'group'
Advertisement
Answer
I had a same problem. Installing alpha version of google trans helped, so try doing this:
pip install googletrans==3.1.0a0
And:
from googletrans import Translator @client.command() async def translate(ctx, lang, *, thing): translator = Translator() translation = translator.translate(thing, dest=lang) await ctx.send(translation.text)