Discord Auto‑Translate Bot · Full Wiki
Everything you need to set up and master the Auto‑Translation Bot for Discord. From inviting the bot to fine‑tuning languages per channel – we’ve got you covered.
Step 1: Invite the Bot to Your Discord Server
Before any translation magic happens, you need to add the bot to your own server. Click the secure OAuth2 link below – you must have Manage Server permissions to install bots.
The bot requests Administrator (permission `8`) to automatically read and send messages in all channels. You can fine‑tune its roles later via server settings.
After authorisation, the bot will appear in your member list (usually offline until you configure the API key).
Step 2: Set the API Key (Essential)
The bot relies on a cloud translation provider. You must supply a valid API key using the /setapikey command. This key is stored securely and linked to your Discord server.
/setapikey <your-api-key-here>
Where do I get an API key? You can obtain an API key from your dashboard. Log in or create an account on our website, add the translation service, and your key will be generated instantly.
The bot will not respond to any translation requests. The key must be set only once – you can update it anytime by reusing the command.
Step 3: Configure Channel Permissions
You decide exactly where the bot should (or shouldn't) translate. By default, after inviting, the bot ignores all channels until you explicitly allow them. This prevents unwanted automatic translations in admin‑only or off‑topic areas.
Allow a channel
/setperm #general allow
Ignore / remove a channel
/setperm #memes ignore
You can mention the channel using #channel-name (auto‑completes as you type). The bot will immediately start or stop listening in that channel.
Run /setperm multiple times for different channels. There is no limit – you can allow ten channels and ignore five, whatever suits your server.
Step 4: Set the Target Languages
Now tell the bot which languages to translate into. When someone writes a message in a channel that is allowed, the bot will detect the original language and, if it differs from your target list, post a translated copy.
/setlang en,de,nl,fr,es,ja
Language codes: Use standard ISO codes like en (English), de (German), nl (Dutch), fr (French), es (Spanish), it (Italian), pt (Portuguese), ru (Russian), zh (Chinese), ja (Japanese) and many more. Check your provider's supported list.
If you set more than one language, the bot will translate into all of them and send each translation in a separate message (or threaded reply). For busy channels, consider limiting to 2‑3 languages to avoid clutter.
Commands Overview (Detailed)
🔑 /setapikey
Syntax: /setapikey <api_key>
Permission required: Administrator (or manage guild).
Stores the API key in our database. The key is never exposed in chat after setting. If you mistype, just run again with the correct key.
🛡️ /setperm
Syntax: /setperm <#channel> <allow|ignore>
Permission required: Manage channels.
allow – the bot will listen to every message and translate if needed.
ignore – the bot completely ignores the channel (even if previously allowed).
🌐 /setlang
Syntax: /setlang <language codes> (comma separated, no spaces)
Example: /setlang en,fr,de
Defines the target languages for the entire server. You can override per channel by using /setlang <codes> #channel – that gives you fine control (e.g., #general translates to en/es, but #dev translates only to en).
Advanced: Per‑channel language sets
You're not limited to one global language list. Use the extended /setlang with a channel mention:
/setlang en,es #general
/setlang de,fr,it #europe
/setlang ja,ko #asia-chat
Now #general will translate into English and Spanish; #europe into German/French/Italian; #asia-chat into Japanese and Korean. If a channel has no specific setting, the server default (the last /setlang without a channel) is used.
Troubleshooting & common issues
| Issue | Likely cause | Solution |
|---|---|---|
| Bot does not reply at all | API key missing / invalid, or no channel allowed | Run /setapikey and then /setperm #channel allow |
| Translations appear in wrong language | Target language list not set, or source language incorrectly detected | Check /setlang and ensure the provider supports the language |
| Bot translates messages that are already in target language | The bot detects that the source equals one of the targets and usually skips, but some providers may still respond. | You can add a filter: use /setoption skip_same true (advanced) |
| Permission errors | Bot role is placed below members or lacks "send messages" | Move bot role to top in server settings / grant explicit permissions |
If your translation provider has quotas, the bot may temporarily pause. Check your API dashboard. The bot logs a warning in the console (if you have access) when approaching limits.
Frequently Asked Questions
Do you offer free API keys?
Yes, we offer a Free Plan with 100 daily translations. For higher volume, choose our Advanced Plan ($9.99/month) for advanced daily translations, or the Complete Plan ($29.99/month) for unlimited daily translations.
Does the bot store messages?
No. Messages are processed in real‑time and immediately discarded. Only the translated output is temporarily held to send back. We do not log message content.
What if I want to translate only one specific user?
The bot works on a channel‑wide basis. However, you can combine /setperm allow for a channel and then use Discord's native role / member permissions to restrict who can write there.
How do I remove the bot?
Right‑click the bot in your member list → Kick. That's it. All server settings (API key, permissions) are erased after 30 days.
Can I change the prefix? The bot uses slash commands only.
All commands are slash‑based, so no prefix conflicts. Just type / and look for the bot's commands.
💬 Still stuck? Join our Discord support server or mail [email protected]. We usually reply within a few hours.