Bots für Mumble
Mumbot
Mumbot meldet sich wie ein Mensch mit eigenem Zertifikat an. Deshalb läuft er auf jedem normalen Mumble-Server, ohne Plugin und ohne Änderung an der Serverkonfiguration. Aus der Familie von Mumcord, Open Source unter AGPL-3.0.
Zwei Bots, ein Programm
Beide stecken im selben Programm mumbot, für Linux, Windows, macOS und als Docker-Image.
Webhook-Bot
Monitoring, CI oder ein eigenes Skript schickt eine HTTP-Anfrage mit API-Schlüssel, und der Bot schreibt den Text in einen Mumble-Kanal.
- Pro Schlüssel festlegen, in welche Kanäle er schreiben darf
- Fett, kursiv, Code, Listen und Links per Markdown
- Kanal-Passwörter, Wiederverbinden nach Abbrüchen und eine feste Identität per Zertifikat
- Rate-Limit und eine klare Antwort, ob die Nachricht angekommen ist
curl -X POST http://127.0.0.1:8080/message \
-H 'X-API-Key: <your key>' \
-d '{"channel": 1, "message": "**deploy** finished"}' Test-Bot
Ein geskripteter zweiter Teilnehmer für automatische Tests von Mumble-Clients. Mumcords eigene Tests laufen damit.
- Chat, Status, Rechte und Moderation steuern und auf Bedingungen warten
- Sprache abspielen, aufnehmen und den Pegel prüfen, mit echtem Opus
- Ein Lasttest füllt einen lokalen Server mit bis zu 1000 Nutzern
- Exit-Code 0 heißt bestanden: passt in jede CI
printf '%s\n' 'join Lobby' 'say "<b>hello</b>"' \
'expect message --from Alice --contains hi' \
| mumbot --port 44738 --name Bob script Download
Das Archiv enthält das Programm mumbot, die README und eine Beispielkonfiguration 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
Oder als Docker-Image für amd64 und 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
Mumbot wird wie Mumcord in Epics gebaut. Epic 2 ist ein Vorschlag aus den offenen Issues und wird noch genau geplant.
-
Epic 0
fertig v0.1.0
Test-Bot
Der geskriptete Bot aus Mumcords Tests, jetzt als eigenes Programm.
- Chat, Status, Rechte und Moderation, Warten auf Bedingungen und ein Skript-Modus
- Sprache abspielen, aufnehmen und Pegel prüfen, mit Opus wie in Mumcord
- Lasttest mit bis zu 1000 Nutzern auf einem lokalen Testserver
-
Epic 1
fertig v0.1.0
Webhook-Bot
Nachrichten von außen in einen Mumble-Kanal.
- HTTP-API mit API-Schlüsseln und erlaubten Kanälen pro Schlüssel
- Markdown, Kanal-Passwörter, Wiederverbinden und Rate-Limit
- Programme für Linux, Windows und macOS und ein Docker-Image
- Seit 0.1.1: Docker-Compose-Beispiele und eine Doku zu Konfiguration, Kommandozeile, HTTP-API und Sicherheit
-
Epic 2
als Nächstes
Module, Musik und Verlauf
Aus einem Bot wird ein Baukasten.
- Module: per Konfiguration oder Kommandozeile wählen, welche Bots laufen, in einem Programm und einem Image
- Musik-Bot: MP3s oder Links per HTTP schicken, der Bot spielt sie mit Warteschlange im Sprachkanal
- Verlaufs-Bot: speichert den Chat der Kanäle, die er sehen darf, und gibt ihn an Mumcord-Nutzer weiter, die offline waren. Private Nachrichten nie
- Nachrichtenkarten: Der Webhook schickt Alarme mit Titel, Statusfarbe, Graph und Link, die Mumcord als Karte zeigt
- Bitrate für Sprache und Musik einstellbar, nie über dem Limit des Servers
- Peer-Modul: meldet die Nutzer des Servers bei einem mumpeer-Relay an und teilt Mumcord mit, dass es das Relay gibt
-
Danach
später
Ideen
Noch nicht geplant, aber vorgemerkt.
- Ein Bot, der Chat liest und auf Befehle antwortet
- Sprachausgabe oder Warntöne im Kanal
- Ein Bot für mehrere Server oder mit mehreren Identitäten
- Flüstern und private Nachrichten, Schlüssel ohne Neustart tauschen, eingebautes TLS
- Das Zertifikat des Servers beim ersten Kontakt merken und Änderungen ablehnen
Idee für einen Bot?
Wünsche landen in den Issues von Mumbot auf GitHub.