Telemovris 2.0 Rewrite

This commit is contained in:
Joan
2026-01-26 15:17:54 +01:00
commit b128c99334
382 changed files with 6510 additions and 0 deletions

73
README.md Normal file
View File

@@ -0,0 +1,73 @@
# 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