Bots para Mumble
Mumbot
O Mumbot entra como uma pessoa, com o seu próprio certificado. Por isso funciona em qualquer servidor Mumble padrão, sem plugin e sem alterar a configuração do servidor. Da família Mumcord, open source sob AGPL-3.0.
Dois bots, um programa
Ambos vivem no mesmo programa, mumbot, para Linux, Windows, macOS e como imagem Docker.
Bot de webhook
A monitorização, a CI ou um script teu envia um pedido HTTP com uma chave de API, e o bot publica o texto num canal do Mumble.
- Define por chave em que canais pode escrever
- Negrito, itálico, código, listas e links em Markdown
- Palavras-passe de canal, nova ligação automática após quebras e identidade fixa graças ao seu certificado
- Limite de frequência e uma resposta clara sobre se a mensagem chegou
curl -X POST http://127.0.0.1:8080/message \
-H 'X-API-Key: <your key>' \
-d '{"channel": 1, "message": "**deploy** finished"}' Bot de testes
Um segundo participante com guião para testes automáticos de clientes Mumble. Os próprios testes do Mumcord correm nele.
- Controla chat, estado, permissões e moderação, e espera por condições
- Reproduz, grava e verifica o nível da voz, com Opus a sério
- Um teste de carga enche um servidor local com até 1000 utilizadores
- Código de saída 0 significa aprovado: encaixa em qualquer CI
printf '%s\n' 'join Lobby' 'say "<b>hello</b>"' \
'expect message --from Alice --contains hi' \
| mumbot --port 44738 --name Bob script Transferir
O arquivo contém o programa mumbot, o README e uma configuração de exemplo, 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 como imagem Docker para amd64 e 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 Roadmap
Tal como o Mumcord, o Mumbot é desenvolvido em epics. O Epic 2 é uma proposta a partir das issues abertas e ainda vai ser planeado em detalhe.
-
Epic 0
concluído v0.1.0
Bot de testes
O bot com guião dos testes do Mumcord, agora um programa próprio.
- Chat, estado, permissões e moderação, espera por condições e um modo de script
- Reproduzir, gravar e verificar o nível da voz, com Opus como no Mumcord
- Teste de carga com até 1000 utilizadores num servidor de testes local
-
Epic 1
concluído v0.1.0
Bot de webhook
Mensagens de fora num canal do Mumble.
- API HTTP com chaves de API e canais permitidos por chave
- Markdown, palavras-passe de canal, nova ligação automática e limite de frequência
- Programas para Linux, Windows e macOS e uma imagem Docker
- Desde a 0.1.1: exemplos Docker Compose e documentação sobre a configuração, a linha de comandos, a API HTTP e a segurança
-
Epic 2
a seguir
Módulos, música e histórico
Um bot torna-se uma caixa de ferramentas.
- Módulos: escolhe que bots correm, na configuração ou na linha de comandos, num só programa e numa só imagem
- Bot de música: envia MP3 ou links por HTTP, e o bot toca-os no canal de voz com uma fila
- Bot de histórico: guarda o chat dos canais que pode ver e entrega-o aos utilizadores do Mumcord que estavam offline. Nunca as mensagens privadas
- Cartões de mensagem: o webhook envia alertas com título, cor de estado, gráfico e link que o Mumcord mostra como cartão
- Bitrate ajustável para voz e música, nunca acima do limite do servidor
- Módulo peer: regista os utilizadores do servidor num relay mumpeer e diz ao Mumcord que o relay existe
-
Mais além
mais tarde
Ideias
Ainda não planeado, mas anotado.
- Um bot que lê o chat e responde a comandos
- Texto para voz ou sons de alerta num canal
- Um bot para vários servidores ou com várias identidades
- Sussurros e mensagens privadas, trocar chaves sem reiniciar, TLS integrado
- Memorizar o certificado do servidor no primeiro contacto e recusar um que tenha mudado
Uma ideia para um bot?
Os pedidos vão para as issues do Mumbot no GitHub.