Przejdź do głównej zawartości

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).

Wymagane klucze API

Ten cog wymaga skonfigurowania DeepL API key w dashboardzie. Transkrypcja audio dodatkowo wymaga Groq API key. Klucze są szyfrowane (Fernet) i przechowywane per-guild.

Translate Message

Tłumaczy tekst wiadomości na preferowany język użytkownika.

Jak użyć: PPM na wiadomości → Apps → Translate Message

Zachowanie:

  1. Wyciąga tekst z wiadomości (content + embed title/description/fields/footer)
  2. Sprawdza preferencję językową użytkownika
  3. Jeśli brak preferencji → wyświetla modal z polem na kod języka
  4. Tłumaczy przez DeepL API
  5. 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:

  1. Znajduje pierwszy załącznik audio/video w wiadomości
  2. Sprawdza preferencję językową użytkownika
  3. Jeśli brak preferencji → modal z kodem języka
  4. Pobiera plik audio
  5. Wysyła do Groq Whisper API → transkrypcja
  6. Tłumaczy transkrypcję przez DeepL → wynik
  7. 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).

ParametrTypWymaganyOpis
(brak)Wyświetla menu wyboru języka

Uprawnienia: Każdy (Everyone)

Przykład: /setlang → wybierz język z listy rozwijanej

Zachowanie:

  1. Wyświetla dropdown z listą języków (paginowany, max 25 per strona)
  2. Przyciski ◀/▶ do nawigacji między stronami
  3. Po wybraniu → zapisuje preferencję w bazie user_language_prefs
  4. Edytuje oryginalną wiadomość z potwierdzeniem

Sukces: "Ustawiono język: [nazwa] ([kod])"


/languages

Wyświetla listę wszystkich obsługiwanych języków tłumaczenia.

ParametrTypWymaganyOpis
(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

KodJęzykKodJęzyk
BGBulgarianLTLithuanian
CSCzechLVLatvian
DADanishNBNorwegian
DEGermanNLDutch
ELGreekPLPolish
EN-GBEnglish (British)PT-BRPortuguese (BR)
EN-USEnglish (American)PT-PTPortuguese (EU)
ESSpanishRORomanian
ETEstonianRURussian
FIFinnishSKSlovak
FRFrenchSLSlovenian
HUHungarianSVSwedish
IDIndonesianTRTurkish
ITItalianUKUkrainian
JAJapaneseZHChinese
KOKorean

Konfiguracja

Cog wymaga kluczy API skonfigurowanych w dashboardzie:

KluczOpisWymagany
deepl_api_keyKlucz DeepL (Free lub Pro)Tak
groq_api_keyKlucz Groq (dla Whisper)Tylko dla transkrypcji
Klucze Free vs Pro

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)
Cache kluczy

Odszyfrowany klucz DeepL jest cachowany na 30 minut w pamięci bota, aby uniknąć wielokrotnego deszyfrowania.