Boti pro Mumble

Mumbot

Mumbot se přihlašuje jako člověk, s vlastním certifikátem. Proto běží na jakémkoli standardním Mumble serveru, bez pluginu a beze změny konfigurace serveru. Z rodiny Mumcordu, open source pod licencí AGPL-3.0.

v0.1.1

Dva boti, jeden program

Oba žijí ve stejném programu, mumbot, pro Linux, Windows a macOS a jako Docker image.

Webhook bot

Monitoring, CI nebo tvůj vlastní skript pošle jeden HTTP požadavek s API klíčem a bot vloží text do kanálu Mumble.

  • Pro každý klíč nastavíš, do kterých kanálů smí psát
  • Tučné písmo, kurzíva, kód, seznamy a odkazy v Markdownu
  • Hesla kanálů, opětovné připojení po výpadku a stálá identita díky certifikátu
  • Omezení rychlosti a jasná odpověď, jestli zpráva dorazila
Terminal
curl -X POST http://127.0.0.1:8080/message \
  -H 'X-API-Key: <your key>' \
  -d '{"channel": 1, "message": "**deploy** finished"}'
Dokumentace →

Testovací bot

Skriptovaný druhý účastník pro automatické testy Mumble klientů. Běží na něm i testy samotného Mumcordu.

  • Ovládej chat, stav, oprávnění a moderaci a čekej na podmínky
  • Přehrávej a nahrávej hlas a kontroluj jeho úroveň, se skutečným kodekem Opus
  • Zátěžový test zaplní lokální server až 1000 uživateli
  • Návratový kód 0 znamená úspěch: hodí se do jakéhokoli CI
Terminal
printf '%s\n' 'join Lobby' 'say "<b>hello</b>"' \
  'expect message --from Alice --contains hi' \
  | mumbot --port 44738 --name Bob script
Dokumentace →

Stáhnout

Archiv obsahuje program mumbot, README a ukázkovou konfiguraci bot.example.toml.

Nebo jako Docker image pro amd64 a 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

Hotové příklady pro Docker Compose: webhook bot, webhook bot s vlastním Mumble serverem na vyzkoušení a testovací bot v CI →

Kontrolní součty (SHA256SUMS) →

Plán vývoje

Stejně jako Mumcord se i Mumbot vyvíjí po epicích. Epic 2 je návrh z otevřených issues a ještě se podrobně naplánuje.

  1. Epic 0

    hotovo v0.1.0

    Testovací bot

    Skriptovaný bot z testů Mumcordu, teď jako samostatný program.

    • Chat, stav, oprávnění a moderace, čekání na podmínky a skriptovací režim
    • Přehrávání, nahrávání a kontrola úrovně hlasu, s kodekem Opus jako v Mumcordu
    • Zátěžový test až s 1000 uživateli na lokálním testovacím serveru
  2. Epic 1

    hotovo v0.1.0

    Webhook bot

    Zprávy zvenčí do kanálu Mumble.

    • HTTP API s API klíči a povolenými kanály pro každý klíč
    • Markdown, hesla kanálů, opětovné připojení a omezení rychlosti
    • Programy pro Linux, Windows a macOS a Docker image
    • Od 0.1.1: příklady pro Docker Compose a dokumentace ke konfiguraci, příkazové řádce, HTTP API a zabezpečení
  3. Epic 2

    na řadě

    Moduly, hudba a historie

    Z jednoho bota se stává sada nástrojů.

    • Moduly: v konfiguraci nebo na příkazové řádce vybereš, kteří boti poběží, v jednom programu a jednom image
    • Hudební bot: pošli MP3 nebo odkazy přes HTTP a bot je přehraje v hlasovém kanálu, s frontou
    • Bot historie: uchovává chat kanálů, které smí vidět, a předá ho uživatelům Mumcordu, kteří byli offline. Nikdy soukromé zprávy
    • Karty zpráv: webhook posílá upozornění s nadpisem, stavovou barvou, grafem a odkazem, které Mumcord zobrazí jako kartu
    • Nastavitelný bitrate pro řeč a hudbu, nikdy nad limit serveru
    • Peer modul: registruje uživatele serveru u mumpeer relaye a dá Mumcordu vědět, že relay existuje
  4. Potom

    později

    Nápady

    Zatím nenaplánované, ale zapsané.

    • Bot, který čte chat a odpovídá na příkazy
    • Převod textu na řeč nebo zvuky upozornění v kanálu
    • Jeden bot pro víc serverů nebo s víc identitami
    • Šeptání a soukromé zprávy, výměna klíčů bez restartu, vestavěné TLS
    • Zapamatovat si certifikát serveru při prvním kontaktu a odmítnout změněný

Nápad na bota?

Přání patří do issues Mumbotu na GitHubu.

Navrhnout nápad Zdrojový kód na GitHubu →