Телеграм-бот, который преобразует голосовые сообщения и видеосообщения ("кружочки") в текст. Полезен для тех, кто не может прослушать аудио в данный момент или предпочитает читать.
- Преобразование голосовых сообщений в текст.
- Преобразование видеосообщений ("кружочков") в текст.
- Поддержка русского языка для распознавания.
- Простая статистика использования.
- Может работать как в личных сообщениях, так и в групповых чатах (требуются права администратора).
- Python 3.10+
- Docker и Docker Compose (рекомендуется для запуска в контейнерах)
ffmpeg
(должен быть установлен в системе или доступен в Docker-образе для обработки видеосообщений)
-
Клонируйте репозиторий:
git clone https://github.com/mrvi0/vtt-telegram-bot.git # Замените на ваш URL cd vtt-telegram-bot
-
Создайте файл
.env
: Скопируйте.env.example
в.env
и заполнитеVTT_BOT_TOKEN
и другие переменные при необходимости.cp .env.example .env nano .env # или ваш любимый редактор
-
Соберите и запустите контейнеры:
docker compose up --build -d
-d
запускает контейнеры в фоновом режиме.--build
пересобирает образ, если Dockerfile или исходный код изменился.
Чтобы посмотреть логи:
docker compose logs -f vtt_bot
Чтобы остановить:
docker compose down
- Клонируйте репозиторий:
git clone https://github.com/mrvi0/vtt-telegram-bot.git # Замените на ваш URL cd vtt-telegram-bot
- Установите
ffmpeg
: Убедитесь, чтоffmpeg
установлен в вашей системе и доступен вPATH
.- Для Debian/Ubuntu:
sudo apt update && sudo apt install ffmpeg
- Для Debian/Ubuntu:
- Создайте и активируйте виртуальное окружение:
python3 -m venv .venv source .venv/bin/activate # Linux/macOS # .\.venv\Scripts\activate # Windows
- Установите зависимости:
pip install -r requirements.txt
- Создайте файл
.env
: Скопируйте.env.example
в.env
и заполнитеVTT_BOT_TOKEN
.cp .env.example .env nano .env
- Запустите приложение:
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
при монтировании тома).
- Запустите бота одним из описанных выше способов.
- Найдите бота в Telegram по его имени пользователя (username).
- Отправьте боту
/start
для получения приветственного сообщения и инструкций. - Отправьте или перешлите боту голосовое сообщение или видеосообщение ("кружочек"). Бот ответит распознанным текстом.
- Для работы в чатах:
- Добавьте бота в ваш групповой чат.
- Назначьте бота администратором чата. Минимально необходимых прав нет, но для стабильной работы лучше дать права на чтение сообщений. Бот будет автоматически распознавать все голосовые и видеосообщения.
/start
- Приветствие и краткая инструкция./help
- Подробная помощь и описание команд./info
- Информация о боте, авторе и связанных ресурсах./stats
- Показать статистику использования бота.
(На данный момент автоматические тесты не реализованы. Планируется добавление в будущем.)
# Пример для pytest (когда тесты будут добавлены)
# pytest tests/
Пока проект является персональным, но идеи и предложения приветствуются через Issues. Если вы хотите внести вклад:
- Сделайте форк репозитория.
- Создайте новую ветку (
git checkout -b feature/ваша-фича
). - Внесите изменения.
- Создайте Pull Request с описанием ваших изменений.
Этот проект распространяется под лицензией MIT. Подробности смотрите в файле LICENSE. (LICENSE)
Создатель: Mr Vi - dev@b4dcat.ru
Telelgram: @B4DCAT
Issues: https://github.com/mrvi0/vtt-telegram-bot/issues