Bots til Mumble
Mumbot
Mumbot logger ind som et menneske, med sit eget certifikat. Derfor kører den på enhver almindelig Mumble-server, uden plugin og uden ændringer i serverkonfigurationen. Fra Mumcord-familien, open source under AGPL-3.0.
To bots, ét program
Begge findes i det samme program, mumbot, til Linux, Windows, macOS og som Docker-image.
Webhook-bot
Overvågning, CI eller dit eget script sender én HTTP-forespørgsel med en API-nøgle, og botten skriver teksten i en Mumble-kanal.
- Bestem pr. nøgle, hvilke kanaler den må skrive i
- Fed, kursiv, kode, lister og links i Markdown
- Kanaladgangskoder, genforbindelse efter afbrydelser og en fast identitet via sit certifikat
- Rate limit og et klart svar på, om beskeden er kommet frem
curl -X POST http://127.0.0.1:8080/message \
-H 'X-API-Key: <your key>' \
-d '{"channel": 1, "message": "**deploy** finished"}' Testbot
En scriptet anden deltager til automatiske tests af Mumble-klienter. Mumcords egne tests kører på den.
- Styr chat, status, rettigheder og moderation, og vent på betingelser
- Afspil, optag og tjek niveauet af tale, med ægte Opus
- En belastningstest fylder en lokal server med op til 1000 brugere
- Exitkode 0 betyder bestået: passer ind i enhver CI
printf '%s\n' 'join Lobby' 'say "<b>hello</b>"' \
'expect message --from Alice --contains hi' \
| mumbot --port 44738 --name Bob script Download
Arkivet indeholder programmet mumbot, README-filen og en eksempelkonfiguration, 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
Eller som Docker-image til amd64 og 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
Ligesom Mumcord bygges Mumbot i epics. Epic 2 er et forslag ud fra de åbne issues og bliver stadig planlagt i detaljer.
-
Epic 0
færdig v0.1.0
Testbot
Den scriptede bot fra Mumcords tests, nu som sit eget program.
- Chat, status, rettigheder og moderation, venten på betingelser og en scripttilstand
- Afspil, optag og tjek niveauet af tale, med Opus som i Mumcord
- Belastningstest med op til 1000 brugere på en lokal testserver
-
Epic 1
færdig v0.1.0
Webhook-bot
Beskeder udefra ind i en Mumble-kanal.
- HTTP API med API-nøgler og tilladte kanaler pr. nøgle
- Markdown, kanaladgangskoder, genforbindelse og rate limit
- Programmer til Linux, Windows og macOS og et Docker-image
- Siden 0.1.1: Docker Compose-eksempler og dokumentation om konfiguration, kommandolinje, HTTP API og sikkerhed
-
Epic 2
næste
Moduler, musik og historik
Én bot bliver til en værktøjskasse.
- Moduler: vælg i konfigurationen eller på kommandolinjen, hvilke bots der kører, i ét program og ét image
- Musikbot: send MP3'er eller links via HTTP, og botten afspiller dem i talekanalen med en kø
- Historikbot: gemmer chatten i de kanaler, den må se, og giver den videre til Mumcord-brugere, der var offline. Aldrig private beskeder
- Beskedkort: webhooken sender alarmer med titel, statusfarve, graf og link, som Mumcord viser som et kort
- Justerbar bitrate til tale og musik, aldrig over serverens grænse
- Peer-modul: registrerer serverens brugere hos et mumpeer-relay og fortæller Mumcord, at relayet findes
-
Derefter
senere
Idéer
Ikke planlagt endnu, men noteret.
- En bot, der læser chatten og svarer på kommandoer
- Tekst-til-tale eller alarmlyde i en kanal
- Én bot til flere servere eller med flere identiteter
- Hvisken og private beskeder, udskiftning af nøgler uden genstart, indbygget TLS
- Husk serverens certifikat ved første kontakt, og afvis et ændret
En idé til en bot?
Ønsker samles i Mumbots issues på GitHub.