Bots para Mumble
Mumbot
Mumbot se conecta como una persona, con su propio certificado. Por eso funciona en cualquier servidor Mumble estándar, sin plugin y sin cambiar la configuración del servidor. De la familia Mumcord, código abierto bajo AGPL-3.0.
Dos bots, un programa
Los dos viven en el mismo programa, mumbot, para Linux, Windows, macOS y como imagen de Docker.
Bot de webhook
Tu monitorización, tu CI o tu propio script envía una petición HTTP con una clave de API, y el bot publica el texto en un canal de Mumble.
- Define por clave en qué canales puede escribir
- Negrita, cursiva, código, listas y enlaces en Markdown
- Contraseñas de canal, reconexión tras cortes e identidad fija gracias a su certificado
- Límite de frecuencia y una respuesta clara sobre si el mensaje llegó
curl -X POST http://127.0.0.1:8080/message \
-H 'X-API-Key: <your key>' \
-d '{"channel": 1, "message": "**deploy** finished"}' Bot de pruebas
Un segundo participante con guion para pruebas automáticas de clientes de Mumble. Las pruebas del propio Mumcord se ejecutan con él.
- Controla chat, estado, permisos y moderación, y espera a que se cumplan condiciones
- Reproduce, graba y comprueba el nivel de la voz, con Opus de verdad
- Una prueba de carga llena un servidor local con hasta 1000 usuarios
- Código de salida 0 significa superado: encaja en cualquier CI
printf '%s\n' 'join Lobby' 'say "<b>hello</b>"' \
'expect message --from Alice --contains hi' \
| mumbot --port 44738 --name Bob script Descargar
El archivo contiene el programa mumbot, el README y una configuración de ejemplo, 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
O como imagen de Docker para amd64 y 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 Hoja de ruta
Como Mumcord, Mumbot se construye por épicas. La Épica 2 es una propuesta a partir de las issues abiertas y aún se planificará en detalle.
-
Epic 0
hecho v0.1.0
Bot de pruebas
El bot con guion de las pruebas de Mumcord, ahora un programa propio.
- Chat, estado, permisos y moderación, espera de condiciones y modo script
- Reproducir, grabar y comprobar el nivel de la voz, con Opus como en Mumcord
- Prueba de carga con hasta 1000 usuarios en un servidor de pruebas local
-
Epic 1
hecho v0.1.0
Bot de webhook
Mensajes de fuera en un canal de Mumble.
- API HTTP con claves de API y canales permitidos por clave
- Markdown, contraseñas de canal, reconexión y límite de frecuencia
- Programas para Linux, Windows y macOS y una imagen de Docker
- Desde la 0.1.1: ejemplos de Docker Compose y documentación de la configuración, la línea de comandos, la API HTTP y la seguridad
-
Epic 2
lo siguiente
Módulos, música e historial
Un bot se convierte en una caja de herramientas.
- Módulos: elige qué bots se ejecutan en la configuración o en la línea de comandos, en un solo programa y una sola imagen
- Bot de música: envía MP3 o enlaces por HTTP y el bot los reproduce en el canal de voz con una cola
- Bot de historial: guarda el chat de los canales que puede ver y se lo pasa a los usuarios de Mumcord que estaban desconectados. Nunca los mensajes privados
- Tarjetas de mensaje: el webhook envía alertas con título, color de estado, gráfica y enlace que Mumcord muestra como tarjeta
- Tasa de bits ajustable para voz y música, nunca por encima del límite del servidor
- Módulo peer: registra a los usuarios del servidor en un relay mumpeer y le dice a Mumcord que el relay existe
-
Más allá
más adelante
Ideas
Aún sin planificar, pero apuntado.
- Un bot que lee el chat y responde a comandos
- Texto a voz o sonidos de alerta en un canal
- Un bot para varios servidores o con varias identidades
- Susurros y mensajes privados, cambiar claves sin reiniciar, TLS integrado
- Recordar el certificado del servidor en el primer contacto y rechazar uno que haya cambiado
¿Tienes una idea para un bot?
Los deseos van a las issues de Mumbot en GitHub.