2a9e9888d44da1579385032a604539d206e16e63
Telemovris 2.0 - Telegram TTS Call Bot
A dockerized application that converts text to audio (using Piper Neural TTS) and calls a Telegram user to play the message. Includes a modern Web Dashboard for management.
Features
- High Quality TTS: Uses Piper with
es_ES-sharvard-mediummodel for human-like speech. - Web Dashboard: Manage queue, view history, and test voices via browser.
- Web-based Login: Log in to your Telegram account directly from the UI (supports 2FA).
- Web-based Configuration: Set
API_ID,API_HASH, andCall Timeoutvia the UI. - Flexible Inputs: Auto-handles usernames with or without
@prefix. - Real-time Queue: Redis-backed queue with history and error reporting.
- Smart Dialing: Configurable timeout (default 15s), detects "Rejected" vs "No Answer", and watches for user hang-ups during playback.
- Legacy API Support: Compatible with simple GET requests.
Prerequisites
- Docker & Docker Compose
Installation
-
Clone the repository:
git clone https://gitlab.com/your/telemovris2.git cd telemovris2 -
Ensure Piper binaries are present: The project expects the Piper TTS binary and model in the
piper/directory.piper/piper/piper(Executable)piper/es_ES-sharvard-medium.onnx(Model)piper/es_ES-sharvard-medium.onnx.json(Config)
-
Start the container:
docker compose up -d --build
Configuration & Usage
1. Initial Setup
- Open your browser and navigate to
http://localhost:8777. - You will be prompted to enter your Telegram API ID, API Hash, Phone Number, and Call Timeout.
- Get API keys from my.telegram.org.
- Call Timeout: Seconds to wait for the user to answer before cancelling (default 15s).
- Click Save Configuration. The worker will restart.
2. Login
- After configuration, the dashboard will verify calls.
- Follow the simple 2-step process (Config -> Login) if not auto-logged in.
- Enter the Login Code sent to your Telegram app.
- If you have 2FA enabled, you will be prompted for your password.
3. Sending Messages
- Via Dashboard: Use the "Queue New Task" form.
- Username can be
@usernameor justusername.
- Username can be
- Via Legacy API:
GET http://localhost:8777/sendmessage?user=username&message=Hello+World&audio=yes
Development
- Reset Config: If you need to change accounts, keys, or timeout settings, click the "Reset Config" button in the dashboard.
- Logs: Check worker logs for debugging:
docker logs -f telemovris_app
Persistence
- Session: Telegram session is stored in
./data/session.madeline. - Redis: Job queue and history are persisted in
./redis_data. - Config: API credentials are stored in
./data/config.json.
License
MIT
Description
Languages
Hack
51.9%
PHP
45.3%
Shell
1.4%
Dockerfile
1.3%
Roff
0.1%