Bots για το Mumble
Mumbot
Το Mumbot συνδέεται σαν άνθρωπος, με δικό του πιστοποιητικό. Γι' αυτό τρέχει σε κάθε τυπικό server Mumble, χωρίς plugin και χωρίς αλλαγές στις ρυθμίσεις του server. Από την οικογένεια του Mumcord, ανοιχτός κώδικας με άδεια AGPL-3.0.
Δύο bots, ένα πρόγραμμα
Και τα δύο βρίσκονται στο ίδιο πρόγραμμα, mumbot, για Linux, Windows, macOS και ως Docker image.
Webhook bot
Το monitoring, το CI ή ένα δικό σου script στέλνει ένα αίτημα HTTP με ένα API key, και το bot δημοσιεύει το κείμενο σε ένα κανάλι Mumble.
- Ορίζεις για κάθε key σε ποια κανάλια επιτρέπεται να γράφει
- Έντονα, πλάγια, κώδικας, λίστες και σύνδεσμοι σε Markdown
- Κωδικοί καναλιών, επανασύνδεση μετά από διακοπές και σταθερή ταυτότητα μέσω του πιστοποιητικού του
- Όριο ρυθμού και σαφής απάντηση για το αν έφτασε το μήνυμα
curl -X POST http://127.0.0.1:8080/message \
-H 'X-API-Key: <your key>' \
-d '{"channel": 1, "message": "**deploy** finished"}' Test bot
Ένας δεύτερος συμμετέχων με script για αυτόματα tests προγραμμάτων Mumble. Πάνω του τρέχουν και τα tests του ίδιου του Mumcord.
- Χειρίζεται chat, κατάσταση, δικαιώματα και moderation, και περιμένει να ισχύσουν συνθήκες
- Παίζει, ηχογραφεί και ελέγχει την ένταση της φωνής, με πραγματικό Opus
- Ένα load test γεμίζει έναν τοπικό server με έως 1000 χρήστες
- Exit code 0 σημαίνει επιτυχία: ταιριάζει σε κάθε CI
printf '%s\n' 'join Lobby' 'say "<b>hello</b>"' \
'expect message --from Alice --contains hi' \
| mumbot --port 44738 --name Bob script Λήψη
Το αρχείο περιέχει το πρόγραμμα mumbot, το README και ένα παράδειγμα ρυθμίσεων, 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
Ή ως Docker image για amd64 και 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 Πλάνο
Όπως το Mumcord, έτσι και το Mumbot χτίζεται σε epics. Το Epic 2 είναι πρόταση από τα ανοιχτά issues και θα σχεδιαστεί ακόμη αναλυτικά.
-
Epic 0
έτοιμο v0.1.0
Test bot
Το bot με script από τα tests του Mumcord, τώρα ως ξεχωριστό πρόγραμμα.
- Chat, κατάσταση, δικαιώματα και moderation, αναμονή για συνθήκες και λειτουργία script
- Αναπαραγωγή, ηχογράφηση και έλεγχος έντασης φωνής, με Opus όπως στο Mumcord
- Load test με έως 1000 χρήστες σε τοπικό test server
-
Epic 1
έτοιμο v0.1.0
Webhook bot
Μηνύματα απ' έξω σε ένα κανάλι Mumble.
- HTTP API με API keys και επιτρεπόμενα κανάλια ανά key
- Markdown, κωδικοί καναλιών, επανασύνδεση και όριο ρυθμού
- Προγράμματα για Linux, Windows και macOS και ένα Docker image
- Από την 0.1.1: παραδείγματα Docker Compose και οδηγίες για ρυθμίσεις, γραμμή εντολών, HTTP API και ασφάλεια
-
Epic 2
ακολουθεί
Modules, μουσική και ιστορικό
Ένα bot γίνεται εργαλειοθήκη.
- Modules: διαλέγεις ποια bots τρέχουν στις ρυθμίσεις ή στη γραμμή εντολών, σε ένα πρόγραμμα και ένα image
- Music bot: στέλνεις MP3 ή συνδέσμους μέσω HTTP, και το bot τα παίζει στο φωνητικό κανάλι με ουρά αναπαραγωγής
- History bot: κρατά το chat των καναλιών που βλέπει και το δίνει σε χρήστες του Mumcord που ήταν offline. Ποτέ ιδιωτικά μηνύματα
- Κάρτες μηνυμάτων: το webhook στέλνει ειδοποιήσεις με τίτλο, χρώμα κατάστασης, γράφημα και σύνδεσμο, που το Mumcord δείχνει ως κάρτα
- Ρυθμιζόμενο bitrate για ομιλία και μουσική, ποτέ πάνω από το όριο του server
- Peer module: καταχωρεί τους χρήστες του server σε ένα relay του mumpeer και ενημερώνει το Mumcord ότι το relay υπάρχει
-
Μετά
αργότερα
Ιδέες
Δεν έχουν σχεδιαστεί ακόμη, αλλά τις κρατάμε.
- Ένα bot που διαβάζει το chat και απαντά σε εντολές
- Text-to-speech ή ήχοι ειδοποίησης σε ένα κανάλι
- Ένα bot για πολλούς servers ή με πολλές ταυτότητες
- Ψίθυροι και ιδιωτικά μηνύματα, αλλαγή keys χωρίς επανεκκίνηση, ενσωματωμένο TLS
- Απομνημόνευση του πιστοποιητικού του server στην πρώτη επαφή και απόρριψη αν αλλάξει
Έχεις ιδέα για ένα bot;
Τα αιτήματα μπαίνουν στα issues του Mumbot στο GitHub.