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.

🔐 Required permission

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.

➕ Invite Auto Translation Bot

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.

Discord command
/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.

⚠️ Without a valid key

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

allow syntax
/setperm #general allow

Ignore / remove a channel

ignore syntax
/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.

📌 Bulk configuration

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 example
/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.

🌍 Multiple target languages

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:

per‑channel
/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

IssueLikely causeSolution
Bot does not reply at allAPI key missing / invalid, or no channel allowedRun /setapikey and then /setperm #channel allow
Translations appear in wrong languageTarget language list not set, or source language incorrectly detectedCheck /setlang and ensure the provider supports the language
Bot translates messages that are already in target languageThe 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 errorsBot role is placed below members or lacks "send messages"Move bot role to top in server settings / grant explicit permissions
🚧 Rate limits

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.