MohCitrusDocs
CommunityDashboard

Discord bot

Getting started

IntroductionQuick startGetting helpUse it anywhere

Translating

Auto-translate channelsLinked channelsLanguage channelsWhole categoriesCross-server bridgesFlag reactions/translatePrefix shortcuts/translate-imageRight-click toolsVoiceOther commands

For server admins

Running your server

Community toolsServer glossaryServer settingsModeration translationNot translating?The dashboardGetting support

For you

Personal

Personal features

Twitch bot

Twitch chat

Twitch chat

Plans

Free and Pro

Free vs ProInvite and earn ProUpgradingSupported languages

Discord bot

Introduction

MohCitrus translates Discord and Twitch chat messages so people who speak different languages can talk to each other. It works out which language a message is in by itself and supports 108 languages and regional variants.

Two ways to use itTurn on auto-translate in a channel and every message is translated as it’s posted. Or translate on demand: react with a flag, type /translate, or right-click any message.


Quick start

Up and running in about a minute.

01

Invite the bot

Add MohCitrus using the invite link on our home page. Keep Read Messages, Send Messages and Embed Links switched on. Without Embed Links, translations can’t display properly.

02

Run setup

Type /setup. It walks you through choosing a channel (or your whole server) and 1 to 4 languages to translate into.

03

Try it

Type !es good morning in any channel. MohCitrus replies with the Spanish translation.

Getting help#

Type /help to browse everything MohCitrus can do.

Open the This Server page inside /help to see how MohCitrus is set up in your server and anything worth changing. Everyone can view it; you don’t need to be an admin.

Use it anywhere#

You can add MohCitrus to your own Discord account, not only to a server. Open the invite link and choose Add to My Apps.

You can then use /translate, Peek Translate and the other right-click tools in any server or DM, even ones where MohCitrus isn’t installed.


Auto-translate channels#

Turn on auto-translate in a channel and every message posted there is translated into the languages you pick.

Rin writes in Spanish and Zee in English; MohCitrus replies under each message with the other languages
Each message gets its translations right under it, in every language the channel uses.

Set it up

  1. Go to the channel and type /autotranslate.
  2. Choose 1 to 4 languages from the list. Pick just one to translate everything into a single language.
  3. That’s it. New messages in that channel are translated automatically.
The /autotranslate panel with English, Spanish and French picked
The /autotranslate panel. Only you see it, and you can change languages, where it applies, and the style here.

Run /autotranslate again in the same channel to turn it off. You can also manage every channel from the dashboard, or translate your whole server at once with /setup.

Tip: each language you add is one more reply per message. Most servers pick one or two channels and two or three languages. Short messages like “lol” and “ok” are skipped automatically.

Free plan: up to 4 auto-translate channels and 7,500 translated characters a week. A server's week starts with its first translation and lasts 7 days. Pro removes both limits.

Send translations to a different channel

In the dashboard, open Channels, edit a channel, and choose a channel under Post translations in another channel.

Linked channels#

Linked channels connect two channels, such as #english and #spanish. A message posted in one appears translated in the other, under the sender’s own name and picture, so each group can chat in its own language.

The same conversation shown in #english and in #español
Zee writes in #english and Rin answers in #español. Each sees the whole conversation in their own language.

In the dashboard, open Channels and go to Linked channels: choose two channels and a language for each.

When someone replies to a message from the other channel, MohCitrus shows a short quote of the message they’re replying to, because Discord’s reply arrow can’t point across channels, so this keeps conversations easy to follow.

Free plan: up to 2 linked channel pairs. Pro removes the limit.

Language channels#

Keep one main chat and give each language group its own channel. Pick a source channel, such as #global-chat, and add a channel for each language: #chat-fr in French, #chat-de in German and so on.

Every message in the source channel then shows up in each language channel, translated into that channel’s language, under the sender’s own name and picture. A message that’s already in a channel’s language is skipped for that channel. The original always stays in the source channel.

One message in #global-chat and its French and German copies
One message in #global-chat shows up in #chat-fr in French and in #chat-de in German.
  1. Open the dashboard, choose your server and go to Channels.
  2. In Language Channels, pick the source channel.
  3. Add a channel and a language for each group, then save.

Free plan: up to 2 language channels per source channel. Pro removes the limit.

Whole categories#

Translate every channel in a Discord category with one setting, for example everything under WAR ROOM. Channels you add to the category later are translated too.

  1. Open the dashboard, choose your server and go to Channels.
  2. In Whole category, pick the category and its languages.
  3. Save. Every channel in it starts translating right away.

A channel with its own setting keeps it. MohCitrus checks the channel first, then its category, then the whole server.

Cross-server bridges#

Link a channel in your server with a channel in another server, like an allied alliance. Each message is translated into the other side’s language and posted there under the sender’s own name and picture, in both directions.

  1. On the server that creates the bridge, open Translation → Channels → Another server → Create a bridge, pick a channel and its language, and copy the code.
  2. Send the code to an admin of the other server. They open Translation → Channels → Another server → I have a code, paste it and pick their channel and language.
  3. That’s it. Either server can remove the bridge at any time from the same card.

Nobody can link a channel into your server without an admin accepting the code. Codes work for 7 days.

Pro: creating a bridge needs Pro, and the bridge works while that server has Pro. Accepting one works on any plan. MohCitrus needs the Manage Webhooks permission in both channels.

Flag reactions#

React to any message with a country flag, like 🇪🇸 or 🇯🇵, and MohCitrus translates it into that country’s language.

Zee's message in #english and the Japanese translation MohCitrus sent privately
Reacting with 🇯🇵 to Zee’s message sends you the Japanese translation in a DM.

By default the translation is sent to you privately in a DM. Server admins can make flag translations appear in the channel instead, in /settings.

Prefer to choose from a list? Use /flagtranslate.

/translate#

Type some text and choose a language. You don’t need to say what language it’s in. MohCitrus works that out.

OptionRequiredWhat it does
languageYesThe language to translate into.
textYesWhat you want translated.
language_2, language_3NoTranslate into up to three languages at once.
privateNoOnly you see the result.
/translate language:“Japanese” text:“See you tomorrow!” language_2:“Spanish”
Using /translate

Prefix shortcuts#

Put a language code with an exclamation mark in front of your message, like !es good morning or !ja thank you, and MohCitrus replies with the translation.

Works: !es Hello
Doesn’t work: !esHello: leave a space after the code.

Admins can switch shortcuts off, or rename them (for example !hindi instead of !hi) under Quick translate & flags in the dashboard. Handy if they clash with another bot.

Using a prefix shortcut

/translate-image#

Translate the text inside a screenshot, poster or meme.

OptionRequiredWhat it does
languageYesThe language to translate into.
imageOne of theseUpload the image.
image_urlOne of theseOr paste a link to it.
privateNoOnly you see the result. On by default.

Right-click tools#

Right-click a message (on mobile, press and hold it), open Apps, and choose a tool. Results are private: only you can see them.

Peek Translate
Translates the message into your Discord language.
Translate My Draft
Helps you write a reply in another language before you send it.
Explain with Gemini
Explains slang, jokes and idioms that don’t translate literally.
How do you say this?
Shows how to pronounce a word.
TL;DR (Summarize)
Sums up a long message in your Discord language. Personal Pro, or any Pro server.
Translate Voice Message
See Voice, below.
Reply With Voice
See Voice, below.
Translate for Mods
For moderators: see Moderation Translation.
ToolWhat it does
Peek TranslateTranslates the message into your Discord language.
Translate My DraftHelps you write a reply in another language before you send it.
Explain with GeminiExplains slang, jokes and idioms that don’t translate literally.
How do you say this?Shows how to pronounce a word.
TL;DR (Summarize)Sums up a long message in your Discord language. Personal Pro, or any Pro server.
Translate Voice MessageSee Voice, below.
Reply With VoiceSee Voice, below.
Translate for ModsFor moderators: see Moderation Translation.

Voice#

Voice features in a server are part of Server Pro. In DMs, everyone gets 10 voice translations a day.

Live Translate in a voice channel

MohCitrus joins the call, listens, and says each sentence again in the other language. It can also post what was said as text.

  1. Join a voice channel and type /livetranslate invite.
  2. Pick your language and the other language. MohCitrus translates each way: whoever speaks, the others hear it in theirs.
  3. Choose how you get it: Text chat, Spoken voice, or both.
  4. Type /livetranslate dismiss to send it away. It also leaves by itself when the channel is empty.

Admins can set it up in the dashboard too, under Live Translate, and change the languages during a call. Live Translate runs in one voice channel per server at a time. (It used to be called the interpreter, with /interpreter.)

Each sentence plays about a second after the speaker stops, so short sentences with small pauses work best. If MohCitrus restarts for an update, it rejoins the call by itself within about a minute.

Voice messages

Translate Voice Message
Right-click a voice note → Apps → Translate Voice Message, then choose text or a spoken version.
Reply With Voice
Right-click a text message → Apps → Reply With Voice to hear it spoken in your language.
ToolHow to use it
Translate Voice MessageRight-click a voice note → Apps → Translate Voice Message, then choose text or a spoken version.
Reply With VoiceRight-click a text message → Apps → Reply With Voice to hear it spoken in your language.

Voice messages can be up to 90 seconds. The result is private to you.

Other commands#

/detectlanguage
Tells you what language some text is in.
/pronounce
Pronunciation from the Merriam-Webster dictionary.
/stats
How much your server has translated.
/status
Your server’s auto-translate setup (admins).
/premium
Your server’s plan and how to upgrade.
/profile
Your own translation stats and plan.
/feedback
Send us a suggestion or report a problem.
/invite
Get the link to add MohCitrus to a server.
/vote
Vote for MohCitrus on Top.gg to get extra free characters for your server.
CommandWhat it does
/detectlanguageTells you what language some text is in.
/pronouncePronunciation from the Merriam-Webster dictionary.
/statsHow much your server has translated.
/statusYour server’s auto-translate setup (admins).
/premiumYour server’s plan and how to upgrade.
/profileYour own translation stats and plan.
/feedbackSend us a suggestion or report a problem.
/inviteGet the link to add MohCitrus to a server.
/voteVote for MohCitrus on Top.gg to get extra free characters for your server.

For server admins

Community tools#

Four ways to make one server readable for everyone. Set them up in the dashboard under Community, or with the commands below.

Language picker

Post a menu with /languagepicker where each member picks the language they read best. MohCitrus remembers it for this server and uses it whenever they press Translate or Read in my language. If someone never picks, MohCitrus uses their Discord app language.

The language picker open in Discord

You can also hand out a role named after each language, so others can see what a member speaks. These roles are never pinged.

Announcements (Server Pro)

Post with /announce or from the dashboard. The message has a Translate button. Each member who presses it gets the announcement in their own language, and only they can see it.

An announcement and its Spanish translation
Top: the announcement everyone sees. Bottom: what a Spanish speaker gets after pressing Translate.

Welcome and rules

Post your welcome message and rules with /welcomepanel. New members press Read in my language to read them in their language. You can add an I accept the rules button that gives a role. MohCitrus refuses roles with moderator permissions.

A welcome panel and its Spanish version

Poll translation

Turn it on in the dashboard under Community. When someone posts a Discord poll in an auto-translate channel, MohCitrus replies with the question and answers in that channel’s other languages. Everyone still votes on the one original poll.

A Discord poll and the translated reply

Every translation from these tools counts toward the server’s weekly characters, the same as any other translation.

Server glossary#

Some words shouldn’t be translated literally, like game terms, nicknames and your server’s in-jokes. Add them to the glossary and MohCitrus uses your version every time.

/glossary add term:“Smurf” language:“ES” translation:“Cuenta Alternativa”

You can view and edit the glossary in the dashboard too.

Free plan: up to 25 glossary terms. Pro removes the limit.

The Glossary page in the dashboardThe Glossary page in the dashboard

Server settings#

Change most of these with /settings, and all of them in the dashboard: style, tone and display under How it looks, blocked words and roles under What gets translated.

The translation styles

Reply style
Reply under the message (the default).
Small card style
Small card: a box with the name and languages.
Post as the person style
Post as the person: translations appear under the sender’s own name and picture. Needs the Manage Webhooks permission.

In a thread: MohCitrus opens a thread on each message and posts every language inside it, so the channel shows only the original. Needs the Create Public Threads permission; without it, translations come as a normal reply.

Translation style
Show translations as a reply, an embed, or under the sender’s own name and picture.
Tone
Keep translations neutral, or make them formal, casual, or your own custom style. Anything other than neutral is Pro.
See Original button
Adds a button so people can view the untranslated message.
Short-message filter
Skips messages like “lol” and “ok”. On by default.
Blocked words
Messages containing these words are never translated. Free: up to 25.
Allowed roles
Only translate messages from members with certain roles.
Role languages
Give a role a language. Every auto-translate channel then also translates into that language, and the role is mentioned next to that translation so its members get notified. Free: up to 5.
SettingWhat it does
Translation styleShow translations as a reply, an embed, or under the sender’s own name and picture.
ToneKeep translations neutral, or make them formal, casual, or your own custom style. Anything other than neutral is Pro.
See Original buttonAdds a button so people can view the untranslated message.
Short-message filterSkips messages like “lol” and “ok”. On by default.
Blocked wordsMessages containing these words are never translated. Free: up to 25.
Allowed rolesOnly translate messages from members with certain roles.
Role languagesGive a role a language. Every auto-translate channel then also translates into that language, and the role is mentioned next to that translation so its members get notified. Free: up to 5.
Quick translate & flags in the dashboardQuick translate & flags in the dashboard

Moderation translation#

Help your moderators handle messages in languages they don’t speak.

Translate for Mods

Right-click a message → Apps → Translate for Mods. You’ll privately see the translation, the language it was written in, and a link back to the message. You need the Manage Messages permission.

Translated AutoMod alerts

  1. Run /modtranslate setup.
  2. Choose your moderators’ channel and the language they read.
  3. When Discord AutoMod blocks or flags a message in another language, a translated copy is posted to that channel.

Use /modtranslate status to check the setup and /modtranslate disable to turn alerts off.

MohCitrus needs the Manage Server permission to receive AutoMod alerts, because Discord doesn’t send them otherwise. Moderation translation works on every plan and is never stopped by the monthly limit.

Not translating?#

The quickest check: type /help and open This Server. It tests your setup and says what to fix. The usual causes are:

Nothing happens in a channel
Check the channel is turned on with /status, and that it isn’t paused in the dashboard.
Only some messages are translated
Short messages like “ok” and messages already in the target language are skipped. Allowed roles and blocked words can also skip messages.
Translations stopped mid-week
Free servers have 7,500 characters a week. See Usage & Limits in the dashboard for when it starts again, or vote with /vote for extra.
Plain text instead of a card, or no reply at all
MohCitrus needs Send Messages and Embed Links in that channel. Check the channel’s permissions, not just the role.
“Post as the person” doesn’t work
MohCitrus needs the Manage Webhooks permission in that channel.
Two bots answer !es
Rename the shortcuts under Quick translate & flags in the dashboard, or turn them off.
What you seeWhat to do
Nothing happens in a channelCheck the channel is turned on with /status, and that it isn’t paused in the dashboard.
Only some messages are translatedShort messages like “ok” and messages already in the target language are skipped. Allowed roles and blocked words can also skip messages.
Translations stopped mid-weekFree servers have 7,500 characters a week. See Usage & Limits in the dashboard for when it starts again, or vote with /vote for extra.
Plain text instead of a card, or no reply at allMohCitrus needs Send Messages and Embed Links in that channel. Check the channel’s permissions, not just the role.
“Post as the person” doesn’t workMohCitrus needs the Manage Webhooks permission in that channel.
Two bots answer !esRename the shortcuts under Quick translate & flags in the dashboard, or turn them off.

Still stuck? Open a ticket in the dashboard. See Getting Support below.

The dashboard#

Manage MohCitrus from your browser instead of Discord commands. Click Dashboard at the top of this site, log in with Discord, and choose a server. You need the Manage Server permission in that server.

From there you can manage auto-translate channels, linked channels, the glossary, every setting, and see how much you’ve used this week.

The Channels page in the dashboardThe Channels page in the dashboard
The How it looks page in the dashboardThe How it looks page in the dashboard

Getting support#

Found a bug or have a billing question? Open a ticket from the Tickets tab in the dashboard. You can have one open ticket at a time.

For quick suggestions, use /feedback, or come and talk to us in our community Discord (link at the top of this page).


For you

Personal features#

These are yours, not your server’s. They follow you everywhere MohCitrus translates your messages.

/preferences
Choose your tone and translator.
/persona
Switch between saved translation styles. Personal Pro.
/myglossary
Your own glossary: always translate a word your way, in the language you choose. Free: 5 terms. Personal Pro: unlimited.
/profile
Your translation stats and plan.
CommandWhat it does
/preferencesChoose your tone and translator.
/personaSwitch between saved translation styles. Personal Pro.
/myglossaryYour own glossary: always translate a word your way, in the language you choose. Free: 5 terms. Personal Pro: unlimited.
/profileYour translation stats and plan.

You can change all of these in your browser too: open the dashboard and choose My Account.

Your personal glossary in the dashboardYour personal glossary in the dashboard

Twitch bot

Twitch chat#

MohCitrus also translates Twitch chat, for free. You set it up by typing commands in the chat on twitch.tv/mohcitrus, not in your own chat.

  1. Open twitch.tv/mohcitrus, signed in as your streaming account.
  2. Type !join in its chat. MohCitrus joins your channel.
  3. Type !auto with the languages you want, for example !auto en,es,pt for English, Spanish and Portuguese. From then on, messages in your chat are translated into those languages.

Every command below only works in the MohCitrus chat. To change languages later, type !auto again with the new list.

Commands

!join
MohCitrus joins your channel.
!leave
MohCitrus leaves your channel.
!auto en,es,pt
Turns on auto-translate into the languages you list, separated by commas.
!autoget
Shows which languages you translate into now.
!autooff
Turns auto-translate off.
!langcode
Lists the language codes you can use with !auto.
!langbot
Posts the bot’s introduction message.
CommandWhat it does
!joinMohCitrus joins your channel.
!leaveMohCitrus leaves your channel.
!auto en,es,ptTurns on auto-translate into the languages you list, separated by commas.
!autogetShows which languages you translate into now.
!autooffTurns auto-translate off.
!langcodeLists the language codes you can use with !auto.
!langbotPosts the bot’s introduction message.

Ignoring users and bots

Stop MohCitrus from translating messages from certain accounts, like your chat bots.

!ignore streamelements
Stops translating this user’s messages.
!ignoreget
Lists the users you ignore.
!ignoreremove streamelements
Translates this user’s messages again.
CommandWhat it does
!ignore streamelementsStops translating this user’s messages.
!ignoregetLists the users you ignore.
!ignoreremove streamelementsTranslates this user’s messages again.

When you turn on auto-translate, StreamElements, Nightbot, Moobot, Streamlabs and Fossabot are ignored already.


Plans

Free vs Pro#

MohCitrus is free to use. Pro removes the limits and upgrades translation quality for everyone in your server.

Translated characters
Free: 7,500 a week
Server Plus: 50,000 a week
Pro: Unlimited
Auto-translate channels
Free: 4
Server Plus: 15
Pro: Unlimited
Languages per channel
Free: 4
Server Plus: 6
Pro: 10
Linked channel pairs
Free: 2
Server Plus: 8
Pro: Unlimited
Language channels per source
Free: 2
Server Plus: 2
Pro: Unlimited
Server glossary terms
Free: 25
Server Plus: 250
Pro: Unlimited
Blocked words
Free: 25
Server Plus: 250
Pro: Unlimited
Role languages
Free: 5
Server Plus: 25
Pro: Unlimited
Tone
Free: Neutral
Server Plus: Formal, casual and custom
Pro: Formal, casual and custom
Live Translate and voice messages
Free: Not included
Server Plus: Not included
Pro: Included, no limit
Translator
Free: DeepL + Azure Translator
Server Plus: Kiro at all hours
Pro: Kiro at all hours
FreeServer PlusPro
Translated characters7,500 a week50,000 a weekUnlimited
Auto-translate channels415Unlimited
Languages per channel4610
Linked channel pairs28Unlimited
Language channels per source22Unlimited
Server glossary terms25250Unlimited
Blocked words25250Unlimited
Role languages525Unlimited
ToneNeutralFormal, casual and customFormal, casual and custom
Live Translate and voice messagesNot includedNot includedIncluded, no limit
TranslatorDeepL + Azure TranslatorKiro at all hoursKiro at all hours

Kiro understands the conversation a message is part of, so replies, slang and names come out right more often. If it’s ever unavailable, translations still go through, using DeepL or Azure instead.

Usage & Limits on a free serverUsage & Limits on a free server

Invite and earn Pro#

Share your server’s invite link. For every server that adds MohCitrus with it and is still translating 7 days later, your server gets 7 days of Pro.

  1. Open the dashboard, choose your server and go to Plan → Referrals.
  2. Copy your link and share it with other servers and communities.
  3. Check the same page to see which servers joined and the Pro you’ve earned.

Rules: only servers that are new to MohCitrus and really translate count, up to 10 rewards a month. If your server pays by subscription, earned days are saved on the Referrals page instead of changing your billing.

Upgrading#

Server Plus
Price: $5.99/month or $59.99/year
Who it’s for: One server gets more room for text: 50,000 characters a week and 15 channels. No voice.
Server Pro
Price: $8.99/month or $89.99/year
Who it’s for: Everyone in one server gets Pro.
Personal Pro
Price: $3.99/month or $39.99/year
Who it’s for: Just you, in every server and DM: Kiro for your own translations, an unlimited personal glossary, saved styles and TL;DR.
PlanPriceWho it’s for
Server Plus$5.99/month or $59.99/yearOne server gets more room for text: 50,000 characters a week and 15 channels. No voice.
Server Pro$8.99/month or $89.99/yearEveryone in one server gets Pro.
Personal Pro$3.99/month or $39.99/yearJust you, in every server and DM: Kiro for your own translations, an unlimited personal glossary, saved styles and TL;DR.
  1. Open the dashboard and go to the Your plan tab.
  2. Choose a plan and a server (for Server Pro), then check out.
  3. It applies straight away.
The Your plan tab in the dashboardThe Your plan tab in the dashboard

Prices are shown in US dollars; euro and pound prices are available at checkout.

Cancelling and refunds: You can cancel any time in the Your plan tab. Pro then stays on until the end of the period you already paid for, and the plan doesn’t renew. Payments aren’t refunded, including for unused time. If you were charged by mistake or something isn’t working, open a ticket and we’ll sort it out.

Supported languages#

MohCitrus supports 108 languages and regional variants. You can type a language’s code (ES) or its name (Spanish). Both work.

AfrikaansAF
AlbanianSQ
AmharicAM
ArabicAR
ArmenianHY
AzerbaijaniAZ
BelarusianBE
BengaliBN
BosnianBS
BulgarianBG
CatalanCA
CebuanoCEB
ChineseZH
Chinese (Simplified)ZH-CN
Chinese (Traditional)ZH-TW
CorsicanCO
CroatianHR
CzechCS
DanishDA
DutchNL
EnglishEN
EstonianET
FilipinoFIL
FinnishFI
FrenchFR
GalicianGL
GeorgianKA
GermanDE
GreekEL
GujaratiGU
Haitian CreoleHT
HausaHA
HawaiianHAW
HebrewHE
HindiHI
HmongHMN
HungarianHU
IcelandicIS
IgboIG
IndonesianID
IrishGA
ItalianIT
JapaneseJA
JavaneseJW
KannadaKN
KazakhKK
KhmerKM
KoreanKO
KurdishKU
KyrgyzKY
LaoLO
LatinLA
LatvianLV
LithuanianLT
MacedonianMK
MalayMS
MalayalamML
MalteseMT
MaoriMI
MarathiMR
MongolianMN
Myanmar (Burmese)MY
NepaliNE
NorwegianNO
Norwegian BokmålNB
Nyanja (Chichewa)NY
Odia (Oriya)OR
PashtoPS
PersianFA
PolishPL
PortuguesePT
Portuguese (Brazil)PT-BR
Portuguese (Portugal)PT-PT
PunjabiPA
RomanianRO
RussianRU
SamoanSM
Scots GaelicGD
SerbianSR
SesothoST
ShonaSN
SindhiSD
Sinhala (Sinhalese)SI
SlovakSK
SlovenianSL
SomaliSO
SpanishES
Spanish (Latin America)ES-419
Spanish (Spain)ES-ES
SundaneseSU
SwahiliSW
SwedishSV
TagalogTL
TajikTG
TamilTA
TeluguTE
ThaiTH
TurkishTR
TurkmenTK
UkrainianUK
UrduUR
UzbekUZ
VietnameseVI
WelshCY
XhosaXH
YiddishYI
YorubaYO
ZuluZU