/glagolitic-bot

Glagolitic bot for Telegram and Discord

Primary LanguagePython

Glagolitic bot

Бот умеет в транслитерацию сообщений, написанных глаголицей. А также тифинагицей. Можно добавлять и другие алфавиты при желании. Писать можно как самому боту, так и добавлять его в чаты. Также бот поддерживает написание сообщений глаголицей и тифинагицей через inline mode.

Написано специально для телеграм-чата @mikitkinabeseda. Есть также версия для Discord и Matrix.

Бот для Telegram

Запуск бота:

  1. Установить python (3.6+).

  2. Выполнить команду: pip install -r requirements.txt

  3. Скопировать config_example.py в config.py и поменять в нём токен бота (переменная bot_token).

  4. Запустить: python bot.py

Бот использует модуль Levenshtein, который написан на C и требует C-компилятора. Если это вызывает неудобства (например, на Windows), то можно вместо него поставить pure python реализацию - модуль distance. Бот автоматически использует модуль distance при недоступности модуля Levenshtein.

Бот для Discord

Бот для Discord в файле discordbot.py. Запуск бота:

  1. pip install -r requirements-discord.txt

  2. Прописать токен бота в config.py (переменная discord_bot_token)

  3. Запустить: python discordbot.py

Discord-версия бота использует библиотеку disnake.

Бот для Matrix

Бот для Matrix в файле matrixbot.py. Запуск бота:

  1. pip install -r requirements-matrix.txt

  2. В скрипте matrix-get-token.py ввести реквизиты своего бота (matrix_homeserver и matrix_user_id).

  3. Запустить скрипт для получения токена: python matrix-get-token.py

  4. Заполнить значения параметров matrix_*, выведенные скриптом.

  5. Запустить бота: python matrixbot.py

Бот для Matrix в настоящее время не поддерживает настроек для конкретного чата и всегда использует только таблицы по умолчанию (glag2rus, tfng2rus).

Благодарности

Конвенцию глаголицы для современного русского языка разработал Ilya Van Dogh (@poehavshyi).

Конвенцию глаголицы для украинского языка разработал Нʌько́ (@Eljaho_Rusin).

Конвенцию тифинагицы разработал @stereoweirdo.