# 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](https://github.com/rhasspy/piper) with `es_ES-sharvard-medium` model 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` and `API_HASH` without touching config files. * **Real-time Queue**: Redis-backed queue with history and error reporting. * **Smart Dialing**: Waits for the user to answer before playing audio. * **Legacy API Support**: Compatible with simple GET requests. ## Prerequisites * Docker & Docker Compose ## Installation 1. **Clone the repository**: ```bash git clone https://gitlab.com/your/telemovris2.git cd telemovris2 ``` 2. **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) 3. **Start the container**: ```bash docker compose up -d --build ``` ## Configuration & Usage ### 1. Initial Setup 1. Open your browser and navigate to `http://localhost:8234`. 2. You will be prompted to enter your **Telegram API ID** and **API Hash**. * Get these from [my.telegram.org](https://my.telegram.org). 3. Click **Save Configuration**. The worker will restart. ### 2. Login 1. After configuration, the dashboard will show a **Login Now** button. 2. Enter your **Phone Number** (international format, e.g., `+34...`). 3. Scan the **QR Code** using your Telegram Mobile App (Settings > Devices > Link Desktop Device). * *Note: If the QR code expires or fails, check `docker logs telemovris_app` for details.* ### 3. Sending Messages * **Via Dashboard**: Use the "Queue New Task" form. * **Via Legacy API**: ``` GET http://localhost:8234/sendmessage?user=@username&message=Hello+World&audio=yes ``` ## Development * **Reset Config**: If you need to change accounts or keys, click the "Reset Config" button in the dashboard (when disconnected). * **Logs**: Check worker logs for debugging: ```bash 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