Bots voor Mumble
Mumbot
Mumbot logt in zoals een mens, met een eigen certificaat. Daarom draait hij op elke standaard Mumble-server, zonder plug-in en zonder iets aan de serverconfiguratie te veranderen. Uit de Mumcord-familie, open source onder AGPL-3.0.
Twee bots, één programma
Beide zitten in hetzelfde programma, mumbot, voor Linux, Windows, macOS en als Docker-image.
Webhookbot
Monitoring, CI of je eigen script stuurt één HTTP-verzoek met een API-sleutel, en de bot zet de tekst in een Mumble-kanaal.
- Stel per sleutel in naar welke kanalen hij mag schrijven
- Vet, cursief, code, lijsten en links in Markdown
- Kanaalwachtwoorden, opnieuw verbinden na een onderbreking en een vaste identiteit via zijn certificaat
- Rate limit en een duidelijk antwoord of het bericht is aangekomen
curl -X POST http://127.0.0.1:8080/message \
-H 'X-API-Key: <your key>' \
-d '{"channel": 1, "message": "**deploy** finished"}' Testbot
Een gescripte tweede deelnemer voor automatische tests van Mumble-clients. De eigen tests van Mumcord draaien ermee.
- Chat, status, rechten en moderatie aansturen en op voorwaarden wachten
- Spraak afspelen, opnemen en het niveau controleren, met echte Opus
- Een loadtest vult een lokale server met tot 1000 gebruikers
- Exitcode 0 betekent geslaagd: past in elke CI
printf '%s\n' 'join Lobby' 'say "<b>hello</b>"' \
'expect message --from Alice --contains hi' \
| mumbot --port 44738 --name Bob script Downloaden
Het archief bevat het programma mumbot, de README en een voorbeeldconfiguratie, 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
Of als Docker-image voor amd64 en 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
Net als Mumcord wordt Mumbot in epics gebouwd. Epic 2 is een voorstel op basis van de open issues en wordt nog in detail gepland.
-
Epic 0
klaar v0.1.0
Testbot
De gescripte bot uit de tests van Mumcord, nu een eigen programma.
- Chat, status, rechten en moderatie, wachten op voorwaarden en een scriptmodus
- Spraak afspelen, opnemen en het niveau controleren, met Opus zoals in Mumcord
- Loadtest met tot 1000 gebruikers op een lokale testserver
-
Epic 1
klaar v0.1.0
Webhookbot
Berichten van buitenaf in een Mumble-kanaal.
- HTTP API met API-sleutels en toegestane kanalen per sleutel
- Markdown, kanaalwachtwoorden, opnieuw verbinden en een rate limit
- Programma's voor Linux, Windows en macOS en een Docker-image
- Sinds 0.1.1: Docker Compose-voorbeelden en documentatie over configuratie, commandoregel, HTTP API en beveiliging
-
Epic 2
hierna
Modules, muziek en geschiedenis
Eén bot wordt een gereedschapskist.
- Modules: kies in de configuratie of op de commandoregel welke bots draaien, in één programma en één image
- Muziekbot: stuur mp3's of links via HTTP, en de bot speelt ze af in het spraakkanaal, met een wachtrij
- Geschiedenisbot: bewaart de chat van de kanalen die hij mag zien en geeft die door aan Mumcord-gebruikers die offline waren. Nooit privéberichten
- Berichtkaarten: de webhook stuurt meldingen met een titel, statuskleur, grafiek en link, die Mumcord als kaart toont
- Instelbare bitrate voor spraak en muziek, nooit boven de limiet van de server
- Peermodule: meldt de gebruikers van de server aan bij een mumpeer-relay en laat Mumcord weten dat de relay er is
-
Daarna
later
Ideeën
Nog niet gepland, maar genoteerd.
- Een bot die de chat leest en op commando's reageert
- Tekst-naar-spraak of waarschuwingsgeluiden in een kanaal
- Eén bot voor meerdere servers of met meerdere identiteiten
- Fluisteren en privéberichten, sleutels wisselen zonder herstart, ingebouwde TLS
- Het certificaat van de server bij het eerste contact onthouden en een gewijzigd certificaat weigeren
Een idee voor een bot?
Wensen komen terecht in de issues van Mumbot op GitHub.