Авто переводчик ваших сообщений (Telegram)

Авто переводчик ваших сообщений (Telegram)

Тема в разделе Python создана пользователем Хошик
Хошик Автор темы
Python:
from telethon.sync import TelegramClient, events
from telethon.errors import MessageNotModifiedError
from translatepy import Translator, exceptions


# https://my.telegram.org/apps - отсюда берем api id и api hash
API_ID = 123
API_HASH = "123"


client = TelegramClient("bot", API_ID, API_HASH)
client.start()

translator = Translator()

language = dict(lang="en", start=0)


@client.on(events.NewMessage(outgoing=True, pattern=r"(?i).trlang"))
async def languageset(event):
    await event.delete()
    lang = event.message.message.split(" ")[1].lower()
    language["lang"] = lang
    await client.send_message("me", "Язык перевода изменен на {}".format(lang))


@client.on(events.NewMessage(outgoing=True, pattern=r"(?i).trstart"))
async def start_translating(event):
    await event.delete()
    language["start"] = 1
    await client.send_message(
        "me", "Автоперевод сообщений запущен\nЯзык: {}".format(language["lang"])
    )


@client.on(events.NewMessage(outgoing=True, pattern=r"(?i).trstop"))
async def stop_translating(event):
    await event.delete()
    language["start"] = 0
    await client.send_message("me", "Автоперевод сообщений отключен")


@client.on(events.NewMessage(outgoing=True))
async def main(event):
    if language["start"] == 1 and not event.message.message.startswith(".tr") and event.message.message != '':
        try:
            message = translator.translate(event.message.message, language["lang"])
            await event.edit(message.result)
        except (exceptions.NoResult, exceptions.UnknownLanguage) as error:
            await event.delete()
            await client.send_message(
                "me",
                "При переводе сообщения {} на язык ({}) возникла ошибка:\n{}\n\nВозможно такого языка не существует, попробуйте выбрать другой.".format(
                    event.message.message, language["lang"], error
                ),
            )
        except MessageNotModifiedError:
            pass


client.run_until_disconnected()

обязательно установите модуль:
Код:
pip install telethon translatepy

  • .trstart - запуск переводчика
  • .trstop - отлючение переводчика
  • .trlang <язык> - изменение языка на указанный (вместо <язык>, используйте )

Взято с гитхаба

Сверху