Des bots pour Mumble
Mumbot
Mumbot se connecte comme une personne, avec son propre certificat. Il tourne donc sur n’importe quel serveur Mumble standard, sans plugin ni modification de la config du serveur. De la famille Mumcord, open source sous AGPL-3.0.
Deux bots, un seul programme
Les deux vivent dans le même programme, mumbot, pour Linux, Windows, macOS et en image Docker.
Bot webhook
Ton monitoring, ta CI ou ton propre script envoie une requête HTTP avec une clé API, et le bot publie le texte dans un salon Mumble.
- Choisis pour chaque clé les salons où elle peut écrire
- Gras, italique, code, listes et liens en Markdown
- Mots de passe de salon, reconnexion après une coupure et identité fixe grâce à son certificat
- Limite de débit et réponse claire indiquant si le message est arrivé
curl -X POST http://127.0.0.1:8080/message \
-H 'X-API-Key: <your key>' \
-d '{"channel": 1, "message": "**deploy** finished"}' Bot de test
Un second participant scripté pour les tests automatisés de clients Mumble. Les tests de Mumcord tournent dessus.
- Piloter chat, état, permissions et modération, et attendre des conditions
- Lire, enregistrer et vérifier le niveau de la voix, avec du vrai Opus
- Un test de charge remplit un serveur local avec jusqu’à 1000 utilisateurs
- Code de sortie 0 signifie réussi : s’intègre à n’importe quelle CI
printf '%s\n' 'join Lobby' 'say "<b>hello</b>"' \
'expect message --from Alice --contains hi' \
| mumbot --port 44738 --name Bob script Télécharger
L’archive contient le programme mumbot, le README et une config d’exemple, bot.example.toml.
- Linux x86_64 mumbot-0.1.1-linux-x86_64.tar.gz · 2 MB
- Linux ARM64 mumbot-0.1.1-linux-aarch64.tar.gz · 2 MB
- Windows mumbot-0.1.1-windows-x86_64.zip · 2 MB
- macOS mumbot-0.1.1-macos-universal.tar.gz · 4 MB
Ou en image Docker pour amd64 et arm64 :
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 Feuille de route
Comme Mumcord, Mumbot se construit par epics. L’Epic 2 est une proposition tirée des issues ouvertes et sera encore planifiée en détail.
-
Epic 0
terminé v0.1.0
Bot de test
Le bot scripté des tests de Mumcord, devenu un programme à part entière.
- Chat, état, permissions et modération, attente de conditions et mode script
- Lire, enregistrer et vérifier le niveau de la voix, avec Opus comme dans Mumcord
- Test de charge avec jusqu’à 1000 utilisateurs sur un serveur de test local
-
Epic 1
terminé v0.1.0
Bot webhook
Des messages de l’extérieur dans un salon Mumble.
- API HTTP avec clés API et salons autorisés par clé
- Markdown, mots de passe de salon, reconnexion et limite de débit
- Programmes pour Linux, Windows et macOS et une image Docker
- Depuis la 0.1.1 : exemples Docker Compose et docs pour la config, la ligne de commande, l’API HTTP et la sécurité
-
Epic 2
ensuite
Modules, musique et historique
Un bot devient une boîte à outils.
- Modules : choisis quels bots tournent, dans la config ou en ligne de commande, dans un seul programme et une seule image
- Bot musique : envoie des MP3 ou des liens via HTTP, et le bot les joue dans le salon vocal avec une file d’attente
- Bot historique : garde le chat des salons qu’il peut voir et le transmet aux utilisateurs de Mumcord qui étaient hors ligne. Jamais les messages privés
- Cartes de message : le webhook envoie des alertes avec titre, couleur d’état, graphique et lien, que Mumcord affiche sous forme de carte
- Débit réglable pour la parole et la musique, jamais au-dessus de la limite du serveur
- Module peer : enregistre les utilisateurs du serveur auprès d’un relais mumpeer et indique à Mumcord que le relais existe
-
Au-delà
plus tard
Idées
Pas encore planifié, mais noté.
- Un bot qui lit le chat et répond à des commandes
- Synthèse vocale ou sons d’alerte dans un salon
- Un bot pour plusieurs serveurs ou avec plusieurs identités
- Chuchotements et messages privés, changement de clés sans redémarrage, TLS intégré
- Mémoriser le certificat du serveur au premier contact et refuser un certificat modifié
Une idée de bot ?
Les souhaits vont dans les issues de Mumbot sur GitHub.