Бот анализирует голосовые сообщения, отправленные пользователем в Telegram. Он извлекает из этих сообщений текст на русском языке.
- Извлечение текста
- Поддержка пересылаемых голосовых
- Python 3.7+
- Библиотеки из файла requirements.txt
- Токен Telegram бота (получается через @BotFather)
- Установленный ffmpeg
- Клонируйте репозиторий:
git clone https://github.com/ReforgeDev26/SpeechToTextBot.git
cd SpeechToTextBot- Установите зависимости:
pip install -r requirements.txt-
Установите ffmpeg
-
Создайте бота в Telegram через @BotFather и получите токен
-
Настройте переменную окружения с токеном бота:
Linux/macOS:
export BOT_TOKEN="ваш_токен_бота"Windows (PowerShell):
$env:BOT_TOKEN="ваш_токен_бота"Windows (CMD):
set BOT_TOKEN=ваш_токен_ботаАвтоматическая установка:
# Через winget (встроенный менеджер пакетов)
winget install ffmpeg
# Через Chocolatey
choco install ffmpegРучная установка:
Скачайте FFmpeg с gyan.dev (выберите ffmpeg-release-essentials.zip)
Распакуйте архив в C:\ffmpeg
Добавьте C:\ffmpeg\bin в переменную PATH:
Нажмите Win + R → sysdm.cpl → Дополнительно → Переменные среды
Найдите Path → Изменить → Создать → Вставьте C:\ffmpeg\bin
Нажмите ОК во всех окнах
# Через Homebrew
brew install ffmpeg# Ubuntu/Debian
sudo apt update && sudo apt install ffmpeg
# Fedora
sudo dnf install ffmpeg
# Arch
sudo pacman -S ffmpegПроверка установки
ffmpeg -versionpython bot.py- Запустите бота командой
/start - Отправьте боту голосовое сообщение
- Бот ответит сообщением с извлеченным текстом
Для запуска бота на сервере в фоновом режиме можно использовать различные методы:
- Создайте файл службы
/etc/systemd/system/SpeechToTextBot.service:
[Unit]
Description=Telegram Speech To Text Bot
After=network.target
[Service]
User=ваш_пользователь
WorkingDirectory=/путь/к/боту
Environment="BOT_TOKEN=ваш_токен_бота"
ExecStart=/путь/к/python /путь/к/боту/bot.py
Restart=always
[Install]
WantedBy=multi-user.target- Включите и запустите службу:
sudo systemctl enable SpeechToTextBot
sudo systemctl start SpeechToTextBotMIT