Boti pre Mumble

Mumbot

Mumbot sa prihlasuje ako človek, s vlastným certifikátom. Preto beží na každom štandardnom Mumble serveri, bez pluginu a bez zmeny konfigurácie servera. Z rodiny Mumcordu, open source pod licenciou AGPL-3.0.

v0.1.1

Dvaja boti, jeden program

Obaja bývajú v tom istom programe, mumbot, pre Linux, Windows a macOS a ako Docker image.

Webhook bot

Monitoring, CI alebo tvoj vlastný skript pošle jednu HTTP požiadavku s API kľúčom a bot vloží text do kanála Mumble.

  • Pre každý kľúč nastavíš, do ktorých kanálov smie písať
  • Tučné písmo, kurzíva, kód, zoznamy a odkazy v Markdowne
  • Heslá kanálov, opätovné pripojenie po výpadku a stála identita vďaka certifikátu
  • Obmedzenie rýchlosti a jasná odpoveď, či sprá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"}'
Dokumentácia →

Testovací bot

Skriptovaný druhý účastník na automatické testy Mumble klientov. Bežia na ňom aj testy samotného Mumcordu.

  • Ovládaj chat, stav, oprávnenia a moderovanie a čakaj na podmienky
  • Prehrávaj a nahrávaj hlas a kontroluj jeho úroveň, so skutočným kodekom Opus
  • Záťažový test zaplní lokálny server až 1000 používateľmi
  • Návratový kód 0 znamená úspech: hodí sa do akéhokoľvek CI
Terminal
printf '%s\n' 'join Lobby' 'say "<b>hello</b>"' \
  'expect message --from Alice --contains hi' \
  | mumbot --port 44738 --name Bob script
Dokumentácia →

Stiahnuť

Archív obsahuje program mumbot, README a vzorovú konfiguráciu bot.example.toml.

Alebo ako Docker image pre 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é príklady pre Docker Compose: webhook bot, webhook bot s vlastným Mumble serverom na vyskúšanie a testovací bot v CI →

Kontrolné súčty (SHA256SUMS) →

Plán vývoja

Rovnako ako Mumcord sa aj Mumbot vyvíja v epicoch. Epic 2 je návrh z otvorených issues a ešte sa podrobne naplánuje.

  1. Epic 0

    hotové v0.1.0

    Testovací bot

    Skriptovaný bot z testov Mumcordu, teraz ako samostatný program.

    • Chat, stav, oprávnenia a moderovanie, čakanie na podmienky a skriptovací režim
    • Prehrávanie, nahrávanie a kontrola úrovne hlasu, s kodekom Opus ako v Mumcorde
    • Záťažový test až s 1000 používateľmi na lokálnom testovacom serveri
  2. Epic 1

    hotové v0.1.0

    Webhook bot

    Správy zvonku do kanála Mumble.

    • HTTP API s API kľúčmi a povolenými kanálmi pre každý kľúč
    • Markdown, heslá kanálov, opätovné pripojenie a obmedzenie rýchlosti
    • Programy pre Linux, Windows a macOS a Docker image
    • Od 0.1.1: príklady pre Docker Compose a dokumentácia ku konfigurácii, príkazovému riadku, HTTP API a bezpečnosti
  3. Epic 2

    na rade

    Moduly, hudba a história

    Z jedného bota sa stáva sada nástrojov.

    • Moduly: v konfigurácii alebo na príkazovom riadku vyberieš, ktorí boti pobežia, v jednom programe a jednom image
    • Hudobný bot: pošli MP3 alebo odkazy cez HTTP a bot ich prehrá v hlasovom kanáli, s frontom
    • Bot histórie: uchováva chat kanálov, ktoré smie vidieť, a odovzdá ho používateľom Mumcordu, ktorí boli offline. Nikdy súkromné správy
    • Karty správ: webhook posiela upozornenia s nadpisom, stavovou farbou, grafom a odkazom, ktoré Mumcord zobrazí ako kartu
    • Nastaviteľný bitrate pre reč a hudbu, nikdy nad limit servera
    • Peer modul: registruje používateľov servera v mumpeer relayi a dá Mumcordu vedieť, že relay existuje
  4. Potom

    neskôr

    Nápady

    Zatiaľ nenaplánované, ale zapísané.

    • Bot, ktorý číta chat a odpovedá na príkazy
    • Prevod textu na reč alebo zvuky upozornení v kanáli
    • Jeden bot pre viac serverov alebo s viacerými identitami
    • Šepot a súkromné správy, výmena kľúčov bez reštartu, vstavané TLS
    • Zapamätať si certifikát servera pri prvom kontakte a odmietnuť zmenený

Nápad na bota?

Želania patria do issues Mumbotu na GitHube.

Navrhnúť nápad Zdrojový kód na GitHube →