Botid Mumble'ile

Mumbot

Mumbot logib sisse nagu inimene, oma sertifikaadiga. Seetõttu töötab see igal tavalisel Mumble-serveril, ilma pluginata ja ilma serveri seadistust muutmata. Mumcordi perest, avatud lähtekood AGPL-3.0 litsentsiga.

v0.1.1

Kaks botti, üks programm

Mõlemad on samas programmis mumbot, Linuxile, Windowsile, macOS-ile ja Dockeri kujutisena.

Veebihaagi bot

Monitooring, CI või sinu oma skript saadab ühe HTTP-päringu API-võtmega ja bot postitab teksti Mumble'i kanalisse.

  • Määra iga võtme jaoks, millistesse kanalitesse see tohib kirjutada
  • Paks ja kaldkiri, kood, loendid ja lingid Markdownis
  • Kanalite paroolid, taasühendumine pärast katkestusi ja püsiv identiteet sertifikaadi abil
  • Päringute piirang ja selge vastus, kas sõnum jõudis kohale
Terminal
curl -X POST http://127.0.0.1:8080/message \
  -H 'X-API-Key: <your key>' \
  -d '{"channel": 1, "message": "**deploy** finished"}'
Juhendid →

Testbot

Skriptitud teine osaleja Mumble'i klientide automaattestideks. Mumcordi enda testid jooksevad sellega.

  • Juhi vestlust, olekut, õigusi ja modereerimist ning oota tingimuste täitumist
  • Esita, salvesta ja kontrolli kõne taset, päris Opusega
  • Koormustest täidab kohaliku serveri kuni 1000 kasutajaga
  • Väljumiskood 0 tähendab läbitud: sobib igasse CI-sse
Terminal
printf '%s\n' 'join Lobby' 'say "<b>hello</b>"' \
  'expect message --from Alice --contains hi' \
  | mumbot --port 44738 --name Bob script
Juhendid →

Allalaadimine

Arhiivis on programm mumbot, README ja näidisseadistus bot.example.toml.

Või Dockeri kujutisena amd64 ja arm64 jaoks:

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

Valmis Docker Compose'i näited: veebihaagi bot, veebihaagi bot oma Mumble-serveriga proovimiseks ja testbot CI-s →

Kontrollsummad (SHA256SUMS) →

Teekaart

Nagu Mumcordi, ehitatakse ka Mumbotit epicute kaupa. Epic 2 on avatud issue'de põhjal tehtud ettepanek ja seda planeeritakse veel üksikasjalikult.

  1. Epic 0

    valmis v0.1.0

    Testbot

    Mumcordi testide skriptitud bot, nüüd eraldi programmina.

    • Vestlus, olek, õigused ja modereerimine, tingimuste ootamine ja skriptirežiim
    • Kõne esitamine, salvestamine ja taseme kontroll, Opusega nagu Mumcordis
    • Koormustest kuni 1000 kasutajaga kohalikul testserveril
  2. Epic 1

    valmis v0.1.0

    Veebihaagi bot

    Sõnumid väljastpoolt Mumble'i kanalisse.

    • HTTP API koos API-võtmete ja lubatud kanalitega iga võtme kohta
    • Markdown, kanalite paroolid, taasühendumine ja päringute piirang
    • Programmid Linuxile, Windowsile ja macOS-ile ning Dockeri kujutis
    • Alates 0.1.1: Docker Compose'i näited ja dokumentatsioon seadistuse, käsurea, HTTP API ja turvalisuse kohta
  3. Epic 2

    järgmisena

    Moodulid, muusika ja ajalugu

    Ühest botist saab tööriistakomplekt.

    • Moodulid: vali seadistuses või käsureal, millised botid töötavad, ühes programmis ja ühes kujutises
    • Muusikabot: saada MP3-faile või linke üle HTTP ja bot mängib neid häälkanalis järjekorraga
    • Ajaloobot: hoiab alles nende kanalite vestluse, mida tal on lubatud näha, ja annab selle edasi Mumcordi kasutajatele, kes olid võrgust väljas. Privaatsõnumeid mitte kunagi
    • Sõnumikaardid: veebihaak saadab hoiatusi pealkirja, olekuvärvi, graafiku ja lingiga, mida Mumcord näitab kaardina
    • Reguleeritav bitikiirus kõnele ja muusikale, mitte kunagi üle serveri piiri
    • Peer-moodul: registreerib serveri kasutajad mumpeeri vahendusserveris ja annab Mumcordile teada, et vahendusserver on olemas
  4. Edasi

    hiljem

    Ideed

    Veel planeerimata, aga kirja pandud.

    • Bot, mis loeb vestlust ja vastab käskudele
    • Kõnesüntees või hoiatushelid kanalis
    • Üks bot mitmele serverile või mitme identiteediga
    • Sosinad ja privaatsõnumid, võtmete vahetamine ilma taaskäivituseta, sisseehitatud TLS
    • Serveri sertifikaadi meelespidamine esimesel kontaktil ja muutunud sertifikaadi tagasilükkamine

Idee botiks?

Soovid lähevad Mumboti issue'desse GitHubis.

Paku idee Lähtekood GitHubis →