Bot per Mumble
Mumbot
Mumbot entra come una persona, con il proprio certificato. Per questo funziona su qualsiasi server Mumble standard, senza plugin e senza modificare la configurazione del server. Dalla famiglia Mumcord, open source con licenza AGPL-3.0.
Due bot, un solo programma
Entrambi vivono nello stesso programma, mumbot, per Linux, Windows, macOS e come immagine Docker.
Bot webhook
Il monitoraggio, la CI o un tuo script invia una richiesta HTTP con una chiave API, e il bot pubblica il testo in un canale Mumble.
- Per ogni chiave decidi in quali canali può scrivere
- Grassetto, corsivo, codice, elenchi e link in Markdown
- Password dei canali, riconnessione dopo le interruzioni e un'identità fissa grazie al suo certificato
- Limite di frequenza e una risposta chiara sull'arrivo del messaggio
curl -X POST http://127.0.0.1:8080/message \
-H 'X-API-Key: <your key>' \
-d '{"channel": 1, "message": "**deploy** finished"}' Bot di test
Un secondo partecipante programmabile per i test automatici dei client Mumble. Ci girano sopra i test di Mumcord stesso.
- Gestisci chat, stato, permessi e moderazione, e attendi condizioni
- Riproduci, registra e controlla il livello della voce, con vero Opus
- Un test di carico riempie un server locale con fino a 1000 utenti
- Exit code 0 significa superato: si integra in qualsiasi CI
printf '%s\n' 'join Lobby' 'say "<b>hello</b>"' \
'expect message --from Alice --contains hi' \
| mumbot --port 44738 --name Bob script Download
L'archivio contiene il programma mumbot, il README e una configurazione di esempio, bot.example.toml.
- Linux x86_64 mumbot-0.1.1-linux-x86_64.tar.gz · 2 MB
- Linux ARM64 mumbot-0.1.1-linux-aarch64.tar.gz · 2 MB
- Windows mumbot-0.1.1-windows-x86_64.zip · 2 MB
- macOS mumbot-0.1.1-macos-universal.tar.gz · 4 MB
Oppure come immagine Docker per amd64 e arm64:
docker run -d --name mumbot \
-v "$PWD/bot.toml:/config/bot.toml:ro" \
-v mumbot-data:/data -p 127.0.0.1:8080:8080 \
ghcr.io/mumcord/mumbot:0.1.1 Roadmap
Come Mumcord, Mumbot si sviluppa per epic. L'Epic 2 è una proposta nata dalle issue aperte e va ancora pianificato nel dettaglio.
-
Epic 0
fatto v0.1.0
Bot di test
Il bot programmabile dei test di Mumcord, ora un programma a sé.
- Chat, stato, permessi e moderazione, attesa di condizioni e modalità script
- Riprodurre, registrare e controllare il livello della voce, con Opus come in Mumcord
- Test di carico con fino a 1000 utenti su un server di test locale
-
Epic 1
fatto v0.1.0
Bot webhook
Messaggi dall'esterno in un canale Mumble.
- API HTTP con chiavi API e canali consentiti per chiave
- Markdown, password dei canali, riconnessione e limite di frequenza
- Programmi per Linux, Windows e macOS e un'immagine Docker
- Dalla 0.1.1: esempi Docker Compose e documentazione su configurazione, riga di comando, API HTTP e sicurezza
-
Epic 2
il prossimo
Moduli, musica e cronologia
Un bot diventa una cassetta degli attrezzi.
- Moduli: scegli quali bot girano, nella configurazione o da riga di comando, in un solo programma e una sola immagine
- Bot musicale: invia MP3 o link via HTTP e il bot li riproduce nel canale vocale, con una coda
- Bot cronologia: conserva la chat dei canali che può vedere e la passa agli utenti Mumcord che erano offline. Mai i messaggi privati
- Schede messaggio: il webhook invia avvisi con titolo, colore di stato, grafico e link che Mumcord mostra come scheda
- Bitrate regolabile per voce e musica, mai sopra il limite del server
- Modulo peer: registra gli utenti del server presso un relay mumpeer e comunica a Mumcord che il relay esiste
-
Oltre
più avanti
Idee
Non ancora pianificato, ma annotato.
- Un bot che legge la chat e risponde ai comandi
- Sintesi vocale o suoni di avviso in un canale
- Un bot per più server o con più identità
- Sussurri e messaggi privati, cambio delle chiavi senza riavvio, TLS integrato
- Ricordare il certificato del server al primo contatto e rifiutarne uno cambiato
Un'idea per un bot?
I desideri vanno nelle issue di Mumbot su GitHub.