voicr.xyz
Changelog Changelog
Neuer Slash-Command: `/dealfinder`New slash command: `/dealfinder`
- Neuen Command
/dealfinder <game name>hinzugefügt. - Suche nutzt ITAD-Game-Search (
/games/search/v1) mit Titel-Matching. - Preisabfrage läuft gezielt pro Spiel über
/games/prices/v3(Major Stores). - Ausgabe nutzt das bestehende Deal-Embed; bei fehlendem Rabatt wird ein klarer Hinweis ergänzt.
- Added new command
/dealfinder <game name>. - Lookup uses ITAD game search (
/games/search/v1) with title matching. - Price retrieval runs per game via
/games/prices/v3(major stores only). - Output reuses the standard deal embed; when no discount is available, a clear hint is shown.
Landing-Page CTA sprachlich korrigiertLanding page CTA language corrected
- Primärer Invite-Button in der Website ist jetzt korrekt lokalisiert.
- Deutsch:
Bot einladen, Englisch:Bot invite.
- Primary invite CTA on the website is now correctly localized.
- German:
Bot einladen, English:Bot invite.
Konfiguration-Buttons nur für AdminsConfiguration buttons for admins only
- `Konfiguration` wird in den Menüs `/voice`, `/ai-voice`, `/ai-chat`, `/radio` und `/ticket` nur noch für Admins/Manage-Guild angezeigt.
- Die Sichtbarkeit wird direkt beim Rendern des Menüs gesteuert.
- Zusätzliche Callback-Guards verhindern Zugriff auch bei älteren/stale Views.
- `Configuration` is now shown only to admin/manage-guild users in `/voice`, `/ai-voice`, `/ai-chat`, `/radio`, and `/ticket` menus.
- Visibility is enforced at menu render time.
- Additional callback guards block access for stale/older views as well.
Umlaute normalisiert (emoji-sicher)Umlaut normalization (emoji-safe)
- Verbleibende deutsche Umschreibungen auf echte Umlaute umgestellt (u. a.
schließen,Lösung,Lösch,Änderungen). - Locale-Keys für DE/EN synchronisiert, damit geänderte Strings weiterhin korrekt übersetzt werden.
- Patch explizit emoji-sicher umgesetzt, ohne bestehende Emoji-Labels oder Icons anzufassen.
- Normalized remaining German transliterations to proper umlauts (including
schließen,Lösung,Lösch,Änderungen). - Synchronized DE/EN locale keys so updated source strings still resolve to translations correctly.
- Applied as an emoji-safe patch without touching existing emoji labels or icons.
Menü-UX nach Rollen getrenntRole-based menu UX split
- Hauptmenüs für normale User auf Kernstatus reduziert, um Info-Overload zu vermeiden.
- Setup-/Diagnoseinfos gezielt auf Admin-Ansicht verlagert (
/voice,/ai-voice,/ai-chat,/radio,/ticket). - Dasselbe Rollenprinzip in den Live-Tracker-Untermenüs angewendet (
/free-stuff,/rss,/youtube,/twitch,/deals).
- Reduced main menu output for regular users to core status information to avoid overload.
- Moved setup/diagnostic details to admin-facing views (
/voice,/ai-voice,/ai-chat,/radio,/ticket). - Applied the same role-based principle to live-tracker submenus (
/free-stuff,/rss,/youtube,/twitch,/deals).
Groq/Qwen + sichere API-KeysGroq/Qwen + secure API keys
- `/ai-chat` auf providerbasierte Verarbeitung erweitert (`AI_CHAT_PROVIDER`).
- Groq-Unterstützung mit Default-Modell
qwen/qwen3-32bintegriert. - Guild-API-Keys (Gemini/Groq) werden verschlüsselt gespeichert, inkl. klarer Fehlermeldungen bei invaliden Keys/Rate-Limits.
- Extended `/ai-chat` with provider-based processing (`AI_CHAT_PROVIDER`).
- Integrated Groq support with default model
qwen/qwen3-32b. - Guild API keys (Gemini/Groq) are now encrypted at rest, with clearer invalid-key/rate-limit error messages.
AI-Bridge-Hinweis (Website/Legal)AI bridge clarification (website/legal)
- Landing-Page ergänzt: AI ist Connector/Vermittlung, kein natives Modell im Bot.
- ToS und Privacy um denselben Hinweis erweitert.
- Command-Beschreibungen für
/ai-voiceund/ai-chatentsprechend geschärft.
- Landing page clarified that AI is connector/transport logic, not a native model inside the bot.
- Added the same clarification to ToS and privacy policy.
- Refined
/ai-voiceand/ai-chatcommand descriptions accordingly.
I18N-HardeningI18N hardening
- Zentrale Lokalisierungs-Wrapper für Response/Edit/Followup eingeführt.
- Untermenüs (u. a. /radio Wechseln) konsequent auf DE/EN umgestellt.
- Token-Substitution mit Wortgrenzen verbessert (Fix für Mischtexte).
- Introduced centralized localization wrappers for response/edit/followup flows.
- Submenus (including /radio switch flow) now consistently use DE/EN output.
- Improved token substitution with word boundaries (fix for mixed-language artifacts).
DAVE / E2EE-SupportDAVE / E2EE support
- Voice-Stack auf Discord DAVE/E2EE kompatiblen Betrieb angepasst.
- Runtime-Validierung beim Start hinzugefügt, damit fehlende Komponenten früh auffallen.
- Nutzerhinweise in Voice-Embeds auf klare E2EE-Statusanzeige reduziert.
- Updated voice stack for Discord DAVE/E2EE-compatible operation.
- Added startup runtime validation to catch missing dependencies early.
- Simplified user-facing voice embed hints to a clear E2EE status message.
AI-Split & KontextfensterAI split & context window
- AI in `/ai-voice` (Voice) und `/ai-chat` (Text) aufgeteilt.
- AI-Chat mit Kontextfenster (TTL + Sliding Window) für Follow-up Fragen erweitert.
- Website, ToS und Privacy auf die neue AI-Logik synchronisiert.
- Split AI into `/ai-voice` (voice) and `/ai-chat` (text).
- Extended AI chat with context memory (TTL + sliding window) for follow-up prompts.
- Synchronized website, ToS, and privacy policy with the new AI behavior.