Translation
Tłumaczenie wiadomości za pomocą DeepL i transkrypcja audio za pomocą Groq Whisper. Cog udostępnia komendy slash oraz menu kontekstowe (PPM na wiadomości).
Ten cog wymaga skonfigurowania DeepL API key w dashboardzie. Transkrypcja audio dodatkowo wymaga Groq API key. Klucze są szyfrowane (Fernet) i przechowywane per-guild.
Menu kontekstowe
Translate Message
Tłumaczy tekst wiadomości na preferowany język użytkownika.
Jak użyć: PPM na wiadomości → Apps → Translate Message
Zachowanie:
- Wyciąga tekst z wiadomości (content + embed title/description/fields/footer)
- Sprawdza preferencję językową użytkownika
- Jeśli brak preferencji → wyświetla modal z polem na kod języka
- Tłumaczy przez DeepL API
- Zwraca tłumaczenie jako ephemeral wiadomość
Limity: Max 5000 znaków tekstu do tłumaczenia
Błędy:
- Wiadomość nie ma tekstu do tłumaczenia
- Brak klucza DeepL API
- Klucz nieprawidłowy (HTTP 403)
- Przekroczony limit API (HTTP 456)
- Timeout / błąd sieci
Transcribe & Translate
Transkrybuje załącznik audio i tłumaczy transkrypcję.
Jak użyć: PPM na wiadomości z załącznikiem audio → Apps → Transcribe & Translate
Zachowanie:
- Znajduje pierwszy załącznik audio/video w wiadomości
- Sprawdza preferencję językową użytkownika
- Jeśli brak preferencji → modal z kodem języka
- Pobiera plik audio
- Wysyła do Groq Whisper API → transkrypcja
- Tłumaczy transkrypcję przez DeepL → wynik
- Zwraca embed z dwoma polami: oryginalna transkrypcja + tłumaczenie
Obsługiwane formaty: .ogg, .mp3, .wav, .m4a, .flac, .webm, .mp4
Limit rozmiaru: 25 MB
Błędy:
- Brak załącznika audio
- Plik za duży (>25 MB)
- Brak klucza Groq API
- Błąd transkrypcji lub tłumaczenia
Komendy slash
/setlang
Ustawia preferowany język tłumaczeń (zapisywany globalnie, działa na wszystkich serwerach).
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
| (brak) | — | — | Wyświetla menu wyboru języka |
Uprawnienia: Każdy (Everyone)
Przykład: /setlang → wybierz język z listy rozwijanej
Zachowanie:
- Wyświetla dropdown z listą języków (paginowany, max 25 per strona)
- Przyciski ◀/▶ do nawigacji między stronami
- Po wybraniu → zapisuje preferencję w bazie
user_language_prefs - Edytuje oryginalną wiadomość z potwierdzeniem
Sukces: "Ustawiono język: [nazwa] ([kod])"
/languages
Wyświetla listę wszystkich obsługiwanych języków tłumaczenia.
| Parametr | Typ | Wymagany | Opis |
|---|---|---|---|
| (brak) | — | — | — |
Uprawnienia: Każdy (Everyone)
Przykład: /languages
Sukces: Ephemeral embed z listą ~30 języków w formacie `KOD` — Nazwa
Obsługiwane języki
| Kod | Język | Kod | Język | |
|---|---|---|---|---|
| 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 |
Konfiguracja
Cog wymaga kluczy API skonfigurowanych w dashboardzie:
| Klucz | Opis | Wymagany |
|---|---|---|
deepl_api_key | Klucz DeepL (Free lub Pro) | Tak |
groq_api_key | Klucz Groq (dla Whisper) | Tylko dla transkrypcji |
Bot automatycznie rozpoznaje typ klucza DeepL:
- Klucze kończące się na
:fx→ API Free (api-free.deepl.com) - Pozostałe → API Pro (
api.deepl.com)
Odszyfrowany klucz DeepL jest cachowany na 30 minut w pamięci bota, aby uniknąć wielokrotnego deszyfrowania.