LinguaDeep

LinguaDeep is a Discord bot that translates messages using your own DeepL API key (BYOK). It supports quick translations (to your preferred/client locale) and an interactive "choose language" flow, per-user encrypted key storage, and message caching for interactive UI.

How it works

  • BYOK model: users register their DeepL key via /key set - keys are encrypted before being stored in the database and only used to call DeepL on the user's behalf.

  • Per-user config: preferences (preferred language, chosen DeepL version Free/Pro) are stored in Cloudflare D1 (because it's so simple).

  • Translation client: uses the official deepl-node client; supports Free & Pro endpoints and fetches usage via getUsage().

  • Interactive UI: message-context translation uses ephemeral responses and Discord components (selects & buttons). Select menus are chunked to respect Discord's 25-choice limit (please kill me that was so annoying to do with discord-hono).

  • Caching: selected message text is cached in a Durable Object so interactive selection can happen without re-fetching the message content.

  • Safety & UX: responses are ephemeral by default; translation embeds include detected source language and billed character counts

Huge thanks to discord-hono - the framework made building interactions and components very easy once I got the hang of it, and the maintainer was extremely responsive and helpful when I reported issues.

Links: