Skip to content

How BabelBot translates Discord messages

See when BabelBot translates a message, when it skips one, and what counts toward your monthly AI translations.

This page explains what BabelBot does with each message. Read it when a translation is missing, when a channel feels noisy, or when you want to know what counts toward your plan. For step-by-step fixes, see Troubleshooting.

A member writes in Japanese. BabelBot replies with English, Spanish, and French translations.

🔄 What happens when someone posts

  1. A member posts a message. It can be text, a card from a bot (an embed), or a file.
  2. BabelBot does a few checks. Translation must be on for the server and the channel. The message must have words to translate. The server must have AI translations left.
  3. BabelBot translates the message. It makes one translation for each target language. Every translation uses AI.
  4. BabelBot posts the result. It posts a reply, a thread, or a replacement, as you set in Reply mode.
  5. BabelBot counts one translation. It counts only when it posts a translation. One message counts once, even with several target languages.

That's it. When a check fails, BabelBot skips the message, and nothing counts.

🤔 Why didn't BabelBot translate this?

Most missing translations are correct skips. Check these causes first:

In all of these cases, BabelBot stays silent and nothing counts.

📬 Translation delivery

You choose where translations appear in DashboardTranslationReply mode. See Reply mode for the setup.

Translation delivery by scenario
ScenarioReply in the channelThread per messageReplace the original
One target languageOne reply below the messageOne thread with the translationA repost with the member's name and avatar replaces the original, if the languages differ
Several target languagesOne reply with all translationsOne thread with all translationsA repost with the original text first, then the translations
Message inside a threadReply inside the threadReply inside the threadReply inside the thread, original kept
  • When a message is already in a thread, BabelBot replies in that thread. It does not open a new one. Forum and media posts work the same way, because Discord treats each post as a thread.
  • In the text chat of a voice channel, BabelBot replies in the chat, even with Thread per message.
  • Fewer target languages keep busy channels easy to read. Thread per message suits slower channels, such as announcements, because each message gets its own thread.

✏️ Edited and deleted messages

When a member edits a message in the 30 days after BabelBot translates it, BabelBot updates its translation in place. It edits the reply or thread messages it posted. This works for automatic translations with Reply in the channel and Thread per message.

The edit uses an AI translation, like a new message. If the new translation fails, the earlier translation stays. Bridges have their own edit rules (see Bridges).

When a member or a moderator deletes a message, BabelBot also deletes its translation of that message. This applies to the same translations that edits update, for 30 days. With Thread per message, the thread stays because members can reply in it. If you set Auto-delete threads after, BabelBot deletes the thread later.

🧠 Recent context

For automatic translations, BabelBot gives the AI up to five earlier messages from the same channel or thread. This helps with pronouns, slang, and unclear words. BabelBot still translates only the new message.

📊 AI translation allowance

Every plan includes a monthly number of AI translations. This is what counts:

What counts toward the monthly AI translation allowance
ActionCounts
One automatic translation, with any number of target languages1
A bridge translation1 for each linked channel that gets a translation
A flag reaction translation1
An edit that BabelBot translates againThe same as a new message
Translate Text and Detect Language0
Skipped messages, failure notices, and untranslated bridge copies0
Voice chat translation0 (it has its own rules)

BabelBot posts a notice in Discord at 75% and 90% of the allowance. When the allowance runs out, translations pause and BabelBot posts one more notice. Automatic, bridge, and flag reaction translations stop until the allowance resets or until an upgrade. Free resets on the 1st of next month (UTC). Pro and Ultra reset when the plan renews. Translate Text keeps working.

On Free, any member can select Vote to reset on that notice and vote for BabelBot on top.gg. The server then gets all 100 AI translations again. Founder Access has unlimited AI translations. See Billing and limits for the numbers.

🌉 Bridges

A message in the English channel appears in French in the French channel. A French reply appears in English.

A bridge links channels, so a message in one language channel appears translated in the others.

  • Pair bridge: two channels, two languages, messages go both ways.
  • Hub bridge: one hub channel and several language channels.
  • Cross-server connection: one channel in each of two servers, messages go both ways. See Cross-server connections.

BabelBot uses the language of the channel as the source language. A channel can be in only one bridge or cross-server connection. Set up bridges in DashboardBridges. See Bridges for the steps.

A linked channel that gets no translation gets the original message. This happens when translation fails or when the message is already in that channel's language. These copies do not count toward usage.

The rules below apply to pair bridges, hub bridges, and cross-server connections.

📢 Followed announcements

Some servers Follow an announcement channel from another server. BabelBot can translate those posts, even though Discord posts them as a bot. It does this only for Discord's normal Follow posts, so other bot messages stay untranslated. There is no setting for this. The posts use the same Reply mode as the rest of the server.

🚩 Flag reaction translations

Members react to a Portuguese message with flags. Each flag shows a translation into that flag's language.

React to a message with a country flag, and BabelBot translates it into that flag's language. Turn this on in DashboardSettingsFeaturesFlag reactions. Choose Public to post in the channel, or Private DM to send the translation to the member who reacted. See Flag reactions.

📖 Custom words

Custom words tell BabelBot how to translate a word, or to keep it as written. Use them for server names, game words, brand names, and community slang. They work in automatic translation, bridges, flag reactions, Translate Text, voice chat translation, media captions, and voice messages. Free servers can add 5, Pro 25, and Ultra and Founder Access 100. See Custom words.

🖱️ Context menus and DMs

Right-click a message and open Apps to use Translate Text or Detect Language. Both use AI but do not count toward your AI translations. They work in server channels and, with user install, in DMs and private channels. They do not change server settings. Detect Language knows common languages, the server's target languages, and your language. It shows Unknown for other languages and when it is not sure. If a message has no readable text, both commands tell you. See Commands.

🎙️ Voice chat translation

BabelBot can join a voice call, listen, and post translated text in the voice channel's text chat. This is not the same as voice message translation, which works on audio files posted in text channels.

  • A server can have one voice chat session at a time.
  • Members start it with /voice start after an admin turns it on. It needs Ultra or Founder Access.
  • It does not count toward your monthly AI translations.

See Voice chat translation for the full guide.

➡️ Next steps

On this page