Bottar för Mumble

Mumbot

Mumbot loggar in som en människa, med ett eget certifikat. Därför körs den på alla vanliga Mumble-servrar, utan plugin och utan ändringar i serverkonfigurationen. Från Mumcord-familjen, öppen källkod under AGPL-3.0.

v0.1.1

Två bottar, ett program

Båda finns i samma program, mumbot, för Linux, Windows, macOS och som Docker-image.

Webhook-bot

Övervakning, CI eller ditt eget skript skickar en HTTP-förfrågan med en API-nyckel, och botten skriver texten i en Mumble-kanal.

  • Ställ in per nyckel vilka kanaler den får skriva i
  • Fetstil, kursiv, kod, listor och länkar i Markdown
  • Kanallösenord, återanslutning efter avbrott och en fast identitet genom sitt certifikat
  • Rate limit och ett tydligt svar om meddelandet kom fram
Terminal
curl -X POST http://127.0.0.1:8080/message \
  -H 'X-API-Key: <your key>' \
  -d '{"channel": 1, "message": "**deploy** finished"}'
Dokumentation →

Testbot

En skriptad andra deltagare för automatiska tester av Mumble-klienter. Mumcords egna tester körs med den.

  • Styr chatt, status, behörigheter och moderering, och vänta på villkor
  • Spela upp, spela in och kontrollera nivån på röst, med äkta Opus
  • Ett lasttest fyller en lokal server med upp till 1000 användare
  • Exitkod 0 betyder godkänt: passar in i alla CI
Terminal
printf '%s\n' 'join Lobby' 'say "<b>hello</b>"' \
  'expect message --from Alice --contains hi' \
  | mumbot --port 44738 --name Bob script
Dokumentation →

Ladda ner

Arkivet innehåller programmet mumbot, README-filen och en exempelkonfiguration, bot.example.toml.

Eller som Docker-image för amd64 och arm64:

Docker
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

Färdiga Docker Compose-exempel: webhook-bot, webhook-bot med en egen Mumble-server att testa med, och testbot i CI →

Kontrollsummor (SHA256SUMS) →

Roadmap

Precis som Mumcord byggs Mumbot i epics. Epic 2 är ett förslag utifrån de öppna issues och planeras fortfarande i detalj.

  1. Epic 0

    klart v0.1.0

    Testbot

    Den skriptade botten från Mumcords tester, nu ett eget program.

    • Chatt, status, behörigheter och moderering, väntan på villkor och ett skriptläge
    • Spela upp, spela in och kontrollera nivån på röst, med Opus som i Mumcord
    • Lasttest med upp till 1000 användare på en lokal testserver
  2. Epic 1

    klart v0.1.0

    Webhook-bot

    Meddelanden utifrån in i en Mumble-kanal.

    • HTTP API med API-nycklar och tillåtna kanaler per nyckel
    • Markdown, kanallösenord, återanslutning och rate limit
    • Program för Linux, Windows och macOS och en Docker-image
    • Sedan 0.1.1: Docker Compose-exempel och dokumentation om konfiguration, kommandorad, HTTP API och säkerhet
  3. Epic 2

    näst på tur

    Moduler, musik och historik

    En bot blir en verktygslåda.

    • Moduler: välj i konfigurationen eller på kommandoraden vilka bottar som körs, i ett program och en image
    • Musikbot: skicka MP3-filer eller länkar via HTTP, och botten spelar dem i röstkanalen med en kö
    • Historikbot: sparar chatten i de kanaler den får se och lämnar den till Mumcord-användare som var offline. Aldrig privata meddelanden
    • Meddelandekort: webhooken skickar larm med rubrik, statusfärg, diagram och länk som Mumcord visar som ett kort
    • Justerbar bithastighet för tal och musik, aldrig över serverns gräns
    • Peer-modul: registrerar serverns användare hos ett mumpeer-relä och talar om för Mumcord att reläet finns
  4. Därefter

    senare

    Idéer

    Inte planerat än, men antecknat.

    • En bot som läser chatten och svarar på kommandon
    • Text-till-tal eller larmljud i en kanal
    • En bot för flera servrar eller med flera identiteter
    • Viskningar och privata meddelanden, byta nycklar utan omstart, inbyggd TLS
    • Komma ihåg serverns certifikat vid första kontakten och vägra ett ändrat

En idé till en bot?

Önskemål hamnar i Mumbots issues på GitHub.

Föreslå en idé Källkod på GitHub →