Compare commits

..

No commits in common. "90ed10f25b5109ab39aad1e5f2040a312ecfc20c" and "585a8ac749c04728ae0166897e6ff4fb6822109c" have entirely different histories.

2 changed files with 23 additions and 15 deletions

View File

@ -1,7 +0,0 @@
FROM python:slim
LABEL authors="ENUB"
COPY requirements.txt /app/
WORKDIR /app
RUN pip install -r requirements.txt
COPY . .
ENTRYPOINT ["python3", "main.py"]

31
main.py
View File

@ -39,21 +39,21 @@ async def on_ready():
@bot_client.event
async def on_message(ctx: discord.Message):
if ctx.author.bot:
return
translator = googletrans.Translator()
detected = await translator.detect(ctx.content)
detected_lang = detected.lang
if detected.confidence < .95:
return
detected_language = translator.detect(ctx.content)
detected_language = detected_language.lang
translator_category = discord.utils.find(lambda c: c.name == "Translatomat", ctx.guild.categories)
for channel in translator_category.channels:
if detected_lang != channel.name:
translated_message = await translator.translate(str(ctx.clean_content), channel.name).text
language_to_translate_to = channel.name
if detected_language != language_to_translate_to:
translated_message = translator.translate(str(ctx.clean_content), language_to_translate_to).text
if str(ctx.clean_content).lower() == str(translated_message).lower():
return
@ -67,12 +67,27 @@ async def on_message(ctx: discord.Message):
await channel.send(embed=embed)
await bot_client.process_commands(ctx)
###
# Commands
###
@bot_client.command(name="translate", aliases=['t'], pass_content=True)
async def __command_translate(ctx: commands.Context, language: str, *text: str):
try:
translator = googletrans.Translator()
message_text = " ".join(text)
translated_text = translator.translate(message_text, language).text
await ctx.reply(translated_text)
except:
await ctx.reply("Error: Translation failed somehow\n"
"Format has to be: +translate [language] [text]")
if __name__ == "__main__":
bot_client.run(discord_bot_token)
bot_client.run(discord_bot_token )