Skip to content
/ vtt-bot Public
generated from mrvi0/template

telegram bot that translates voice and video messages into text. A great tool for telegram chats

License

Notifications You must be signed in to change notification settings

mrvi0/vtt-bot

Voice-to-Text Telegram Bot (VTT Bot)

License lint.yml GitHub repo size PRs Welcome

Телеграм-бот, который преобразует голосовые сообщения и видеосообщения ("кружочки") в текст. Полезен для тех, кто не может прослушать аудио в данный момент или предпочитает читать.

✨ Основные возможности

  • Преобразование голосовых сообщений в текст.
  • Преобразование видеосообщений ("кружочков") в текст.
  • Поддержка русского языка для распознавания.
  • Простая статистика использования.
  • Может работать как в личных сообщениях, так и в групповых чатах (требуются права администратора).

🚀 Установка

Требования

  • Python 3.10+
  • Docker и Docker Compose (рекомендуется для запуска в контейнерах)
  • ffmpeg (должен быть установлен в системе или доступен в Docker-образе для обработки видеосообщений)

Вариант 1: Запуск с Docker (Рекомендуется)

  1. Клонируйте репозиторий:

    git clone https://github.com/mrvi0/vtt-telegram-bot.git # Замените на ваш URL
    cd vtt-telegram-bot
  2. Создайте файл .env: Скопируйте .env.example в .env и заполните VTT_BOT_TOKEN и другие переменные при необходимости.

    cp .env.example .env
    nano .env # или ваш любимый редактор
  3. Соберите и запустите контейнеры:

    docker compose up --build -d
    • -d запускает контейнеры в фоновом режиме.
    • --build пересобирает образ, если Dockerfile или исходный код изменился.

    Чтобы посмотреть логи:

    docker compose logs -f vtt_bot 

    Чтобы остановить:

    docker compose down

Вариант 2: Локальная установка (без Docker)

  1. Клонируйте репозиторий:
    git clone https://github.com/mrvi0/vtt-telegram-bot.git # Замените на ваш URL
    cd vtt-telegram-bot
  2. Установите ffmpeg: Убедитесь, что ffmpeg установлен в вашей системе и доступен в PATH.
    • Для Debian/Ubuntu: sudo apt update && sudo apt install ffmpeg
  3. Создайте и активируйте виртуальное окружение:
    python3 -m venv .venv
    source .venv/bin/activate # Linux/macOS
    # .\.venv\Scripts\activate # Windows
  4. Установите зависимости:
    pip install -r requirements.txt
  5. Создайте файл .env: Скопируйте .env.example в .env и заполните VTT_BOT_TOKEN.
    cp .env.example .env
    nano .env
  6. Запустите приложение:
    python -m src.bot

⚙️ Конфигурация

Приложение конфигурируется с помощью переменных окружения. Скопируйте файл .env.example в .env и укажите свои значения.

Основные переменные:

  • VTT_BOT_TOKEN: Обязательно. Токен вашего Telegram бота, полученный от @BotFather.
  • INFO_JSON_URL: URL к JSON-файлу с общей информацией о ботах. По умолчанию используется публичный файл проекта b4dcat.
  • BOT_CODE_NAME_IN_INFO_JSON: Идентификатор этого бота в INFO_JSON_URL. По умолчанию vtt_bot.
  • DB_NAME: Путь к файлу базы данных SQLite. По умолчанию data/vtt_stats.db (относительно директории, где запущен docker-compose.yml или src/bot.py при монтировании тома).

⚡ Использование

  1. Запустите бота одним из описанных выше способов.
  2. Найдите бота в Telegram по его имени пользователя (username).
  3. Отправьте боту /start для получения приветственного сообщения и инструкций.
  4. Отправьте или перешлите боту голосовое сообщение или видеосообщение ("кружочек"). Бот ответит распознанным текстом.
  5. Для работы в чатах:
    • Добавьте бота в ваш групповой чат.
    • Назначьте бота администратором чата. Минимально необходимых прав нет, но для стабильной работы лучше дать права на чтение сообщений. Бот будет автоматически распознавать все голосовые и видеосообщения.

Доступные команды:

  • /start - Приветствие и краткая инструкция.
  • /help - Подробная помощь и описание команд.
  • /info - Информация о боте, авторе и связанных ресурсах.
  • /stats - Показать статистику использования бота.

🧪 Тестирование

(На данный момент автоматические тесты не реализованы. Планируется добавление в будущем.)

# Пример для pytest (когда тесты будут добавлены)
# pytest tests/

🤝 Вклад в проект

Пока проект является персональным, но идеи и предложения приветствуются через Issues. Если вы хотите внести вклад:

  1. Сделайте форк репозитория.
  2. Создайте новую ветку (git checkout -b feature/ваша-фича).
  3. Внесите изменения.
  4. Создайте Pull Request с описанием ваших изменений.

📜 Лицензия

Этот проект распространяется под лицензией MIT. Подробности смотрите в файле LICENSE. (LICENSE)

📞 Контакты

Создатель: Mr Vi - dev@b4dcat.ru
Telelgram: @B4DCAT
Issues: https://github.com/mrvi0/vtt-telegram-bot/issues

About

telegram bot that translates voice and video messages into text. A great tool for telegram chats

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

Languages