Botok Mumble-höz

Mumbot

A Mumbot úgy jelentkezik be, mint egy ember, saját tanúsítvánnyal. Ezért bármely szabványos Mumble-szerveren fut, plugin nélkül és a szerverkonfiguráció módosítása nélkül. A Mumcord családjából, nyílt forráskód AGPL-3.0 licenc alatt.

v0.1.1

Két bot, egy program

Mindkettő ugyanabban a programban lakik, ez a mumbot, Linuxra, Windowsra és macOS-re, valamint Docker image-ként.

Webhook bot

A monitoring, a CI vagy a saját szkripted egyetlen HTTP-kérést küld egy API-kulccsal, a bot pedig beteszi a szöveget egy Mumble-csatornába.

  • Kulcsonként beállítod, mely csatornákba írhat
  • Félkövér, dőlt, kód, listák és linkek Markdownban
  • Csatornajelszavak, újracsatlakozás megszakadás után és állandó identitás a tanúsítványnak köszönhetően
  • Sebességkorlát és egyértelmű válasz, hogy megérkezett-e az üzenet
Terminal
curl -X POST http://127.0.0.1:8080/message \
  -H 'X-API-Key: <your key>' \
  -d '{"channel": 1, "message": "**deploy** finished"}'
Dokumentáció →

Tesztbot

Szkriptelt második résztvevő Mumble kliensek automatizált teszteléséhez. A Mumcord saját tesztjei is ezen futnak.

  • Vezéreld a chatet, az állapotot, a jogosultságokat és a moderálást, és várj feltételekre
  • Hang lejátszása, felvétele és szintjének ellenőrzése, valódi Opus kodekkel
  • A terhelési teszt akár 1000 felhasználóval tölt meg egy helyi szervert
  • A 0-s kilépési kód sikert jelent: bármilyen CI-ba beillik
Terminal
printf '%s\n' 'join Lobby' 'say "<b>hello</b>"' \
  'expect message --from Alice --contains hi' \
  | mumbot --port 44738 --name Bob script
Dokumentáció →

Letöltés

Az archívumban a mumbot program, a README és egy példakonfiguráció, a bot.example.toml található.

Vagy Docker image-ként amd64-re és arm64-re:

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

Kész Docker Compose példák: webhook bot, webhook bot saját Mumble-szerverrel a kipróbáláshoz és tesztbot CI-ban →

Ellenőrzőösszegek (SHA256SUMS) →

Ütemterv

A Mumcordhoz hasonlóan a Mumbot is epicekben készül. A 2. epic a nyitott issue-kból összeállított javaslat, a részletes tervezése még hátravan.

  1. Epic 0

    kész v0.1.0

    Tesztbot

    A Mumcord tesztjeiből ismert szkriptelt bot, most önálló programként.

    • Chat, állapot, jogosultságok és moderálás, várakozás feltételekre és szkriptmód
    • Hang lejátszása, felvétele és szintjének ellenőrzése, Opus kodekkel, ahogy a Mumcordban
    • Terhelési teszt akár 1000 felhasználóval egy helyi tesztszerveren
  2. Epic 1

    kész v0.1.0

    Webhook bot

    Kívülről érkező üzenetek egy Mumble-csatornába.

    • HTTP API API-kulcsokkal és kulcsonként engedélyezett csatornákkal
    • Markdown, csatornajelszavak, újracsatlakozás és sebességkorlát
    • Programok Linuxra, Windowsra és macOS-re, valamint Docker image
    • A 0.1.1 óta: Docker Compose példák és dokumentáció a konfigurációhoz, a parancssorhoz, a HTTP API-hoz és a biztonsághoz
  3. Epic 2

    következik

    Modulok, zene és előzmények

    Egy botból eszköztár lesz.

    • Modulok: a konfigurációban vagy a parancssorban választod ki, mely botok fussanak, egy programban és egy image-ben
    • Zenebot: küldj MP3-akat vagy linkeket HTTP-n, a bot pedig lejátssza őket a hangcsatornán, lejátszási sorral
    • Előzménybot: megőrzi azoknak a csatornáknak a chatjét, amelyeket láthat, és átadja azoknak a Mumcord-felhasználóknak, akik offline voltak. Privát üzeneteket soha
    • Üzenetkártyák: a webhook címmel, állapotszínnel, grafikonnal és linkkel küld riasztásokat, amelyeket a Mumcord kártyaként jelenít meg
    • Állítható bitráta beszédhez és zenéhez, sosem a szerver korlátja fölött
    • Peer modul: regisztrálja a szerver felhasználóit egy mumpeer relaynél, és jelzi a Mumcordnak, hogy létezik relay
  4. Utána

    később

    Ötletek

    Még nincs betervezve, de fel van jegyezve.

    • Bot, amely olvassa a chatet és válaszol a parancsokra
    • Szövegfelolvasás vagy riasztási hangok egy csatornában
    • Egy bot több szerverhez vagy több identitással
    • Suttogás és privát üzenetek, kulcscsere újraindítás nélkül, beépített TLS
    • A szerver tanúsítványának megjegyzése az első kapcsolódáskor, és a megváltozott elutasítása

Van ötleted egy botra?

A kívánságok a Mumbot GitHub-issue-iba kerülnek.

Ötlet beküldése Forráskód a GitHubon →