https://github.com/mrvi0/vtt-bot
telegram bot that translates voice and video messages into text. A great tool for telegram chats
https://github.com/mrvi0/vtt-bot
aiogram2 telegram-bot video-to-audio video-to-text voice-to-text
Last synced: about 1 month ago
JSON representation
telegram bot that translates voice and video messages into text. A great tool for telegram chats
- Host: GitHub
- URL: https://github.com/mrvi0/vtt-bot
- Owner: mrvi0
- License: agpl-3.0
- Created: 2025-05-06T16:32:48.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-24T19:20:57.000Z (12 months ago)
- Last Synced: 2025-06-24T20:24:26.863Z (12 months ago)
- Topics: aiogram2, telegram-bot, video-to-audio, video-to-text, voice-to-text
- Language: Python
- Homepage: https://t.me/b4dcat_vtt_bot
- Size: 2.78 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# Voice-to-Text Telegram Bot (VTT Bot)
[](https://github.com/mrvi0/vtt-bot/blob/main/LICENSE)
[](https://github.com/mrvi0/vtt-bot/actions/workflows/lint.yml)  [](http://makeapullrequest.com)
Телеграм-бот, который преобразует голосовые сообщения и видеосообщения ("кружочки") в текст. Полезен для тех, кто не может прослушать аудио в данный момент или предпочитает читать.
## ✨ Основные возможности
* Преобразование голосовых сообщений в текст.
* Преобразование видеосообщений ("кружочков") в текст.
* Поддержка русского языка для распознавания.
* Простая статистика использования.
* Может работать как в личных сообщениях, так и в групповых чатах (требуются права администратора).
## 🚀 Установка
### Требования
* Python 3.10+
* Docker и Docker Compose (рекомендуется для запуска в контейнерах)
* `ffmpeg` (должен быть установлен в системе или доступен в Docker-образе для обработки видеосообщений)
### Вариант 1: Запуск с Docker (Рекомендуется)
1. **Клонируйте репозиторий:**
```bash
git clone https://github.com/mrvi0/vtt-telegram-bot.git # Замените на ваш URL
cd vtt-telegram-bot
```
2. **Создайте файл `.env`:**
Скопируйте `.env.example` в `.env` и заполните `VTT_BOT_TOKEN` и другие переменные при необходимости.
```bash
cp .env.example .env
nano .env # или ваш любимый редактор
```
3. **Соберите и запустите контейнеры:**
```bash
docker compose up --build -d
```
* `-d` запускает контейнеры в фоновом режиме.
* `--build` пересобирает образ, если Dockerfile или исходный код изменился.
Чтобы посмотреть логи:
```bash
docker compose logs -f vtt_bot
```
Чтобы остановить:
```bash
docker compose down
```
### Вариант 2: Локальная установка (без Docker)
1. **Клонируйте репозиторий:**
```bash
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. **Создайте и активируйте виртуальное окружение:**
```bash
python3 -m venv .venv
source .venv/bin/activate # Linux/macOS
# .\.venv\Scripts\activate # Windows
```
4. **Установите зависимости:**
```bash
pip install -r requirements.txt
```
5. **Создайте файл `.env`:**
Скопируйте `.env.example` в `.env` и заполните `VTT_BOT_TOKEN`.
```bash
cp .env.example .env
nano .env
```
6. **Запустите приложение:**
```bash
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` - Показать статистику использования бота.
## 🧪 Тестирование
(На данный момент автоматические тесты не реализованы. Планируется добавление в будущем.)
```bash
# Пример для pytest (когда тесты будут добавлены)
# pytest tests/
```
## 🤝 Вклад в проект
Пока проект является персональным, но идеи и предложения приветствуются через Issues.
Если вы хотите внести вклад:
1. Сделайте форк репозитория.
2. Создайте новую ветку (`git checkout -b feature/ваша-фича`).
3. Внесите изменения.
4. Создайте Pull Request с описанием ваших изменений.
## 📜 Лицензия
Этот проект распространяется под лицензией MIT. Подробности смотрите в файле LICENSE. (LICENSE)
## 📞 Контакты
Создатель: Mr Vi - dev@b4dcat.ru\
Telelgram: [@B4DCAT](https://t.me/B4DCAT)\
Issues: https://github.com/mrvi0/vtt-telegram-bot/issues