Translation
Nachrichtenübersetzung mit DeepL und Audio-Transkription mit Groq Whisper. Der Cog bietet Slash-Befehle und Kontextmenüs (Rechtsklick auf Nachricht).
Dieser Cog erfordert einen im Dashboard konfigurierten DeepL API Key. Audio-Transkription erfordert zusätzlich einen Groq API Key. Schlüssel werden verschlüsselt (Fernet) und pro Server gespeichert.
Kontextmenüs
Translate Message
Übersetzt den Nachrichtentext in die bevorzugte Sprache des Benutzers.
Verwendung: Rechtsklick auf Nachricht → Apps → Translate Message
Verhalten:
- Extrahiert Text aus der Nachricht (Content + Embed title/description/fields/footer)
- Prüft Sprachpräferenz des Benutzers
- Falls keine Präferenz → zeigt Modal mit Sprachcode-Feld
- Übersetzt über DeepL API
- Gibt Übersetzung als ephemerale Nachricht zurück
Limits: Max 5000 Zeichen zur Übersetzung
Fehler:
- Nachricht hat keinen übersetzbaren Text
- Kein DeepL API Key vorhanden
- Schlüssel ungültig (HTTP 403)
- API-Limit überschritten (HTTP 456)
- Timeout / Netzwerkfehler
Transcribe & Translate
Transkribiert einen Audio-Anhang und übersetzt die Transkription.
Verwendung: Rechtsklick auf Nachricht mit Audio-Anhang → Apps → Transcribe & Translate
Verhalten:
- Findet den ersten Audio-/Video-Anhang in der Nachricht
- Prüft Sprachpräferenz des Benutzers
- Falls keine Präferenz → Modal mit Sprachcode
- Lädt die Audiodatei herunter
- Sendet an Groq Whisper API → Transkription
- Übersetzt Transkription über DeepL → Ergebnis
- Gibt Embed mit zwei Feldern zurück: Original-Transkription + Übersetzung
Unterstützte Formate: .ogg, .mp3, .wav, .m4a, .flac, .webm, .mp4
Größenlimit: 25 MB
Fehler:
- Kein Audio-Anhang vorhanden
- Datei zu groß (>25 MB)
- Kein Groq API Key vorhanden
- Transkriptions- oder Übersetzungsfehler
Slash-Befehle
/setlang
Legt die bevorzugte Übersetzungssprache fest (global gespeichert, funktioniert auf allen Servern).
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| (keine) | — | — | Zeigt Sprachauswahlmenü |
Berechtigungen: Jeder (Everyone)
Beispiel: /setlang → Sprache aus der Dropdown-Liste wählen
Verhalten:
- Zeigt Dropdown mit Sprachliste (paginiert, max 25 pro Seite)
- Buttons ◀/▶ zur Navigation zwischen Seiten
- Nach Auswahl → speichert Präferenz in der Datenbank
user_language_prefs - Bearbeitet die ursprüngliche Nachricht mit Bestätigung
Erfolg: "Sprache festgelegt: [Name] ([Code])"
/languages
Zeigt die Liste aller unterstützten Übersetzungssprachen.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| (keine) | — | — | — |
Berechtigungen: Jeder (Everyone)
Beispiel: /languages
Erfolg: Ephemerales Embed mit Liste von ca. 30 Sprachen im Format `CODE` — Name
Unterstützte Sprachen
| Code | Sprache | Code | Sprache | |
|---|---|---|---|---|
| BG | Bulgarian | LT | Lithuanian | |
| CS | Czech | LV | Latvian | |
| DA | Danish | NB | Norwegian | |
| DE | German | NL | Dutch | |
| EL | Greek | PL | Polish | |
| EN-GB | English (British) | PT-BR | Portuguese (BR) | |
| EN-US | English (American) | PT-PT | Portuguese (EU) | |
| ES | Spanish | RO | Romanian | |
| ET | Estonian | RU | Russian | |
| FI | Finnish | SK | Slovak | |
| FR | French | SL | Slovenian | |
| HU | Hungarian | SV | Swedish | |
| ID | Indonesian | TR | Turkish | |
| IT | Italian | UK | Ukrainian | |
| JA | Japanese | ZH | Chinese | |
| KO | Korean |
Konfiguration
Der Cog erfordert im Dashboard konfigurierte API-Schlüssel:
| Schlüssel | Beschreibung | Erforderlich |
|---|---|---|
deepl_api_key | DeepL-Schlüssel (Free oder Pro) | Ja |
groq_api_key | Groq-Schlüssel (für Whisper) | Nur für Transkription |
Der Bot erkennt den DeepL-Schlüsseltyp automatisch:
- Schlüssel mit Endung
:fx→ API Free (api-free.deepl.com) - Andere → API Pro (
api.deepl.com)
Der entschlüsselte DeepL-Schlüssel wird 30 Minuten im Bot-Speicher gecacht, um mehrfache Entschlüsselung zu vermeiden.