{"id":49576815,"url":"https://github.com/mrvi0/vtt-bot","last_synced_at":"2026-05-03T17:36:07.722Z","repository":{"id":291815322,"uuid":"978874645","full_name":"mrvi0/vtt-bot","owner":"mrvi0","description":"telegram bot that translates voice and video messages into text. A great tool for telegram chats","archived":false,"fork":false,"pushed_at":"2025-06-24T19:20:57.000Z","size":2913,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-24T20:24:26.863Z","etag":null,"topics":["aiogram2","telegram-bot","video-to-audio","video-to-text","voice-to-text"],"latest_commit_sha":null,"homepage":"https://t.me/b4dcat_vtt_bot","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mrvi0.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["mrvi0"],"custom":["https://www.donationalerts.com/r/mrvi0"]}},"created_at":"2025-05-06T16:32:48.000Z","updated_at":"2025-06-24T19:21:01.000Z","dependencies_parsed_at":"2025-05-06T17:47:53.256Z","dependency_job_id":"e00d4809-04a3-49a1-9875-9148549b3c61","html_url":"https://github.com/mrvi0/vtt-bot","commit_stats":null,"previous_names":["mrvi0/vtt-bot"],"tags_count":0,"template":false,"template_full_name":"mrvi0/template","purl":"pkg:github/mrvi0/vtt-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrvi0%2Fvtt-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrvi0%2Fvtt-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrvi0%2Fvtt-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrvi0%2Fvtt-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrvi0","download_url":"https://codeload.github.com/mrvi0/vtt-bot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrvi0%2Fvtt-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32579020,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aiogram2","telegram-bot","video-to-audio","video-to-text","voice-to-text"],"created_at":"2026-05-03T17:36:06.566Z","updated_at":"2026-05-03T17:36:07.716Z","avatar_url":"https://github.com/mrvi0.png","language":"Python","funding_links":["https://github.com/sponsors/mrvi0","https://www.donationalerts.com/r/mrvi0"],"categories":[],"sub_categories":[],"readme":"# Voice-to-Text Telegram Bot (VTT Bot)\n\n[![License](https://img.shields.io/github/license/mrvi0/vtt-bot?style=flat-square)](https://github.com/mrvi0/vtt-bot/blob/main/LICENSE)\n[![lint.yml](https://img.shields.io/github/actions/workflow/status/mrvi0/vtt-bot/lint.yml?branch=main\u0026style=flat-square)](https://github.com/mrvi0/vtt-bot/actions/workflows/lint.yml) ![GitHub repo size](https://img.shields.io/github/repo-size/mrvi0/vtt-bot?style=flat-square) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)\n\nТелеграм-бот, который преобразует голосовые сообщения и видеосообщения (\"кружочки\") в текст. Полезен для тех, кто не может прослушать аудио в данный момент или предпочитает читать.\n\n## ✨ Основные возможности\n\n*   Преобразование голосовых сообщений в текст.\n*   Преобразование видеосообщений (\"кружочков\") в текст.\n*   Поддержка русского языка для распознавания.\n*   Простая статистика использования.\n*   Может работать как в личных сообщениях, так и в групповых чатах (требуются права администратора).\n\n## 🚀 Установка\n\n### Требования\n\n*   Python 3.10+\n*   Docker и Docker Compose (рекомендуется для запуска в контейнерах)\n*   `ffmpeg` (должен быть установлен в системе или доступен в Docker-образе для обработки видеосообщений)\n\n### Вариант 1: Запуск с Docker (Рекомендуется)\n\n1.  **Клонируйте репозиторий:**\n    ```bash\n    git clone https://github.com/mrvi0/vtt-telegram-bot.git # Замените на ваш URL\n    cd vtt-telegram-bot\n    ```\n2.  **Создайте файл `.env`:**\n    Скопируйте `.env.example` в `.env` и заполните `VTT_BOT_TOKEN` и другие переменные при необходимости.\n    ```bash\n    cp .env.example .env\n    nano .env # или ваш любимый редактор\n    ```\n3.  **Соберите и запустите контейнеры:**\n    ```bash\n    docker compose up --build -d\n    ```\n    * `-d` запускает контейнеры в фоновом режиме.\n    * `--build` пересобирает образ, если Dockerfile или исходный код изменился.\n\n    Чтобы посмотреть логи:\n    ```bash\n    docker compose logs -f vtt_bot \n    ```\n    Чтобы остановить:\n    ```bash\n    docker compose down\n    ```\n\n### Вариант 2: Локальная установка (без Docker)\n\n1.  **Клонируйте репозиторий:**\n    ```bash\n    git clone https://github.com/mrvi0/vtt-telegram-bot.git # Замените на ваш URL\n    cd vtt-telegram-bot\n    ```\n2.  **Установите `ffmpeg`:**\n    Убедитесь, что `ffmpeg` установлен в вашей системе и доступен в `PATH`.\n    *   Для Debian/Ubuntu: `sudo apt update \u0026\u0026 sudo apt install ffmpeg`\n3.  **Создайте и активируйте виртуальное окружение:**\n    ```bash\n    python3 -m venv .venv\n    source .venv/bin/activate # Linux/macOS\n    # .\\.venv\\Scripts\\activate # Windows\n    ```\n4.  **Установите зависимости:**\n    ```bash\n    pip install -r requirements.txt\n    ```\n5.  **Создайте файл `.env`:**\n    Скопируйте `.env.example` в `.env` и заполните `VTT_BOT_TOKEN`.\n    ```bash\n    cp .env.example .env\n    nano .env\n    ```\n6.  **Запустите приложение:**\n    ```bash\n    python -m src.bot\n    ```\n\n## ⚙️ Конфигурация\n\nПриложение конфигурируется с помощью переменных окружения. Скопируйте файл `.env.example` в `.env` и укажите свои значения.\n\nОсновные переменные:\n\n*   `VTT_BOT_TOKEN`: **Обязательно.** Токен вашего Telegram бота, полученный от @BotFather.\n*   `INFO_JSON_URL`: URL к JSON-файлу с общей информацией о ботах. По умолчанию используется публичный файл проекта b4dcat.\n*   `BOT_CODE_NAME_IN_INFO_JSON`: Идентификатор этого бота в `INFO_JSON_URL`. По умолчанию `vtt_bot`.\n*   `DB_NAME`: Путь к файлу базы данных SQLite. По умолчанию `data/vtt_stats.db` (относительно директории, где запущен `docker-compose.yml` или `src/bot.py` при монтировании тома).\n\n## ⚡ Использование\n\n1.  **Запустите бота** одним из описанных выше способов.\n2.  **Найдите бота в Telegram** по его имени пользователя (username).\n3.  **Отправьте боту `/start`** для получения приветственного сообщения и инструкций.\n4.  **Отправьте или перешлите боту голосовое сообщение или видеосообщение (\"кружочек\").** Бот ответит распознанным текстом.\n5.  **Для работы в чатах:**\n    *   Добавьте бота в ваш групповой чат.\n    *   Назначьте бота администратором чата. Минимально необходимых прав нет, но для стабильной работы лучше дать права на чтение сообщений. Бот будет автоматически распознавать все голосовые и видеосообщения.\n\n### Доступные команды:\n*   `/start` - Приветствие и краткая инструкция.\n*   `/help` - Подробная помощь и описание команд.\n*   `/info` - Информация о боте, авторе и связанных ресурсах.\n*   `/stats` - Показать статистику использования бота.\n\n## 🧪 Тестирование\n\n(На данный момент автоматические тесты не реализованы. Планируется добавление в будущем.)\n\n```bash\n# Пример для pytest (когда тесты будут добавлены)\n# pytest tests/\n```\n\n## 🤝 Вклад в проект\nПока проект является персональным, но идеи и предложения приветствуются через Issues.\nЕсли вы хотите внести вклад:\n1. Сделайте форк репозитория.\n2. Создайте новую ветку (`git checkout -b feature/ваша-фича`).\n3. Внесите изменения.\n4. Создайте Pull Request с описанием ваших изменений.\n## 📜 Лицензия\nЭтот проект распространяется под лицензией MIT. Подробности смотрите в файле LICENSE. (LICENSE)\n## 📞 Контакты\nСоздатель: Mr Vi - dev@b4dcat.ru\\\nTelelgram: [@B4DCAT](https://t.me/B4DCAT)\\\nIssues: https://github.com/mrvi0/vtt-telegram-bot/issues ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrvi0%2Fvtt-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrvi0%2Fvtt-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrvi0%2Fvtt-bot/lists"}