Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
The official documentation of RitaBot. Breaking the language barrier for thousands of people.
RitaBot is a fast, automatic Discord Translating Bot. Allowing communication across the language barrier from features like automatic-channel translation, to flag reaction translations and many more.
Rita was created because of a drive to communicate with others. Chatting platforms are awesome things and allow fast & simple communication across the entire world. However, something as simple as translating messages for others to understand can become so complicated. Across the internet, there are hundreds of translation bots but a flaw in many of them is increasing costs, changing features & overall difficulty to use.
This is where RitaBot came in. Many bots feature translations which are pricey due to hosting costs & translation costs. Rita, however, is an affordable bot & getting translations straight from the Google Translation API.
In this documentation, we'll teach you the functionalities and abilities of RitaBot
🗣️ Speak with others across multiple channels using the /group
command.
🪝 Use webhooks to send translations in a beautiful, user-like manner.
🇺🇸 🇫🇷 🇪🇸 Use flag reactions to translate any message. Simply add a reaction of the country of your choice and a translation will pop up with the languages of that country.
💪 The most powerful Translator Bot. Providing fast, automatic translation to thousands.
❤ Made with love by the Rita Dev Team
If you have any suggestions for future features feel free to join our Discord Server and add a request to #feature-request
In order to pay for translations, for both Google's API and our own Machine Learning API, RITA makes use of a subscriptions with given tiers.
The overview here explains further, and you can see how much it costs on the Dashboard or by reading Avalaible Plans
To install, you can follow the guide Quick setup steps
Information about the 1.2.4 Update.
Dev only Command handler has been added in to enable fast changes to command restrictions.
Lots of little things, nothing of consequence.
!tr history
shows Development History of the bot.
!tr stats server [ServerID]
shows stats for the targets server.
!tr blacklist [ServerID]
Blacklists a server (Developers Only).
!tr unblacklist [ServerID]
un-Blacklists a server (Developers Only).
!tr warn [ServerID]
Warns a server (Developers Only).
!tr unwarn [ServerID]
un-Warns a server (Developers Only).
!tr eject [ServerID]
Removes RITA from the target server (Developers Only).
!tr check [ServerID]
Checks Warn & Blacklist status of the given server.
!tr checkperms [bot/user]
checks permissions of the bot and the user for RITA compatibility.
A new column has been added to manage blacklisting and Warning, backwards compatible to all previous versions.
Once again Zycore broke something (a lot of times) Zycore fixed it again.
Help muenus update with new commands.
Help menus has been reworked, Still a work in progress but they look much better now.
All the information you need to know about subscriptions.
Version History for 1.2.?
Version History for 1.3.?
Information about the 1.2.0 Update.
No Code changes, just URL updates for New name of Bot
Published to NPM
Non code changes will be appended with Version-** from now on.
Various Spelling mistakes in ReadMe have been corrected.
Dev Dependencies core to this bot, the google-translate-api
& google-translate-token
have been updated
Setup on a Raspberry Pi instruction Section added.
gulp-watch updated dependencies. (Moved to Local Repo as it was out-of-date and full of Security Issues.)
Patch for Chinese language support.
Various Security vulnerabilities fixed.
Various commands re-activated.
The bot’s default prefix is !tr
, or !translate
- All commands must start with this prefix for the bot to process them.
You can also use discord slash commands to interact with the bot.
[prefix] + [main command] + [parameters]
For Example:
!translate help modules
!tr help modules
!tr help
Important Note
The bot’s default prefix is !tr (or !translate) - All commands must start with this prefix for the bot to process them. Bot must have proper permissions in all relevant channels for full functionality (read, write, react, mention, attachments, embed).
Users who wish to receive automatic translations in private must enable DMs via server privacy settings.
!tr this: [msg]
- Translates to default server language
!tr this to [lang]: [msg]
- detects language and translates to your to langugae
to [lang]
- Defaults to server default language
to [lang, lang, ...]
- Translates to multiple languages
from [lang]
- Defaults to automatic detection
!tr this: bonjour
!tr this to spanish: hello world
!tr this to arabic, hebrew: I love you
!tr this to de from en: how are you?
Command is currently disabled pending re-write.
Translates last message chain(s) in channel. A chain is a collection of messages by the same author, to keep things simple.
!tr last
!tr last [n] to [lang] from [lang]
to [lang]
- Defaults to server default language
to [lang, lang, ...]
- Translates to multiple languages
from [lang]
- Defaults to automatic detection
[n]
- Number of chains to translate, default is 1
[-n]
- Negative number means only one chain is translated
!tr last 2
!tr last to english
!tr last to english, german, french
!tr last -6 to english from german
!tr stats
- Shows a summary of the Global & Server stats.
!tr stats sub
- View character usage for your subscription, and other information.
!tr stats global
- Shows a summary of Global stats, all the servers the bot is currently on.
!tr stats server
- Shows a summary of the Server stats.
!tr proc
- Shows the processor usage, CPU, Ram and Uptime of the bot.
!tr shards
- Shows the number of shards the bot is running on.
All development and support of the self-hosted version has now been discontinued
RITA is the culmination of many things, it started with a mobile game, a community of gamers, a discord server of different languages and a desire to all be understood. She is a Real-Time Translator Bot for use on Discord. She is maintained by a small group of users (that have a real life and a job), each with different backgrounds and some learning as we go. You want to learn more about Rita and what she does ? Just take a loot at the .
The mobile game itself would get old, fast. The community around it, however, is what kept us going. The one downside was we did not all speak the same language. The game we played translated our conversations for us, but Discord did not, so the server admins used a translation bot called C-3P0. This introduction is the start of the story.
There are loads of different translation bots out there, some are amazing, some are expensive, some are free but have limits, and others are just rubbish. C-3P0 checked all these boxes.
Originally called discord-translator and made by Aziz, then forked By NotMyself and renamed Louie, forked again By AlooAkbar and renamed C-3P0, its code was neglected, not maintained, left outdated and iterations made private for commercial gains.
I and a group of fellow C-3P0 users decided that collectively we could do better, plagued with crashes, API changes, relentless bugs and issues, the drive to make something better was born.
Rita’s history and various iterations each added something extra, it just needed to be brought together and molded, molded into something amazing, molded into Rita. The Real-Time Interchangeable Translating Assistant.
Then we provided for a few time a self-hosted version before making the actual version of Unified Rita as it was impossible for everyone to request the google API, to maintain all codes, to help everyone with his particular settings. And moreover, self hosting would not answer to an easy installation with an invite link. Also code was not already used in a good way (meaning, taking some code in order to add it in some exepensive ones).
There you have it, the story, dramatized and electrified for effect, but all true, of how RITA was born.
For support, please visit us at our If you wish to email us about payments, please use
### 1.3.27-0
Date: 06/03/23
User: Qjuh
> ----------
>>> events.js
* Bug fixed to `removeTask`
>>> db.js
* Futher fix to taskCount
>>> send.js
* Bug fix for file attachments
### 1.3.27-1
Date: 07/03/23
User: Artanis
> ----------
>>> db.js, translate.js, event.sj
* Initial Support added for translation of edited messages
>>> message.js
* Move autoTranslate to message.js and char stat updating for edit translations
### 1.3.27-2
Date: 08/03/23
User: Qjuh
> ----------
>>> stats.js
* allow BotHelper to use `!tr stats sub`
Important Note
The bot’s default prefix is !tr (or !translate) - All commands must start with this prefix for the bot to process them. Bot must have proper permissions in all relevant channels for full functionality (read, write, react, mention, attachments, embed).
Users who wish to receive automatic translations in private must enable DMs via server privacy settings.
!tr help
- Shows RITA's help menu for all help commands.
!tr help modules
- Shows RITA's help menu for all modules.
!tr help commands
- Shows RITA's help examples for common commands. Such as Translation Commands, Information Commands, Style Commands, Misc Commands, and Debug Commands.
!tr help [command]
- Give usage info for each command.
Example: !tr help last
- will open the help menu for the command last.
!tr invite
- Creates an invite link for the bot so other can use it, i would not recommend using this command.
!tr list
- Lists all supported languages the bot can use.
!tr version
- Shows the current version of the bot.
!tr history
- Shows list of previous bot versions.
!tr history [version]
- show all the revisions made to the designated version.
** [version]
** - Version number.
!tr tasks
- Lists all current translation tasks for the channel the command is used in. This command is very useful to check what tasks you have currently set in a channel as well as easily identify if you've created an invalid translation tasks.
!tr donate oc
- Donation link for open Collective.
!tr donate github
- Donation link for GitHub.
!tr prefix [prefix]
- Sets custom bot prefix
** [prefix] - custom prefix
**
!tr id
- Shows various ID info
Version Changes for 1.3.?-?
### 1.3.12-0
Date: 30/10/22
User: Qjuh
> ----------
>>> auto.js, send.js
* Added support for stickers being sent as attachments for cross-channel translation tasks
* Added the error log for empty message again, as it should be fixed now
>>> translate.js
* Fixed translation throwing empty message errors in blockChain mode
>>> events.js
* Fixed joining of Threads to only try threads we didn't join yet
Version Changes for 1.3.?-?
### 1.3.21-0
Date: 8/12/22
User: Zycore
> ----------
>>> db.js
* Created case
db.updateTable (action, id, columnName, value, _cb)
action = (server, stats, reset)
db.increaseCount (action, column, id)
action = (server, stats)
db.sumCharUsed (action, _cb)
action = (google, ml)
>>> Core Code Files
* Changed db.updateServerTable > db.updateTable
* Changed db.updateStatsTable > db.updateTable
* Changed db.increaseServerCount > db.increaseCount
* Changed db.increaseStatsCount > db.increaseCount
### 1.3.21-1
Date: 9/12/22
User: Zycore
> ----------
>>> choose_server.js
* Removed mention of Ko-Fi from prompt.
Version Changes for 1.3.?-?
### 1.3.11-0
Date: 30/10/22
User: Qjuh
> ----------
>>> check.js (both /commands and /slashcommands)
* Added whitelist status and applications.commands scope to bot/server check
* Implemented `/check channel` and `!tr check channel` command
>>> pause.js
* Fixed display of paused servers
>>> auto.js
* Fixed ForumChannels translating although env var is not set
>>> db.js
* Fixed paused status getting set to false although subscription has a value of true
>>> interaction.reply.js
* Fixed usage of editReply if reply was deferred before
>>> send.js
* Commented logging of empty message errors because they're annoying atm and we know the reason
>>> slashcommands/settings.js
* Fixed usage of servers table from server_obj in `/settings show` command
Version Changes for 1.3.?-?
### 1.3.17-0
Date: 21/11/22
User: Qjuh
> ----------
>>> commands.js
* New file for checking command permissions, sub-only commands, tier-restricted commands and potentially more
* Moved list of commands from args.js to commands.js
>>> args.js
* Calls commands.js to determine what function to call
>>> permissions.js, auth.js
* Added auth.helperID and use it to populate the BitField with BotHelper value
* Fixed GuildAdmin using BitField value of GlobalChanManager by accident
Version Changes for 1.3.?-?
### 1.3.10.0
Date: 27/10/22
User: Zycore
> ----------
>>> permission.js
* new file, playing around with BitField
>>> events.js
* saved supportguild to client, but im not sure if this will run every action and thus leak or if it will only store once.
>>> message.js
* if a command is run, then the BitField value is added ot data.BitField
>>> misc.js, args.js
* Test command
Version Changes for 1.3.?-?
### 1.3.15-0
Date: 13/11/22
User: Qjuh
> ----------
>>> db.js
* added subscriptions to server_obj
* refactored building of server_obj to do three seperate loops for servers, stats and subscriptions instead of nested loops
* removed global property from server_obj as it's not used anymore
* removed .paused from `server_obj[].servers` as its now accessible from subscriptions directly
* changed `updatePaused()` to only update subscriptions and not servers anymore (see above)
>>> translate.react.js, translate.js, message.js
* Removed mentions of `server_obj.global`
>>> translate.react.js, pause.js, message.js, slashcommand.js
* Moved .paused check from `server_obj[].servers` to `server_obj[].subscriptions`
>>> send.js
* Refined check for empty message error to not apply for stickers/attachments sent in same channel translations
Information about the 1.2.3 Update.
Environment changes - MESSAGE_DEBUG
- For servers that want to show debug message content to find out what pesky message is causing that error, set this to 1. By Default it is 0. Rita global bot is also 0 and will remain that way.
With the changes to the google-translate-api
it dug up a load of new bugs, Lazarus & EDW have been hard at work fixing them, (DM Lazarus to say thank you, he will love it.)
@everyone
& @here
will now also be conveyed across channels correctly.
Emojis, roles and user pings will now function as intended. With a new system used to manage and correct them
!tr stats global
/ !tr stats server
now show message based stats, take a look.
It working so were not going to touch it. (Well Zycore wont)
Zycore broke something (alot of times) Zycore fixed it again.
All debug messages have been commented out in all files, This make the console log look so much cleaner.
Version Changes for 1.3.?-?
### 1.3.7-0
Date: 19/10/22
User: Qjuh
> ----------
>>> message.js, misc.js, settings.js, mod.js, sql_execute.js, stats.js, bot2bot.js, announce.js, debug.js, embed.js, prefix.js, purge.js, react.js, sub.js, translate.auto.js, translate.group_auto.js, translate.stop.js, translate.tasks.js, check.js, create.channel.js, help.js, invite.js, pause.js, command.send.js, dev.send.js, send.js
* Attached `isAdmin`, `isChanManager`, `isGlobalChanManager`, `isDev`, `isGuildOwner` and `isBotOwner` to `data` instead of the cached `data.message`
* Removed `data.message.sourceID` as it was only ever used as fallback in cases when `data.message.guild.id` would be defined anyway
* Removed `data.message.roleColor` as it wasn't used anywhere
>>> db.js, dbInit.js, dbModels,js, dbServersModel.js, dbStatsModel.js, dbSubscriptionsModel.js, dbTasksModel.js
* Split Sequelize Models for all tables into seperate files, as well as initialization
>>> db.js
* Fixed a few undefined variables
>>> args.js, translate.last.js, translate.react.js, translate.this.js, auto.js, translate.js
* Added some more `async/await` for even more helpful stacktraces
>> Error's
List error found in console, if any.
### 1.3.7-1
Date: 19/10/22
User: Qjuh
> ----------
>>> translate.js
* Fixed `catch` statement in `sendData` function
Version Changes for 1.3.?-?
### 1.3.26-0
Date: 12/02/23
User: Qjuh
> ----------
>>> eject.js
* Remove abus reference from eject and warn
### 1.3.26-1
Date: 14/02/23
User: Qjuh
> ----------
>>> send.js
* Fixed embed sending with only translated fields
### 1.3.26-2
Date: 21/02/23
User: Qjuh
> ----------
>>> translate.stop.js, db.js, send.js
* Refactoring of various variables
### 1.3.26-3
Date: 21/02/23
User: Qjuh
> ----------
>>> group.js
* Fixed `/group link` subcommand missing reply column
### 1.3.26-4
Date: 24/02/23
User: Qjuh
> ----------
>>> choose_server.js, helpers.js, events.js
* Added automatic tasklimit increase on role change
>>> events.js
* Bug fixed to `removeTask`
Version Changes for 1.3.?-?
### 1.3.18-0
Date: 24/11/22
User: Qjuh
> ----------
>>> shard.js, commands.js
* New command `!tr shard restart {shardId}` to restart a specific shard
>>> misc.js
* Fixed `!tr shards` to list shard ids starting from 1 instead of 0 to be in line with `!tr check` and `!tr proc`
### 1.3.18-1
Date: 3/12/22
User: Qjuh
> ----------
>>> commands.js
* Revamped permission checks to allow for multiple needed permissions as well as seperate alternatives, like being BotHelper or being Admin with Casual Tier subscription
>>> permissions.js
* BotHelper permission is assigned by checking for BotHelper role on support server now
* Export RITAPermissions Flags array to be used in other files
>>> auth.js
* Read BotHelper role ID from .env with hardcoded fallback
Important Annoucement Shared Via Discord
PLEASE NOTE: This Update was accurate at the time of sharing. Please refer to our Support documentation to ensure accurate and up-to-date information is known, If you have any questions or concerns please join our Discord Server and someone will assist.
Hey everyone,
Rita, as a service, is officially 1 year old today, Again, Sort of...
RITA was In testing for a month and then she went live to the public on 1st May 2022, but the idea and RITA we know and love was born on 12th July 2019
Since then this has changed massively, we have grown from 3 devs to over 10 development staff, we have a team of dedicated helpers and a loyal user base we are overwhelmed with.
At our peak, we had over 18k servers using RITA when she was free. And while we were saddened and dismayed when we could no longer support RITA being free (See our old post as to why), seeing RITA bounce back has been amazing.
We truly worked tirelessly to try and keep her free and when we had to start charging for RITA, I had a tiny part of me that had doubts we would succeed.
We have had our struggles but for the most part, it's been great. With an uptime of over 98% in the last 11 months of public usage, not 1 but 2 migrations to different hosts, the leap to purchasing our own hardware, development of our own ML engine and my never-ending ability to introduce bugs every time I touch the code, I am so happy we decided to take this journey. And it's all down to you. So again, thank you.
Don't worry, I know it sounds like the start of a break-up speech, but it's not.
We want to hear from you. What do you want us to work on next. What big thing do you think we are missing. What's that feature you are dying for us to implement (just be prepared for bugs) and yes, we are working on a dashboard.
Let us know in #suggestions and vote for what you want to see in #suggestions-vote
We will try and complete as many as we can, so we want to know what you think. What are you waiting for... Suggest away.
Thank you
From everyone on the @Developer Team, and @Bot Helper, we are truly humbled.
@Zycore - Finance Director
Version Changes for 1.3.?-?
### 1.3.28-0
Date: 09/03/23
User: Artanis, Qjuh
> ----------
>>> Core Code Files
* Refactoring of variables for `getInfo`
* Edit translation incorporated using ML
* Fixed a embed off bug
### 1.3.28-1
Date: 10/03/23
User: Artanis
> ----------
>>> Core BOT code
* Prettified some methods, moved translation split to after translation to maintain a coherent translation
>>> events.js
* Fixed a bug with message deletion
Important Annoucement Shared Via Discord
PLEASE NOTE: This Update was accurate at the time of sharing. Please refer to our Support documentation to ensure accurate and up-to-date information is known, If you have any questions or concerns please join our Discord Server and someone will assist.
Hey everyone.
So we have been running Ko-Fi and Patreon side by side now for 2 months we wanted to make sure we had a viable fallback if one should fail.
As it stands we have had no issues with Patreon but we have had with Ko-Fi. so we have taken the decision to phase out Ko-Fi.
From the end of this month we are going to disable all new subscriptions from Ko-Fi, this means new users will have to use patreon.
Existing users subscriptions will not change and still be charged as they are at the moment.
We would ask users to move over to patreon if you are able to. In the next week we will release a full blog post describing what this looks like and how to do this.
We know there will be some overlap with subscription dates and this will have the answers how this will work.
For now if you want to change over to patreon you can do so but please note patreon takes all payments on the 1st of each month.
If you have any questions in the mean time please open a sub ticket from open-a-sub-ticket and we will try to answer them WHEN WE HAVE all available information.
For clarification, no subscription will be cancelled if you are using Ko-Fi. It will still work.
Thank you @Zycore - Finance Director
This project was originally released by Aziz under the MIT license. He chose to take the project private/commercial at version 0.4.2 Beta. Bobby Johnson forked the project and renamed it Louie after his dog. AlooAkbar forked Louie and added the necessary modifications for simple and free deployment of the bot using Heroku. RitaBot-Project Picked up the fork and as part of a team fixed over 200 errors and brought it in to the modern age, All would like to thank Aziz for his hard work and making these early versions OSS so that others may learn and build on his hard work to share with the community.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
All Plans, Prices, Limitations and Restrictions are correct at time of publication.
Subscriptions are available on RITA Dashboard. The guide is available here
If you need help at any point join our Discord Server and someone will help you.
Please review our S.A.L.T.S Policy for more information on Availability, Limitations and Restrictions.
Groups channels using Automatic Channel Translation in a simple, easy-to-manage manner.
You can use slash commands like /group create
in order to create groups or use the commands listed bellow.
!tr group
⬅ create new channel group
Respond with new group name, number of channels that should be in group, and for each channel prompt respond with channel language and ping which channel to assign
!tr group link [GROUPNAME]
⬅ link a new channel into group
Respond to prompts by pinging which channel to add and what language to assign to that channel
!tr group unlink [GROUPNAME]
⬅ delete a channel from group, opposite of group link
!tr group delete [GROUPNAME]
⬅ delete entirety of group
!tr group list
⬅ list all groups present in guild
[GROUPNAME] refers to the group name you give to the group (can check groups with !tr group list
)
There is a max of 10 channels/languages per group
Groups cannot have repeats of languages or channels. All added channels and langs must be unique and not already in the group
Languages should be in their ISO-639-1 format, list can be found
Information about the 1.2.6 Update.
Sharding is now automatic, this should auto scale to the needed amount.
A Major memory leak causing rita to restart every few hours has now been fixed.
!tr announce on/off
has been fixed.
!tr settings
has been unrestricted.
!tr blacklist {ServerID}
has been fixed.
!tr channel from {lang} to {lang}
no longer defaults to a DM task.
!tr react on/off
now turns on and off flag reactions.
Added in 3 new columns ready for auto-warn and eject management
Servers will be allowed 10 Permission Errors Before a Warning
Server will be given a Maximum of 3 Warning before they are Ejected
If your server should be Ejected a second time it will be blacklisted
Sooooooo Many spelling mistakes corrected that it would be too many to list here.
Help Menu updated with new commands.
Information about the 1.2.5 Update.
db.js has had a overhaul
Database has been migrated to a larger DB, We wont be needing to do that again for a good 5 years.
Color now working in Embed on
and takes user role color.
Stop command for @user has now been fixed
Welcome message added for all new servers. System Channel is default, if not available it will pick first channel that has Write permissions.
Announcement command added, This is Restreicted to DEV ONLY.
Opt in and out commands added for announcements.
!tr settings persist [on/off]
command has been added, this will prevent bot responses from being deleted.
Validation Checks added at startup to avoid Blacklist and Stats SQL Errors
New Debug Settings for console.
MESSAGE_DEBUG
0 - Error's Only
1 - Console for all Messages
2 - Console for Translate Messages only
3 - Content of all Messages
4 - Content of Translate Messages only
5 - Commands Only
Important Annoucement Shared Via Discord
PLEASE NOTE: This Update was accurate at the time of sharing. Please refer to our Support documentation to ensure accurate and up-to-date information is known, If you have any questions or concerns please join our and someone will assist.
Important Annoucement Shared Via Discord
PLEASE NOTE: This Update was accurate at the time of sharing. Please refer to our Support documentation to ensure accurate and up-to-date information is known, If you have any questions or concerns please join our and someone will assist.
Information about the 1.2.2 Update.
New commands added (embed, bot2bot, settings updatedb)
embed command allows you to change the type of message that is sent to the translation channel, in embed format or standard text. Standard text shows the users avatar and name instead of the bot.
bot2bot allows for messages sent from other bots, in non embedded format to be translated as well. (Due to limitation this has been implimented but is disabled for now)
As the new variables above are stored in the DB, they need new Columns to be added, as such updatedb will complete these actions.
Major code changes, new code implementations will change the DB and produce errors on first build, but this is a safe version to update to. Follow the below instructions.
Step 1: Make a pull request and update from Master branch.
Once you update the bot and it initializes you WILL get a db error, this is normal. (we are working on suppressing these)
Step 2: !t settings updatedb
This will throw another error but it will build the missing columns.
The default value for embed is on and botbot is off.
Running this multiple times will cause error to be posted to webhook chan, this is a "Value exists" error. Preventing you from destroying the DB
Step 3: Completed, and now working.
Once you have completed Step 2, the bot will have come online, but it wont have fully Initialised.
To prevent a never ending loop of errors, the VERY FIRST message or command sent on the server will Initialise the DB fully. Meaning you will have to send that message again.
Please Note Due to the first message after each restart will share the same behaviour as above.
Added in command triggers and command deletion to clean up command channels.
Custom Emoji's are now supported and will be sent with the translated message correctly, with the exception of a few languages.
DM Translation have been disabled as it has been identified they never worked as intended. they will be re-introduced in a later update.
Various Security vulnerabilities fixed.
Dev Dependencies core to this bot, the google-translate-api
& google-translate-token
& gulp-watch
have been updated
eslint
has been replaced with babel-eslint
!t settings updatebot
Has been DISABLED - This is not needed as of yet and with the similarities to the !t settings updatedb
command it may cause issues.
Deploy with Heroku Setup and integration.
Last updated: June 7th, 2025
The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located .
You are strictly prohibited to use RitaBot against the ToS of discord or for illegal purposes. We are doing our best to prevent these activities, while trying to provide the best user experience as possible. If you find people or communities using RitaBot against the ToS of discord or even for illegal activities, please send us an email to
We (RitaBot) own and retain all rights for public available data (including but not limited to templates). We grant you the permission to use this available data for your own needs, but strictly disallow any commercial use. You therefore shall not sell, license or otherwise commercialize the data except if the permission was expressly granted to you.
RitaBot is provided as-is. There are no guarantees that it will be available in the future, and its purpose or availability may be changed at any time.
Usage Data including backups may be deleted at any time.
Any "pro" or "premium" Features are not guaranteed. They may change or be revoked at any time.
Access to all or specific Features of RitaBot may be revoked, for all or a specific user, at any time.
To operate RitaBot and in specific the Database we use requieres we save some information about You, your Discord server and the members.
Usernames & Discriminators.
Server Name & ID
Channel ID's, Role ID's and User/Owner ID's
We may also store anonymized Personal Data about you including your username, discriminator and public flags (badges) in line with our . This information is only used for analytics and can not be tracked back to You.
S.A.L.T.S Stands for Subscription, Activation, Limitations, Termination and Suspension Policy. This describes Our policies and procedures on how each of the aformentioned processes are handled.
By using the Service, You agree to the following processes and be subject to enforcment of them. Please refer to for more information.
Wooooo, Rita is back, and hopfully for good. (Launch Date: 01/05/2022 00:00 GMT)
PLEASE NOTE: This Update was accurate at the time of sharing. Please refer to our Support documentation to ensure accurate and up-to-date information is known, If you have any questions or concerns please join our and someone will assist.
If you have not been following our channel, or have not read our previous we would advise you to do this. It will answer most of your questions.
For further information check out or join our .
You can do this in a few ways. You can purchase from or . For info and step by step guide check out.
Head to and type `!tr sub` to get started... What are you waiting for?.
If you cant see the Subscription category in the , you can't access the channel, or something went wrong then please and we will assist you ASAP.
### 1.3.20-0
Date: 8/12/22
User: Zycore
> ----------
>>> commands.js
* Changed sub.removesub to sub.subremove to conform to other functions.
* Added in new commands
>>> misc.js
* Added in test command
>>> choose_server.js, helpers.js
* Removed plan.engine as its used for forced value.
>>> db.js
* subscriptions was lowercase, capitalized to confirm to other functions.
>>> dbSubscriptionsModel.js
* added ml_chars_used.
>>> translate.js
* added in check for overrides, even if .env file is fixed to a engine the forced value will be used.
### 1.3.20-1
Date: 8/12/22
User: Zycore
> ----------
>>> translate.js
* Removed console log messages
* Removed message.type variable created in 1.3.20-0 as it was only for testing.
* Minor change to char counters
>>> stats.js
* Added Global total for ml and google
* Added server total for ml and google
>>> misc.js
* Added char values
* Added engine value
### 1.3.16-0
Date: 19/11/22
User: Qjuh
> ----------
>>> misc.js
* Added Flag and BITA tier to output of `!tr subcount`
>>> args.js
* Added allowedCommandsWhilePaused to list commands that are allowed to be used with paused subscriptions
>>> message.js
* Allow paused subscriptions to still use commands listed in args.js' allowedCommandsWhilePaused
>>> blacklist.js
* Added reason parameter to `!tr blacklist <serverId> <reason>` and write reason, date and executing user to the database
* Added ´!tr blacklist review <serverId>` to find out who blacklisted the server, when and why
* `!tr unblacklist <serverId>` also removes reason, date and executing user from db
* Added new BotDev permission check to blacklist and unblacklist
### 1.3.16-1
Date: 20/11/22
User: Qjuh
> ----------
>>> events.js, translate.react.js, send.js, translate.js
* Added some optional chaining, catch and default values as bugfixes
### 1.3.16-2
Date: 20/11/22
User: Qjuh
> ----------
>>> args.js, settings.js, bot.js
* Moved `cdebug, edebug, mdebug, mm, ownerdb, serverdb, updatedb` from `settings.js` to `bot.js` and by that to `!tr bot ...`
>>> help.js
* Fixed `!tr help dev` to show the new commands
### 1.3.25-0
Date: 05/02/23
User: Qjuh
> ----------
>>> Core Code Files
* Added JSDoc's
* Implement field embed support
* fix URL regex
* Fix `!tr group unlink`
### 1.3.25-1
Date: 07/02/23
User: Qjuh
> ----------
>>> translate.react.js
* Allow crossposted messages to be translated (followed announcement channels)
* Fixed forwarding messages
### 1.3.25-2
Date: 10/02/23
User: Qjuh
> ----------
>>> auto.js, message.js
* Fixed multiple embed translations bugs
>>> join.js, translate.group_auto.js, translate.stop.js
* Fixed group null origin bug
>>> helpers.js
* Added JSDoc's
>>> group.js
* Remove obsolete parameters
### 1.3.25-3
Date: 11/02/23
User: Qjuh
> ----------
>>> db.js
* Fixed origin null bug
As RITA moves into the next phase and new features are implemented we want to be able to test RITA without impacting the wider user base with potential bugs resulting in downtime. This is where you, our users, can help.
What We are looking for in BETA Testers:
To start with we are looking for 5 servers willing to be BETA Testers.
You must have no more than 100 tasks, a monthly usage limit of no more than 500k characters and more than 20 users. For simplicity of communication, you must be proficient in communicating in English.
Open a general ticket in open-a-ticket providing your server ID, and stating you want to be a BETA Tester. One of the admin team will evaluate your server to ensure it meets our requirements.
You will be invited to install a separate version of RITA on your server. This version is invite-only and will only work on the servers we approve.
No, your tasks will be intact and RITA will start working straight away.
The simple answer, use BITA as normal, we will create a separate ticket where you will report any issue you find.
While we will continue to try and provide a guaranteed uptime like Global RITA there may be a time when BETA RITA stops working.
New features we add may be removed and you may find random bugs.
Your feedback will help us to fix these and get them ready for global launch.
You won't be able to have more than 1000 Tasks.
This is the best bit, we will provide RITA for free.
Through the BETA Platform. So you won't have to pay for a subscription.
There will be rules but we will let you know them before you agree.
Some codeUpdates may be made multiple times a day, with reboot times being an average of 5 mins. We can't always guarantee notification of reboots.
But we will let you know of any changes.
BETA RITA is not a permanent bot, and while we will give you as much notice as we can it may be deactivated at any time.
### 1.3.22-0
Date: 10/12/22
User: Zycore
> ----------
>>> db.js
* Created case
db.getCount (action, id, type, _cb)
action = (subChar, subMLChar, task, server)
db.getInfo (action, id, _cb))
action = (sub, server, settings, stats, purge)
>>> debug.js
* Archived debug.js and disbaled command.
>>> misc.js
* Debugvales command has been added due to archiving of debug.js
* Hardcoded role ID's
* Updated Object refrenceses
>>> translate.js
* Added catch for missing ml_chars_used
>>> Core Code Files
* Changed db.getServerInfo > db.getInfo
* Changed db.getSubInfo > db.getInfo
* Changed db.getServerInfo > db.getInfo
* Changed db.getServerSettings > db.getInfo
* Changed db.getPurgeInfo > db.getInfo
* Changed db.getSubCharCount > db.getCount
* Changed db.getTasksCount > db.getCount
* Changed db.getServersCount > db.getCount
* Created db.getCount(subMLChar)
* cb was no a function as missing _, Changed to _cb
### 1.3.22-1
Date: 10/12/22
User: Zycore
> ----------
>>> translate.js
* Fixed a bug with missing engine value.
### 1.3.22-2
Date: 10/12/22
User: Zycore
> ----------
>>> Core Code Files
* Update Error Tags in DB files are they were all duplicated.
* Added correct Error codes to Error not line number, This way if code shifts the error tag is still valid.
This year has seen over 780 new user’s subscribe to RITA! At the start of 2022 RITA was using version 1.3.0, now as we start 2023 RITA is using version 1.3.24.
Thanks to the tireless work the RITA development team.
More than 150 individual updates, fixes, and patches have been made. Resulting in over 32,000 lines of new code being added and nearly 16,000 lines of code being deleted due to refactoring and optimization.
* Total characters translated by RITA = 949,434,521
* Total messages translated by RITA = 17,749,158
* Translations sent by RITA in embed off mode = 13,119,780
* Translations sent by RITA in embed mode = 7,267,768
* Pictures sent by RITA = 462,227
* Number of messages translated via flag emoji reactions = 155,512
* Gif’s sent by RITA = 131,845
Numbers like this are what keeps us going, knowing that you truly use RITA to her full potential!
As of July of 2022, a part of the RITA development team has been hard at work creating our very own machine learning translation model.
For those who aren’t familiar with a machine learning model or a neural network. Instead of relying on Google to translate the messages.
We are using various data sets to train the machine learning model via different means so that eventually we can offer an even lower cost translation bot.
With the same level of translation quality you’ve come to expect and depend on from RITA. This is still very much in the early stages of development, so far thanks to numerous training iterations we have decent coverage for the following 11 languages:
English, German, Russian, Spanish, French, Romanian, Italian, Portuguese, Japanese, Chinese, and Korean.
Please stay tuned for more information regarding the ML progress RITA is making.
Total character translated with RITA’s ML engine = 9,721,043
Introducing Qjuh and Z3US, two very skilled developers.
And introduced a wonderful team of Community Helpers (T•K, Mairin Lilith, KingLion1314, and Slasky) and bot helpers (iconoclast and LOKI)
We have been community verified and have added 2 new bots to the RITA family.
Thank you for an amazing 2022 and here’s to an even better 2023!
The RITA development team
### 1.3.29-0
Date: 12/03/23
User: Artanis, Qjuh
> ----------
>>> Core BOT code
* Implimented ML Translation Engine Support
> Each uer has a limit to the number of Google Characters they were able to use, Once a user reached this limit the following was performed
If the user only had tasks that were supported and optimised by our ML Engine then their subscription was "Forced" to ML only
Any further usage was utilised via ML and not Google API
> Now once a used hits their Limit set by thier subscription, any translation will be performed via ML if the language is supported and optimised
If the lanauge is not then it will continue to use Google API.
>>> events.js
* Fixed a bug with message deletion
>>> translate.js, message.js
* Errors are now console logged
* Fix edits for auto and embed on
* Fix zh-CN to zh in parsing
>>> FUNDING.yml
* Added Patreon link
### 1.3.29-1
Date: 13/03/23
User: Artanis, Qjuh
> ----------
>>> Env Files
* Update dependancies
> discord.js ^14.7.1 → ^14.8.0
>>> Core BOT code
* Fix multiple same-channel translation - typing changes - fixed edit discord parsing
### 1.3.29-2
Date: 14/03/23
User: Artanis
> ----------
>>> send.js, message.js
* Fixed errors in webhook property and webhook mode
Version Changes for 1.3.?-?
No Public Change Log
### 1.3.19-1
Date: 3/12/22
User: Qjuh
> ----------
>>> commands.js
* Added some perms in that were missing.
>>> misc.js, stats.js
* Fixed object when no active sub
* now shows bot value
>>> choose_server.js, sub.js
* now saves bot value
>>> check.js
* Fixed error with object missing table
>>> db.js
* Bot value is save in DB with sub
>>> events.js
* client.user.id now stored in config
### 1.3.19-2
Date: 8/12/22
User: Qjuh
> ----------
>>> translate.tasks.js, slashcommands/.../tasks.js
* Added `/tasks [channelId]` as global command needing ManageChannels permission per default
* Added `/tasks {server|channnel|me} [id]` as support guild only dev-commands needing Administrator permission per default (can be changed in server setttings->integration though)
* Added page number in footer of paginated embeds
>>> db.js
* Simplified getTasks() function used by `!tr tasks` and `/tasks` a bit
>>> slashcommands/.../translate.js, slashcommands/.../group.js, slashcommands/.../check.js
* Minor cleanup
>>> commands.js, permissions.js
* Added a dev-only command to list all commands and their needed permissions
* Added a `plaintext()` function in permissions.js to turn BitField into their readable names again
Version Changes for 1.3.5-?
### 1.3.5-0
Date: 17/10/22
User: Zycore
> ----------
>>> .env File
* Defined `DISCORD_BOT_DEV_ID` in env file
>>> message.js
* Changed variable `message.isOwner` to `message.isGuildOwner`
>>> events.js
* Added in `process.env.DISCORD_BOT_DEV_ID = process.env.DISCORD_BOT_DEV_ID || "0";` to load variables on boot.
>>> translate.js
* Updated with arts new code
>>> auth.js
* Removed `exports.donation` as it was not used
* Removed `exports.changelog` as it was not used
* Removed `devID` and set variable in `.env` file
* Set fallback for if `DISCORD_BOT_DEV_ID` is missing and will use `DISCORD_BOT_OWNER_ID`
>>> settings.js
* Removed `listservers` command from settings.js
* Removed `listusers` command from settings.js
>>> misc.js
* Removed `costcalc` commands and variables
* Removed Mentions of ko-fi from responces
>>> join.js, invalid.js, choose_server
* Removed Mentions of ko-fi from responces
### 1.3.5-1
Date: 17/10/22
User: Zycore
> ----------
>>> translate.js
* New `translate.js` code
>> Error's
TypeError: Cannot read properties of null (reading 'user_id')
at Object.checkSubActive (c:..\GitHub\RitaBotBuild\src\core\helpers.js:79:24)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Object.subExpired (c:..\GitHub\RitaBotBuild\src\core\helpers.js:39:7)
at async run (c:..\GitHub\RitaBotBuild\src\message.js:265:8)
### 1.3.5-2
Date: 18/10/22
User: Qjuh
> ----------
>>> message.js
* Removed `message.server` and `message.stats` being attached to cached messages
>>> profanity.js, send.js, translate.js, translate.last.js
* Changed to use `db.server_obj` instead of the now removed `data.message.server`
>>> helpers.js
* added check `if(!sub)` to account for non-subbed servers and fix the error in console `Cannot read properties of null (reading 'user_id')`
How to make RITA running in your Discord Server
Check that your discord account is the owner of the server or an admin of the server you want RITA Bot in
Invite RITA in your discord server : https://ritabot.gg/invite
Subscribe to a RITA plan through dashboard : https://dashboard.ritabot.gg/
On dashboard, select the server you want to link to the subscription you've just took
Now you can Personalize your RITA's setting and translate a Discord chanel into another one with serveral commands. Most common use is by running !tr group
or /group create
and following the instructions displayed
Important Note
The bot’s default prefix is !tr (or !translate) - All commands must start with this prefix for the bot to process them. Bot must have proper permissions in all relevant channels for full functionality (read, write, react, mention, attachments, embed).
Users who wish to receive automatic translations in private must enable DMs via server privacy settings.
These commands are available only to admins.
This command will display a printout of your current server settings.
!tr settings
or /settings
This command will allow you to set a custom prefix for RITA in your server.
!tr prefix [prefix]
!translate prefix [prefix]
This command will turn off messages from the Development team.
!tr announce [on/off]
This command will allow you to use either embed or webhook translation Styles.
!tr embed [on/off]
/settings embed
This command will add a source Language marker to the translated text.
!tr settings langdetect [on/off]
/settings langdetect
This command will allow RITA to translate messages from most bots
!tr bot2bot [on/off]
!tr help bot2bot
This command will allow you to disable RITAs ability to use the everyone, here and user tags when using Webhook translation style.
!tr settings tags [Parameter]
none
- RITA won't ignore any mentions
everyone
- RITA will ignore everyone and here tags
all
- RITA will ignore all mentions
This command will turn off the ability to translate a message with Country flags.
!tr react [on/off]
These commands are to enable/disable various auto delete functions.
!tr settings menupersist [on/off]
!tr settings reactpersist [on/off]
!tr settings flagpersist [on/off]
This command will allow you to turn on debugging for RITA related errors in your server.
!tr debug [on/off]
!tr help debug
This command will reset all Settings to their default setting.
!tr settings reset
Refer to the below service and their Respective TOS and Policies
Last updated: June 05, 2025
05/06/25 Refund, Privacy & S.A.L.T.S Policy Update
The change to our and Policy does not constitute a Right-to-Exit unless stated, however, we will review all cases and claims on a case-by-case basis if raised.
The change to our Policy may constitute a Right-to-Exit under the following conditions:
Where the request does not fall within the terms and authorisation of the updated Policy, users may request termination and refund of the subscription service equal to 1 month at the cost of the active subscription.
Any changes to a subscription plan, cost, payment method or billing platform constitutes acceptance of this policy change and will make any request null and void unless they fall within the terms and authorisation of the updated Policy.
Right-to-exit requests are limited to the scope of 3 months from the dated change of the Policy and;
acceptance of a right-to-exit request will result in the termination of any active subscription.
user subscriptions must be active at the time of this change.
The notice must be provided to exercise a Right-to-Exit BEFORE self-cancellation of an active subscription. Cancellation of subscription prior to notice to exercise a Right-to-Exit will result in the denial of the claim.
Notice can be provided via our in a support ticket or by sending an email to
Further clarification of changes can be provided upon request.
15/08/23 S.A.L.T.S Policy Update
The change to our Policy does not constitute a Right-to-Exit.
Further clarification of changes can be provided upon request.
01/05/23 Privacy & S.A.L.T.S Policy Update
The change to our , and Policy's do not constitute a Right-to-Exit unless stated, however we will review all cases and claims on a case-by-case basis if raised.
Change to soft Limits defined in may constitute a Right-to-Exit, all cases and claims will be reviewed on case-by-case basis if raised. Accepted claims must be raised within 30 days from the dated change of policy, after which, further claims will not constitute a Right-to-Exit and claims will be denied.
Please email [email protected] with details of your case/claim and we will review.
Please allow 48 hours for a response
Requesting a chargeback or refund from your payment provider will be managed under our
Direct or Indirect use of our Proprietary Machine Learning Translation Engine does not constitute a change in service provided, as such does not constitute a Right-to-Exit.
Further clarification of changes can be provided upon request.
26/09/22 Privacy & S.A.L.T.S Policy Update
The change to our and Policy does not constitute a Right-to-Exit, however we will review all cases and claims on a case by case basis if raised.
Please email [email protected] with details of your case/claim and we will review.
Please allow 48 hours for a response
Requesting a chargeback or refund from your payment provider will be managed under our
Further clarification of changes can be provided upon request.
Last updated: May 01, 2023
This Refund Policy describes our policies regarding the handling of refunds in general and does not serve as a legal base, nor is it approved by professionals. It is used to lay down the foundations for any decision made upon requests. Any point listed here might be a reason for permitted initiations of any refund.
The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located .
Refunds for payments may be issued when the user requests it and one of the following requirements is met:
it's the first payment and the user requests a refund on the same day (Usage Exception Applies)
it's a monthly recurring payment and the user requests a refund within a three day period (Usage Exception Applies)
it's an annual recurring payment and the user requests a refund within a seven day period (Usage Exception Applies)
A major premium feature was removed and the user bought the tier specifically because of that feature
Users who subscribe via Patreon are charged as soon as you sign up. Patrons' payments are recurring on the 1st of every month after that. This means you are charged for the month (January, February ect), not a month (30 Days) of access.
Each charge for the month gives them membership access for that month. For example,
You subscribe to RITA on the 1st January, this payment gives you access throughout the rest of January. Your next payment is 1st February then 1st March ect ect.
You subscribe to RITA on the 15th January, this payment gives you access throughout the rest of January. Your next payment is 1st February then 1st March ect ect.
Listed below are other possible reasons that might permit a full or prorated refund.
Any kind of unauthorized transaction that was not undertaken on your behalf but financially affects you.
A situation in which you are not successfully receiving or are unable to access promised premium features.
Service uptime of less than 80% (24 Days in a rolling 30 day period) due to maintenance, takedown, core functionality issues or other services under the direct control of RitaBot or the Rita Bot Dev Team.
All/Any of the reasons above require viable proof to be accepted as possible inquiries for the initiation of a refund.
Below listed are situations in which any kind of refund will not permit a full or prorated refund.
Any situation in which you actively or passively forgot to cancel your ongoing subscription, and it's passed the subscription exclusion timeframe listed above.
Downtime caused by 3rd Party Service Providers, Including but not limited to, Discord, Heroku, Paypal, Stripe, PebbleHost, Domain Controllers and DNS Providers.
You are a Patreon user and have had the second payment of a recurring subscription taken/renewed on the 1st of the month. As this is Defined during the purchase process, regardless of the date of the first payment you are charged for the month (January, February ect) not a month (30 Days).
Please note that all refund requests are handled on a case by case basis, however, the reasons above may prohibit responses to refund requests.
IF you have activated RITA, defined in our SALTS Policy , and have used RITA service with a Character count exceeding 10,000 Character, you will NOT be eligible for a refund under any circumstance. to see your character count type "!translate stats" in your server.
All Donations, Made on any of the accepted payment platform we use are Non-Refundable with the exceptions of,
Any kind of unauthorized transaction that was not undertaken on your behalf but financially affects you.
All/Any of the reasons above require viable proof to be accepted as possible inquiries for the initiation of a refund.
If you choose to or threaten to chargeback, we reserve the right to ban and/or blacklist you from the bot. This includes but is not limited to:
Immediate termination of service
Permanent and non reversavble ban
Support requestswill not be answered
Guild ID is excluded from the usage of our service indefinitely
Performing a chargeback on behalf of the payment processor your transaction was handled through, without contacting or attempting to contact RitaBot, In most situations means we can, and will, fight such cases to dispute the chargeback.
Financial Transactions and Decisions are handled by a single member of staff, Responses to such requests will be given within 72 hours, between 8 am and 9 pm GMT, Excluding bank holidays and public holidays. We still require a comprehensible explanation of the situation and never guarantee a refund, except as listed in the subscription exclusion timeframe listed above. Partial refunds might be issued for annual payments under special circumstances.
Refunds are never issued if you have broken our Terms of Service and therefore lost access to certain or all features.
If you believe your situation is viable for a refund you may wish to contact us via one of the ways listed below.
From the email address related to the Discord account that is affected if accessible. Just send us a descriptive message to
On our Discord support server with the Discord account that is affected if accessible.
In any private ticket/message with a staff member from the RitaBot team.
### 1.3.6-0
Date: 19/10/22
User: Qjuh
> ----------
>>> mod.js, announce.js, purge.js, settings.js, translate.last.js, help.js, command.send.js, dev.send.js, send.js, events
* Added/Moved `.catch` to `message.delete()` with `logger("debugerror")` calls
>>> mod.js, announce.js, purge.js,
* Changed message fetching only to delete them to deleting directly through `<MessageManager>.delete()` or `<TextChannel>.bulkDelete()` methods
>>> translate.group_auto.js
* Fixed the `catch` on `awaitMessage`
>>> translate.js
* Fixed the `catch` on `apiInstance.post`
>>> translate.react.js
* Fixed the `catch` on `msg.reactions.resolve(emoji).users.remove(...)`
>>> translate.auto.js, send.js
* Changed all `var` (or even never defined) variables to be `const` or `let`
>>> blacklist.js
* Fixed checking `<Guild>.ownerId` instead of `<Guild>.owner` which might not be present
* Fixed using db table column `blacklist` instead of the wrong `blacklisted`
>>> db.js
* Fixed `catch` on `guild.members.fetch(...)`, `updateServerTable`, `Tasks.findAll(...)` and `updateCharCount`
>>> send.js
* Added some `async/await` to get more complete stack traces on send errors
* Fixed `attachments.size` check in `embedOff -> sendAttachments`
### 1.3.6-1
Date: 19/10/22
User: Qjuh
> ----------
>>> events.js
* Added origin to `console.log` in `uncaughtException` handler
### 1.3.6-2
Date: 19/10/22
User: Qjuh
> ----------
>>> logger.js
* Fixed `debugerror` casing to match the one it's used with everywhere
>> Errors
* `DiscordAPIError: Cannot send an empty message
at RequestHandler.execute (/node_modules/discord.js/src/rest/RequestHandler.js:350:13)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async RequestHandler.push (/node_modules/discord.js/src/rest/RequestHandler.js:51:14)
at async Webhook.send (/node_modules/discord.js/src/structures/Webhook.js:196:15)
at async sendWebhookMessage (/src/core/send.js:992:13)
at async /src/core/send.js:1182:19
at async sendBox (/src/core/send.js:1157:10)
at async checkPerms (/src/core/send.js:438:4)
at async embedOff (/src/core/send.js:1193:4) {...}`
### 1.3.13-0
Date: 30/10/22
User: Zycore
> ----------
>>> migrate.js
* Migration code for when users swap to BLUE from YELLOW. Needs to be reviewed and debugged for errors i have not though of.
>>> bot.js,
* Increased cache values
>>> args.js
* Added migrate command as argument
>>> events.js
* Removed global saving of client.supportGuild
>>> message.js
* Added a command trigger for migration function.
>>> misc.js
* Bug fix.
### 1.3.13-1
Date: 30/10/22
User: Zycore
> ----------
>>> events.js
* Now has all 5 Tiers, With role ID and Tasks Allowance as array
>>> stats.js
* added engine and tier to stats sub command
>>> choose_server.js,
* Tier and Engine are now collected from event.js index
>>> sub.js
* Added Engine question to subadd command
>>> dbSubscriptionsModel.js
* Added "engine": Sequelize.STRING(16)
>>> db.js
* Change to now account for engine and tier
>>> helpers.js
* Change to now account for engine and tier
* Also added a check, so highest index value will be used when updating task allowance, so if a user upgrade a tier and the lower tier is not removed then it will only user the value of the highest tier. Thus removing need for intervention.
>>> permissions.js
* now includes tier values.
No Public Change Log
No Public Change Log
No Public Change Log
### 1.3.13-5
Date: 01/11/22
User: Qjuh
> ----------
>>> send.js
* put stickers into embeds instead of attachments
### 1.3.13-6
Date: 01/11/22
User: Qjuh
> ----------
>>> send.js, auto.js, translate.js
* moved language and backupLang from `data.message` to `data`
### 1.3.8-0
Date: 20/10/22
User: Qjuh
> ----------
>>> package.json
* Removed unused dependencies
* Updated to discord.js v14.6.0
>>> bot.js
* Limited Intents to only those we use/take advantage of
* Added `Reaction` and `Message` partial to handle reaction translations through `messageReactionAdd` event
>>> events.js, translate.react.js
* Moved reaction (flag) translation to the propert event, since raw event is not documented and can be changed anytime
>>> colors.js
* Fixed default color value for new EmbedBuilder setColor method
>>> global changes (many files affected)
* `PermissionFlagsBits.Administrator` is the new way for Permissions like "ADMINISTRATOR"
* `GatewayIntentBits`/`IntentsBitField` is the new `Intents`, also with PascalCase instead of SCREAMING_SNAKE_CASE
* Channeltypes are either compared with ChannelType.GuildText enum or use of `.isTextBased()`, `.isThread()` or `.isDMBased()` methods
* `MessageEmbed` renamed to `EmbedBuilder`, same for `MessageAttachment` -> `AttachmentBuilder`
* `<Guild>.me` is now `<Guild>.members.me` and can be fetched by `<Guild>.members.fetchMe()`
* Channel creation now takes the name in the options object instead of as extra parameter
>>> logger.js
* Moved WebhookClient creation to top level to not leak memory
### 1.3.8-1
Date: 20/10/22
User: Qjuh
> ----------
>>> choose_server.js
* Added check if server is already subscribed by another user
* Added support for more than one SUBSCRIPTION_ROLE_IDS
>>> db.js
* Added checks and other additional subscriptionAction code from dev branch
>>> translate.auto.js, translate.stop.js, translate.tasks.js,
* Fixed use of FormattingPatterns to parse IDs from User/Channnel mentions
>>> choose_server.js, helpers.js, events.js
* Added support for more than one SUBSCRIPTION_ROLE_IDS
>>> translate.react.js
* Added better cleaning of pings in reaction (flag) translation
### 1.3.8-2
Date: 20/10/22
User: Qjuh
> ----------
>>> events.js
* Have RITA join all active Threads on startup and when new ones get created
>>> other
* Small Bugfixes related to discord.js v14 update
### 1.3.8-3
Date: 21/10/22
User: Qjuh
> ----------
>>> auto.js, translate.auto.js
* Added check for `process.env.ALLOW_FORUMS`, if it's not present tasks for Forum Posts can't be created and existing tasks aren't processed
>>> send.js
* Added a custom error for empty message sends to finally find out where they come from
### 1.3.24-0
Date: 26/01/23
User: Qjuh
> ----------
>>> Core Code Files
* Full rew-write to support ESM
* Move launch.js to deleted
* Changed last few properties to new system
* Converted to ESM
* Fixed bugs found when starting on pebble
* Multiple bug fixes
* Remove unused export
* Turned dashboard into ESM too (untested)
* Fixed bugs if missing permissions
* Fixed intents checks
* Eslint corrections
* Fixed permission check, resolves #89
* Fixed `!tr group link` bug
* Linted and fixed `!tr select` command
* Fixed codeblock translation
* Make yellow leave when blue joins
* Fixes gulpfile
* Updated Blue role BotID
* Added multiple Slash commands
### 1.3.24-1
Date: 27/01/23
User: Qjuh
> ----------
>>> db.js, events.js, send.js
* Added JSDoc's
>>> send.js
* Fixed stickers Bug
### 1.3.24-2
Date: 28/01/23
User: Qjuh
> ----------
>>> commands.js, misc.js, translate.react.js, db.js, translate.js, events.js, message.js
* Replaced `server_obj[id].servers.subscription` with `server_obj[id].subscriptions`
>>> Core Code Files
* Change to permission structures, These are checked in BitField and not each command
>>> choose_server.js
* Fixed !tr sub select menu
>>> send.js
* Fixed image sending in threads
### 1.3.24-3
Date: 02/02/23
User: Qjuh
> ----------
>>> db.js
* Fixed !tr stop for #channel taskCount calculation
* Fixed a `taskCount` bug
>>> eject.js
* turn `/eject` into `/warn eject`, add `/warn dm`
### 1.3.24-4
Date: 03/02/23
User: Qjuh
> ----------
>>> db.js
* Multiple Fixes of `taskCount` bug
Information about the 1.2.2 Update.
Rita now uses Discord.js V12.
Same channel translation is now working. You no longer need to have multiple channels set up, you can do it all in one channel.
Example !tr channel from english to spanish for #SameChannelMention
Will translate any English messages to Spanish in your current channel
AUTO Translate is now working, you can define the "from" language as "AUTO" and it will detect the language for you.
Example !tr auto to lang for #channel
So running !tr auto to en for #channel
will auto translate anything not in English to English for that channel.
DM Translations have been fixed and enabled, thanks to Artanis and Brozer.
You can enable this by running the following command !tr channel to de from en for @user
That will translate English messages to German for the user. Which they will receive in a DM.
Duplicate language translation bug is now fixed, meaning you can not translate English to English or French to French etc.
Various fixes to Nickname Bugs, this should now be working.
Desktop Client Gif keyboard caused error due to exclusive embed style.
google-translate-api
has been changed to RCP to reduce and mitigate the load limiter.
We have found a way to speed up the translation process, so it should be a little snappier in future.
New commands added (debug
, donate
, prefix
, help commands
, create
)
debug
Is for debug options. Examples below:
!tr debug on
- turns on debugging, creates debugging channel and webhook
!tr debug off
- turns off debugging
!tr stats debug
- prints webhook "ID" and "Token" in channel
donate
- If you would like to donate to RITA you can find the info with this command. Since RITA bot is 100% free donations are greatly appreciated to help with server costs. Examples below:
!tr donate
- Will return donation options
!tr donate github
- You can Donate at Github Sponsors
!tr donate oc
- You can Donate at Open Collective
prefix
- You can now change the prefix of your bot, you can make it whatever you want. Examples below:
!tr prefix
- Will list your current prefix. Default prefix is!tr
!tr prefix $tr
- your prefix would now be$tr
instead of!tr
!tr prefix reset
- resets your prefix back to!tr
So if you changed the prefix to$tr
you would run$tr prefix reset
help commands
- Shows a list of all available commands. Example below:
!tr help
create
- Allows you to use RITA to create a new channel. Example below:
!tr create bob
- will create a new channel named bob
Command Changed (stats global
, stats server
)
stats global
- Stat tracking of messages sent in global servers.stats server
- Stat tracking of messages sent in local server.
Command Removed (settings dbfix
, cpu
)
settings dbfix
- This is no longer needed as DB is repaired (If needed) on each startup.cpu
- It was broken and I have no idea how to fix it.
As the new variables above are stored in the DB, we have made a few changes to how these are handled and they are auto-created upon load. Meaning you no longer need to worry about them again. (If you get any error's please let us know)
Various Security vulnerabilities fixed.
Fixed various issues.
Major code changes
Dev Dependencies core to this bot, the google-translate-api
& google-translate-token
& gulp-watch
have been updated
Version Changes for 1.3.?-?
### 1.3.23-0
Date: 10/12/22
User: Zycore
> ----------
>>> Env Files
* Update backup env files
* Update dependancies
> body-parser ^1.19.0 → ^1.20.1
> canvas ^2.9.1 → ^2.10.2
> common-tags ^1.8.0 → ^1.8.2
> discord.js ^14.6.0 → ^14.7.1
> ejs ^3.1.6 → ^3.1.8
> express ^4.17.1 → ^4.18.2
> express-session ^1.17.2 → ^1.17.3
> iso-639-1 ^2.1.13 → ^2.1.15
> memorystore ^1.6.6 → ^1.6.7
> pg ^8.7.3 → ^8.8.0
> sqlite3 ^5.0.2 → ^5.1.2
> @babel/core ^7.17.10 → ^7.20.5
> @babel/eslint-parser ^7.17.0 → ^7.19.1
> eslint ^8.15.0 → ^8.29.0
> nodemon ^2.0.12 → ^2.0.20
### 1.3.23-1
Date: 10/12/22
User: Zycore
> ----------
>>> commands.js
* Change Last command pointer from .old to .run
the code in .old cause all data to be deleted from the object, Major bug.
>>> translate.last.js
* Commented out the .old method so it can be called by accident.
### 1.3.23-2
Date: 13/12/22
User: Qjuh
> ----------
>>> deploy-interactions.js, events.js
* added possibility for slashcommand files to have only dev-commands
>>> slashcommands/../announce.js
* Added `/announce [role:]` to send an announcement message to all servers, optionally only those whose subscription owners have the mentioned role in RMS
>>> slashcommands/../translate.js, core/translate.js
* Fixed import/export of discordPatch and translateFix methods used for `/translate {text} [from] [to]`
### 1.3.23-3
Date: 14/12/22
User: Zycore
> ----------
>>> bot.js
* Added auto deploy code of slash commands on each boot.
### 1.3.23-4
Date: 27/12/22
User: Qjuh, Zycore
> ----------
>>> translate.react.js
* Added exclusion/catch for await statment of emojio remove
>>> db.js
* Fixed task count for removal of tasks
* Values for chars_used and ml_chars_used are now set to 0 not 1.
>>> send.js
* Corrected a error catch to not log to console
* Added printout for 40005 error to source channel
>>> bot.js
* Removed auto deploy code of slash commands on each boot
>>> misc.js
* fix a object error with selection of counters.
### 1.3.23-5
Date: 10/01/23
User: Qjuh
> ----------
>>> translate.js
* Fix bug timestamps and slash commands
* eslint corrections
* regex Fix for code block detection
Here are some of the common questions that have been asked about the process.
Version Changes for 1.3.?-?
### 1.4.0-0
Date: 17/03/23
User: Qjuh
> ----------
>>> Bug Fixes
* args.js
> Removal of Default Server Language output (Unused)
* command.js
> Fixed URL Parsing
* translate.react.js
> Fixed variable on error for `Raction Failed`
* auth.js
> Type correction for botOwner constant
* db.js
> Refactoring of return statments
* message.js, events.js
> Fix for thread support
* slashcommands.js
> subCommand correction
* All files
> Corerction of `msg:` to `description:` for logger messages
> Removal of all `function error (err)` calls to logger.js
* eslint Corrections
### 1.4.0-1
Date: 19/03/23
User: Qjuh
> ----------
>>> choose_server.js
* Fixed taskcount being "0" instead of 0, logger fix
>>> join.js, settings.js
* Removal of all `function error (err)` calls to logger.js
### 1.4.0-2
Date: 30/03/23
User: Qjuh
> ----------
>>> translate.auto.js
* Fixed Auto task count bug
### 1.4.0-3
Date: 31/03/23
User: Qjuh
> ----------
>>> send.js
* Improve DM error logs
### 1.4.0-4
Date: 04/04/23
User: Qjuh
> ----------
>>> send.js
* Fixed sendembeds in embedOn mode
### 1.4.0-5
Date: 05/04/23
User: Zycore
> ----------
>>> settings.js
* Removing Protected Code
>>> helpers.js, events.js
* Added varaibles for `REDCATED` plan and `REDCATED` plan to `getMaxChars`
>>> lang.check.js
* New languages added
> LANGUAGE CODE
> Assamese as
> Aymara ay
> Bambara bm
> Dhivehi dv
> Ewe ee
> Guarani gn
> Javanese jv
> Kinyarwanda rw
> Lingala ln
> Oriya or
> Oromo om
> Quechua qu
> Sanskrit sa
> Tatar tt
> Tigrinya ti
> Tsonga ts
> Turkmen tk
> Twi (Akan) ak
> Uyghur ug
Information about the 2.0.0 Update.
Over the last year, we have been hard at work integrating Stripe subscription and payment process, With a dedicated DASHBOARD to allow you to manage your subscription,
Manage every aspect of your RITA subscription past, present, and future,
We now offer Bi-monthly subscriptions, allowing you to pay for 2 months in advance,
Role-based subscriptions are so RITA 1.0.
Thanks to our dashboard integration we know who you are and which discord account to link with at the point of sale. Click, Pay, Go,
Modify server settings such as embed style, reaction translation etc.,
Select the translation engine you want
100% Machine Learning
Optimized
Normal
Built with Stripe in mind. (More about Stripe below),
Contact Support directly from the Dashboard,
These are just some of the current features. Expect increased functionality in the Dashboard as we continue development!,
Just login and get started! Current subscriptions with Patreon will appear, but you can buy new Dashboard subscriptions
We will be expanding the features available to users in the dashboard as we continue development, For now, the core functions and most important ones are available to use.
You can choose to pay on the 1st of each month like we currently offer, or the same day you subscribe, free to choose.
You will be able to see all your subscriptions in one place.
You can modify server settings such as embed style, reaction translation etc.
What is a Dashboard?
The RITA Dashboard is a website in which you login with your Discord account and can oversee all your RITA servers, access the billing portal, and buy new plans,
Will 'I' need to do anything to keep using my current paid version of RITA?:
No, we do suggest converting any current Patreon subscriptions to Stripe via the Dashboard when it makes sense for you.,
Cancelling your Patreon subscriptions gives you access until the first day of the next month, so you should cancel and resubscribe via the Dashboard on that renewal date.,
Will 'I' need to pay more for the Dashboard?:
Nope! If anything, you’ll pay less with an assortment of promotion codes we will be handing out to encourage people to move over.,
Is it free to upgrade/switch to RITA v2?
Of course, RITA updates will always benefit all subscribers and not paywall optimizations
This is the first release of our dashboard, we expect bugs, we know we can add more and we are ready for the work. Please make sure you let us know of any issues you have, and any suggestions and give honest feedback.
Great news for any RITA users who speaks Spanish, Italian, Portuguese, Russian, Simplified Chinese, or Turkish
Once you've set the server's language to one of the above,
Or after checking that your Discord client's location is set to one of those above locals,
RITA's slash commands will now be in those languages,
More language support in the Slash Commands to follow!
Reply function: These are now translated across channels just like the original message.
Style: you can now prefix the message with the source language Emoji
Slash commands: Most of the core function commands are now available as slash commands.
Our Dedicated ML server got some upgrades, increasing performance and resulting in reduced downtime (if you ever felt it),
Improved redundancy and fall over protection for RITA.
Database Changes, are not important for you, but important for us.
We made several changes to the way we store and manage data.
Improve efficiency in our Database code allowing for more agile adding in new functionality.
Improved testing to development behavior before pushing changes to our production environment, making sure every change made in our code won't lead to downtime.
Code refactoring: to answer your queries quicker.
As a result of our downtime in April, we have new private servers.
Our new private server also hosts our backend code, dashboard code and ML Engine,
Over 300 commits to our code base
A HUGE Thank you to the entire RITA Team. Without each of you RITA wouldn't be what it is today!
Thanks to you all the RITA users! It's our pleasure to keep making RITA better and better. I can't wait to see what RITA 3.0 will look like!
As always we are available to answer any questions you have or assist with troubleshooting any issues.
CHECK BACK LATER FOR MORE INFO.
The following Interpretations and Definitions apply to the following Policies
Terms of Service (TOS)
S.A.L.T.S Policy
Privacy Policy
Refund Policy
The words of which the initial letter is capitalized have meanings defined under the following conditions. The following definitions shall have the same meaning regardless of whether they appear in the singular or in plural.
For the purposes of these Terms Of Service/s:
Account means a unique account created in the service Discord used to access our Service.
BITA refers to the BETA Version of RITA. Unless otherwise stated BITA shall be bound by the same Policies, Conditions, Processes and TOS as RITA. BETA is an invite only closed testing platform used to test new functions for RITA and operated under an NDA.
Company (referred to as either "the Company", "We", "Us" or "Our" in this Agreement) refers to RitaBot.
Cookies are small files that are placed on Your computer, mobile device or any other device by a website, containing the details of Your browsing history on that website among its many uses.
Country refers to: United States, the EU, and more.
Device means any device that can access the Service such as a computer, a cellphone or a digital tablet.
Discord refers to Discord LLC's service, "Discord" (not associated with RitaBot or our Service.)
Features are defined as a single or group of functions, commands, tools or resources provided by RitaBot for use on or with our Service.
Language pairs is defined as the combination of source language and destination language of a translation request sent via our service.
ML is defined as RMT's Proprietary Machine Learning Translation Engine
Personal Data is any information that relates to an identified or identifiable individual.
Privacy Policy as defined Here.
Refund Policy as defined Here.
RitaBot, RITA/Rita, RitaBot Dev Team are all references to the Services provided.
RitaBot: The Company that owns all assets associate with RITA and her Features and Services
RITA/Rita: Is the term used to define the Discord Bot, pronouns are also used in conjunction, these are She/Her
RitaBot Dev Team: The Owners of RITA and the Development Team Associated with Her
RMT: Refers to RITA Management Team, Also known as RitaBot Dev Team.
RMS: Refers To the RITA Management Server. This is the Discord Server where RITA is managed from and where user support is provided.
S.A.L.T.S as defined Here.
Service refers to the translation services provided by RitaBot.
Service Provider means any natural or legal person who processes the data on behalf of the Company. It refers to third-party companies or individuals. employed by the Company to facilitate the Service, to provide the Service on behalf of the Company, to perform services related to the Service or to assist the Company in analyzing how the Service is used.
TOS/Terms of Service as defined Here.
Usage Data refers to data collected automatically, either generated by the use of the Service or from the Service infrastructure itself (for example, the duration of a page visit).
Website refers to RitaBot, accessible from https://ritabot.gg
You, User, They, TRIAL User, Subscriber, Subscription Owner: means the individual accessing or using the Service, or the company, or other legal entity on behalf of which such individual is accessing or using the Service, as applicable.
Version Changes for 1.3.?-?
### 1.3.9-0
Date: 23/10/22
User: Qjuh
> ----------
>>> various files
* Removed unneccessary eslint disables
* Moved some disables to next-line disables to not affect the whole file
>>> args.js
* Changed for..in to for..of and removed the eslint-disable
>>> join.js, event.js
* Removed the unused config parameter for guild join
>>> purge.js
* Commented unused `target` variable, made the function synchronous
>>> sub.js
* Backported the changes to addsub->subadd and removesub from development branch for manual dev-override subscriptions
>>> helpers.js
* Added `awaitMessage` function, was in translate.group_auto.js before, now used by that and sub.js
>>> translate.group_auto.js
* Removed unused `groupName` parameter from `listGroups` function
>> send.js
* Merged redundant webhook.send calls into one call (yes, I touched it again)
>>> translate.js
* Removed unused `guild` parameter from `bufferChains` function
* Changed `bufferChains` to use `translationHandler` too, instead of using Google Translate always
>>> deploy-interactions.js, slashcommand.js, slashcommands/../settings.js, slashcommands/../group.js, slashcommands/../translate.js, slashcommands/../check.js
* Added handler for slashcommands
* Changed deploy script to dynamically deploy commands that exist in slashcommands folder
* Added `/settings`, equivalent to `!tr settings` and its subcommands `reactpersist`, `menupersist`, `flagpersist` and `reset`, as well as `prefix` (ironic, I know), `bot2bot`, `embed`, `react`. Also has `/settings devreset` which accepts a serverId as option, but won`t be deployed globally, only to support server with needing Administrator permission per default to even appear and safeguarded as isDev internally.
* Added `/group`, equivalent to `!tr group` and all its subcommands
* Added `/check`, equivalent to `!tr check` and its subcommands, including a support-server only `/check server` command accepting a serverId as option, needing Administrator permission per default to even appear and safeguarded as isDev internally.
* Added `/translate` command, equivalent to `!tr this`
* These won't show unless deploy-interaction.js is run (which we shouldn't until we want to release them)
>>> message.js
* Fixed small bug not showing serverId of blacklisted server in redundancy check
### 1.3.9-1
Date: 24/10/22
User: Qjuh
> ----------
>>> misc.js
* Added response for `!tr taskfix` command
>>> eject.js, command.send.js, send.js, db.js
* Moved increment of server_obj values to `increaseServersCount()` function
>>> country.langs.js
* Removed `rm` from `ch` flag
>>> db.js
* Switched order of some db calls to make sure the values we use still exist when we use them
* Moved another server_obj update to a `updateServerObj()` call
>>> helpers.js
* Fixed `subExpired()` and `checkSubActive()` functions according tp dev branch
>>> send.js
* Merged embed send if/else into one, according to dev branch
>>> args.js
* Fixed usage of `subadd` instead of `addsub`
### 1.3.9-2
Date: 25/10/22
User: Qjuh
> ----------
>>> send.js
* use attachments collection directly instead of converting to array
* added some ?. for safety
* simplified servertags check
Last updated: April 22, 2022
This Refund Policy describes our policies regarding the handling of refunds in general and does not serve as a legal base, nor is it approved by professionals. It is used to lay down the foundations for any decision made upon requests. Any point listed here might be a reason for permitted initiations of any refund.
The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located Here.
Refunds for payments may be issued when the user requests it and one of the following requirements is met:
it's the first payment and the user requests a refund on the same day (Usage Exception Applies)
it's a monthly recurring payment and the user requests a refund within a three day period (Usage Exception Applies)
it's an annual recurring payment and the user requests a refund within a seven day period (Usage Exception Applies)
A major premium feature was removed and the user bought the tier specifically because of that feature
Users who subscribe via Patreon are charged as soon as you sign up. Patrons' payments are recurring on the 1st of every month after that. This mean you are charge for the month (January, February ect), not a month (30 Days) of access.
Each charge for the month gives them membership access for that month. For example,
You subscribe to RITA on the 1st January, this payment gives you access throughout the rest of January. Your next payment is 1st February then 1st March ect ect.
You subscribe to RITA on the 15th January, this payment gives you access throughout the rest of January. Your next payment is 1st February then 1st March ect ect.
Users who subscribe via Kofi are subject to recurring billing. You are charged as soon as they sign up. KOFIs' payments are recurring on the same day of every month after that. This mean you are charge for a month (30 Days), not the month (January, February ect) of access.
Each charge for the month gives them membership access for 30 days. For example,
You subscribe to RITA on the 1st January, this payment gives you access until 1st February. Your next payment is 1st February then 1st March ect ect.
You subscribe to RITA on the 15th January, this payment gives you access until 15th February. Your next payment is 15th February then 15th March ect ect.
Listed below are other possible reasons that might permit a full or prorated refund.
Any kind of unauthorized transaction that was not undertaken on your behalf but financially affects you.
A situation in which you are not successfully receiving or are unable to access promised premium features.
Service uptime of less than 80% (24 Days in a rolling 30 day period) due to maintenance, takedown, core functionality issues or other services under the direct control of RitaBot or the Rita Bot Dev Team.
All/Any of the reasons above require viable proof to be accepted as possible inquiries for the initiation of a refund.
Below listed are situations in which any kind of refund will not permit a full or prorated refund.
Any situation in which you actively or passively forgot to cancel your ongoing subscription, and it's passed the subscription exclusion timeframe listed above.
Downtime caused by 3rd Party Service Providers, Including but not limited to, Discord, Heroku, Paypal, Stripe, PebbleHost, Domain Controllers and DNS Providers.
You are a Patreon user and have had the second payment of a recurring subscription taken/renewed on the 1st of the month. As this is Defined during the purchase process, regardless of the date of the first payment you are charged for the month (January, February ect) not a month (30 Days).
Please note that all refund requests are handled on a case by case basis, however, the reasons above may prohibit responses to refund requests.
IF you have activated RITA, defined in our SALTS Policy #Activation, and have used RITA service with a Character count exceeding 10,000 Character, you will NOT be eligible for a refund under any circumstance. to see your character count type "!translate stats" in your server.
All Donations, Made on any of the accepted payment platform we use are Non-Refundable with the exceptions of,
Any kind of unauthorized transaction that was not undertaken on your behalf but financially affects you.
All/Any of the reasons above require viable proof to be accepted as possible inquiries for the initiation of a refund.
If you choose to or threaten to chargeback, we reserve the right to ban and/or blacklist you from the bot. This includes but is not limited to:
Immediate termination of service
Permanent and non reversible ban
Support requests will not be answered
Guild ID is excluded from the usage of our service indefinitely
Performing a chargeback on behalf of the payment processor your transaction was handled through, without contacting or attempting to contact RitaBot, In most situations means we can, and will, fight such cases to dispute the chargeback.
Financial Transactions and Decisions are handled by a single member of staff, Responses to such requests will be given within 72 hours, between 8 am and 9 pm GMT, Excluding bank holidays and public holidays. We still require a comprehensible explanation of the situation and never guarantee a refund, except as listed in the subscription exclusion timeframe listed above. Partial refunds might be issued for annual payments under special circumstances.
Refunds are never issued if you have broken our Terms of Service and therefore lost access to certain or all features.
If you believe your situation is viable for a refund you may wish to contact us via one of the ways listed below.
From the email address related to the Discord account that is affected if accessible. Just send us a descriptive message to [email protected]
On our Discord support server with the Discord account that is affected if accessible.
In any private ticket/message with a staff member from the RitaBot team.
This is a Guide on how to subscribe on Patreon
Starting from June 2025 we now strongly recommand you to subscribe on RITA Dashboard instead of Patreon (process is easier)
This documentation remains here for people who didn't switched yet.
On Patreon, you can let your fans become active participants in the work they love by offering them a monthly membership. You give them access to exclusive content, community, and insight into your creative process. In exchange, you get the freedom to do your best work, and the stability you need to build an independent creative career.
Navigate to Patreon
Select the plan that you wish to use by pressing Join
If you have an account with Patreon already, please select Log-In from the bottom of the page.
If you don't have an account, You can Sign up with Google or Facebook or you can fill in the form and select Sign Up when you are done
For those creating new accounts. Confirm your Country of Residence
NOTE: DON'T FORGET TO VERIFY YOUR EMAIL
For those paying with a card, Select that option and fill out your details to process your payment.
Selecting Pay with Card will then process through and you will receive a confirmation by email.
For those paying with PayPal, select this option, and then Pay with PayPal. You can then sign into PayPal.
Once you have signed in, confirm your payment method and then Agree and Continue
As soon as you select continue as per the previous step, the payment will process and you will get a confirmation on screen that you were sucessful.
You can now link your Discord account to your patron. Scroll down until you see Connect to Discord. You can then sign in to discord and receive your roles.
Now you have a subscription with RITA, you can link your discord to get Roles. To do this either select Connect to Discord on the confirmation page, or go to your profile:
Profile > Edit Profile > Connected Apps
Select Connect on the Discord option
Sign in as you normally would. Then select Authorise to confirm
To cancel a subscription, you will need to do this from within Pateon.
Sign into Patron
Navigate to your profile Menu
Select Manage Memberships
Locate RITA under Active Memberships
Select Edit for the RITA membership
Select Edit for Cancel Membership
Select the Cancel your Membership option
Select the black Cancel your Membership button to confirm
Your membership will now be cancelled subject to Pro-Rata. This means your membership will end at the end of the month you paid for. If you have any issues or concerns, please open a ticket in the RITA Management Server.
Information about subscribing to RitaBot services. Please make sure to read the entire page before proceeding with buying a subscription to clear up any possible future confusion.
If you are subscribing through the , there is no need to be on our Discord Server unless you want some help.
If you are subscribing through , in order to subscribe to RitaBot, you must be on our . Subscriptions are role-based with patreon, meaning that Rita updates subscriptions based on which roles you have been given by the payment platform (which tier you have bought). If you leave the server, Rita will cancel your subscription at the end of a one-month period from the last subscription date, even if your subscription is still active.
There may be times RitaBot ceases to function, in which the procedure for us will be to verify the problem and fix it as soon as possible. We are not responsible for any issues this may cause.
Furthermore, there may be times of maintenance in order to improve and exceed Rita's capabilities. In line with our , We aim for a service uptime of >80% (24 Days in a rolling 30-day period) of core functionality.
Currently, only the server owner or admin can buy a subscription for a server.
In order to activate your subscription with the dashboard, you can just click on the subscription and choose the server you want to link it to
To activate your subscription after you have paired your Discord Account to your payment, you must run the /sub
command in any channel of your server. After you do so follow the prompts to activate your subscription for the specific server.
In order to subscribe and maintain said subscription with Patreon, you MUST be on our . If you cannot or are not, your subscription will be canceled at the end of a 1-month period from the last verification date (the last 1-month period from the subscription start where the subscription was confirmed).
In order to provide a virtually "unlimited" pricing model, we've incorporated soft limits into Rita. Essentially, each tier has X amount of chars per month that will be translated with Google. Meanwhile, all other translations will use our own Neural Machine Translation server.
With RITA subscriptions, whatever is your tier, you have unlimited number of chars translated. Only the underlying translation engine will change depending of your usage and your tier.
While we are working hard to make our own translations as seemingless as ever, Google translations will be similar/better than ML translations simply due to Google's resources
We are working to provide clarifying examples of quality for language pairs to be as clear as possible
To clarify; all tiers are still unlimited character wise.
The only difference shall be if you've used more than the soft limit for your tier in a month, then all other translations will use our ML until month is reset.
The only difference between our plans at the moment, and for the foreseeable future is the task limit that you are restricted to. If this changes however we will let you know, You won't lose access to anything you don't already have.
A task is a singular channel setup for automatic channel translation. Tasks are simply the setup, not the usage. For example; 1 channel translating from English to French counts as a task. As you add more languages to an interconnected language setup, the task utilization increases exponentially.
You can calculate how many tasks you use for each channel by using the amount of languages (including source) you want to have for that channel in the equation x * (x-1)
Reaction translation, utilisation of tasks, or anything else do not count towards task count
Only the group
, auto
, and channel
commands contribute to task count
Task Limit
100
200
350
Soft Limit (characters)
~200k Google
~450k Google
~700k Google
Character Limit (backed by ML)
Unlimited
Unlimited
Unlimited
In Effect Fom: June 06, 2025 / Last updated: June 05, 2025
This Refund Policy describes our policies regarding the handling of refunds in general and does not serve as a legal base, nor is it approved by professionals. It is used to lay down the foundations for any decision made upon requests. Any point listed here might be a reason for permitted initiations of any refund.
The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located Here.
Refunds for payments may be issued when the user requests it and one of the following requirements is met:
it's the first payment and the user requests a refund on the same day (Usage Exception Applies)
it's a monthly / bi-monthly / quarterly recurring payment and the user requests a refund within a three day period (Usage Exception Applies)
it's an annual recurring payment and the user requests a refund within a seven day period (Usage Exception Applies)
A major premium feature was removed and the user bought the tier specifically because of that feature
Users who subscribe via Patreon are charged as soon as you sign up. Patrons' payments are recurring on the 1st of every month after that. This means you are charged for the month (January, February ect), not a month (30 Days) of access.
Each charge for the month gives them membership access for that month. For example,
You subscribe to RITA on the 1st of January, this payment gives you access throughout the rest of January. Your next payment is 1st of February then 1st of March ect ect.
You subscribe to RITA on the 15th of January, this payment gives you access throughout the rest of January. Your next payment is 1st of February then 1st of March ect ect.
Monthly recurring billing cycle avaliability may be subject to change.
Users who subscribe via Stripe are charged as soon as you sign up. There are currently two allowed methods of billing cycle methods:
Monthly recurring:
You subscribe to RITA on the 1st of January, this payment gives you access throughout the rest of this billing cycle, Your next payment is on the 1st of February then the 1st of March ect ect.
You subscribe to RITA on the 15th of January, this payment gives you access throughout the rest of this billing cycle. Your next payment is 15th of February then 15th of March ect ect.
Recurring on the 1st of each month:
You subscribe to RITA on the 1st of January, this payment gives you access throughout the rest of January. Your next payment is 1st of February then 1st of March ect ect.
You subscribe to RITA on the 15th of January, this payment gives you access throughout the rest of January. Your next payment is 1st of February then 1st of March ect ect.
Selecting this billing cycle will pro-rata your initial payment for the remaining number of days in the month.
Listed below are other possible reasons that might permit a full or prorated refund.
Any kind of unauthorized transaction that was not undertaken on your behalf but financially affects you.
A situation in which you are not successfully receiving or are unable to access promised premium features.
Service uptime of less than 80% (24 Days in a rolling 30 day period) due to maintenance, takedown, core functionality issues or other services under the direct control of RitaBot or the Rita Bot Dev Team.
All/Any of the reasons above require viable proof to be accepted as possible inquiries for the initiation of a refund.
Below listed are situations in which any kind of refund will not permit a full or prorated refund.
Any situation in which you actively or passively forgot to cancel your ongoing subscription, and it's passed the subscription exclusion timeframe listed above.
Downtime caused by 3rd Party Service Providers, Including but not limited to, Discord, Heroku, Paypal, Stripe, PebbleHost, Domain Controllers and DNS Providers.
You are a Patreon user and have had the second payment of a recurring subscription taken/renewed on the 1st of the month. As this is Defined during the purchase process, regardless of the date of the first payment you are charged for the month (January, February ect) not a month (30 Days).
Please note that all refund requests are handled on a case by case basis, however, the reasons above may prohibit responses to refund requests.
IF you have activated RITA, defined in our SALTS Policy #Activation, and have used RITA service with a Character count exceeding 10,000 Character, you will NOT be eligible for a refund under any circumstance. to see your character count type "!translate stats" in your server.
All Donations, Made on any of the accepted payment platform we use are Non-Refundable with the exceptions of,
Any kind of unauthorized transaction that was not undertaken on your behalf but financially affects you.
All/Any of the reasons above require viable proof to be accepted as possible inquiries for the initiation of a refund.
If you choose to, or threaten to chargeback, we reserve the right to ban and/or blacklist you from the bot. This includes but is not limited to:
Immediate termination of service
Permanent and non reversavble ban
Support requestswill not be answered
Guild ID is excluded from the usage of our service indefinitely
Performing a chargeback on behalf of the payment processor your transaction was handled through, without contacting or attempting to contact RitaBot, In most situations means we can, and will, fight such cases to dispute the chargeback.
Financial Transactions and Decisions are handled by a single member of staff, Responses to such requests will be given within 72 hours, between 8 am and 9 pm GMT, Excluding bank holidays and public holidays. We still require a comprehensible explanation of the situation and never guarantee a refund, except as listed in the subscription exclusion timeframe listed above. Partial refunds might be issued for annual payments under special circumstances.
Refunds are never issued if you have broken our Terms of Service and therefore lost access to certain or all features.
If you believe your situation is viable for a refund you may wish to contact us via one of the ways listed below.
From the email address related to the Discord account that is affected if accessible. Just send us a descriptive message to [email protected]
On our Discord support server with the Discord account that is affected if accessible.
In any private ticket/message with a staff member from the RitaBot team.
Important Annoucement Shared Via Discord
PLEASE NOTE: This Update was accurate at the time of sharing. Please refer to our Support documentation to ensure accurate and up-to-date information is known, If you have any questions or concerns please join our Discord Server and someone will assist.
The following explains new additions to our newest release of Rita (v.1.4.1) which will be released in the coming days/weeks
As a result of growing usage and utilization of Rita, we've had to adopt new ways to provide our service to keep her cheap and affordable. For months we've been developing neural machine translation capabilities to offset translation costs.
Each different tier has a max "google" limit, in which once you reach the "max" amount of characters respective to your tier, your translations will no longer use Google but use our ML server.
Don't worry, all subscriptions shall continue to be unlimited.
While we have worked and continue to work hard to make the difference between the two seamingless, there will always be issues.
Google will usually be more accurate, but with more utilized language pairs (such as en-ru) the difference shall be less significant.
To improve Rita's translation ability, translation data will be collected. This data is completely anonymous and will never be able to be traced back to you. Only authorized admins/developers have access to this data.
Using this data, we will be able to increase our translation accuracy significantly for slang, less-used languages and many other things to make these changes seem even more seamless.
ava
Currently it is not possible to opt-out of this data collection due to it being completely anonymous, but if this is a concern feel free to contact us and we will accommodate you the best we can.
You can increase your soft Google character limit by upgrading your tier of subscription on Patreon (suggested that Kofi users switch to Patreon). If you have any queries or requests feel free to open a ticket in our support server.
We've had to push these changes in order to keep RITA a reality, so there are some issues she has while handling emoticons, lists, short sentences/phrases, slang, and profanity (in less-used languages) etc; This is being worked on and new systems are being devised to attend to these issues ASAP.
Google soft limits are as follows;
* Casual plan: ~200k characters every month
* Tinkerer plan: ~450k characters every month
* Pro plan: ~700k characters every month
Once/if you reach these limits, your translation provider will simply switch from Google to our ML server.
If you require a higher number of Google characters per month, please open a ticket to discuss a custom plan
Ex. You use 700k characters next month with the "Casual" plan (100 tasks) - 200k of that would use google, and the other 500k characters are translated with ML. Then on renewal date, the character count resets. If you have any questions or concerns, feel free to open-a-ticket As always, thank you for using RitaBot and supporting us, - The RitaBot Team
Goodbye Patreon, Hello Stripe! Over the last year, we’ve rebuilt our subscription engine on Stripe and wrapped it all up in a sleek, self-service Dashboard. From here you can:
Manage every aspect of your RITA subscription: past, present, and future
Choose Bi-monthly billing (pay for 2 months at a time), as well as select being billed on the 1st (prorated) or same day as your signup date.
Link your Discord account easily to your subscriptions by just logging in.
Modify subscription server's settings (embed style, reaction translation, bot2bot mode) as well as select which server your subscription(s) are assigned to
Pick your translation engine:
100% Machine Learning
Optimized
Normal
…and many more exciting features to come!
Log in and configure your session
Visit the RITA Dashboard in your browser
Click the "Login with Discord" button and authorize the application with your Discord account.
Upon logging in, you will be taken to the "Manage RITA" page. Please note that the side menu includes a dropdown to select the language that is most comfortable for you.
Manage RITA
Upon successful login, you're taken to a Management page
This page gives you an overview of your current subscriptions and where they're assigned. If you do not have any subscriptions, a general promotion page will be shown instead.
To modify a specific subscription, you must select it by clicking and successfully highlighting the relevant subscription row.
Example page
A general overview of some character stats, and settings relating to the subscription and the assigned server are displayed when selecting each subscription.
This will be important later when you want to assign your new subscription to your server.
Purchase a New Plan
Click the "Subscribe" menu item to take you to the checkout page.
This checkout page is where you will configure your new subscription(s)
You can configure if you want to pay on a Bimonthly (2 months) or monthly interval
You can also configure the renewal date to be the day you subscribe, or the first of every month
Note: Your first payment only pays for the days left in your first billing cycle, not simply the sticker price (only relevant if you anchor renewal to the 1st)
These buttons are what you use to change your renewal/interval options, and they are reflected in the prices and renewal dates in each tier box.
Once you have configured the quantity, the interval of the subscription, and the renewal date (if that is relevant to you), click "Subscribe" on the tier that you want
Example: If I want 1 Tinkerer subscription
You will be taken to a checkout page, where you will enter your billing details. Upon successful payment and verification, you will be routed back to the dashboard.
In the checkout page you can apply various coupons, such as our new Dashboard promotion code: 3MONTHS10
for 3 months at 10% off.
Upon successful payment, a new subscription will appear in the Dashboard. If it hasn't, refresh the page until it does.
If a new subscription does not appear, it is possible that something went wrong. Please check your email, and if you are unable to resolve it, open a ticket in the RITA Support Server.
From here, you can click on the new subscription and assign it to any available server that is not subscribed. If you want to assign it to a server that is subscribed, you will have to run /sub
in your server and select the new subscription from the dropdown.
You’re done! Your plan will activate immediately upon being assigned to a new server that RITA is in.
Assigning servers to a subscription via the Dashboard has been reported to be buggy. Upon returning to Discord, you should run /sub
as a precaution to ensure RITA is correctly assigned to your server.
RITA only requests necessary permissions upon login, which include your Discord email (for billing and notification purposes) and the guilds you are in (to filter which guilds you can assign your subscription to)
Subscription Overview See all subscriptions (active, past, upcoming) in one place
Billing Controls (via Portal button or /billing
)
Upgrade/downgrade plan
Change billing interval
Cancel plan
Server Settings
Embed style (light/dark)
Reaction translation toggle
Bot2bot mode toggle
Support & Feedback
We encourage any feedback, bug reports, or suggestions that could improve the process
For bug reports, please open a ticket
For suggestions, please submit a message in our Support Server suggestions channel.
The RITA Dashboard is your one-stop website for managing servers, billing, and support—powered by Stripe and tied to your Discord account.
You don’t have to immediately, but we recommend switching over on your next renewal date to take advantage of:
Lower subscription rates (especially for non-USD subscriptions)
Promo codes & discounts
Better self-service controls (via the /billing
cmd, a.k.a the Stripe Billing Portal)
Cancelling Patreon gives you access until the end of your current paid period. Then simply re-subscribe via the Dashboard and assign your new subscription to your old server with /sub
.
From the 10th of June to the 15th of June, we will refund any June payments for Patreon subscribers who transition to the dashboard.
Nope! In fact, we’ll roll out exclusive promo codes for early movers. You may even pay less than you do on Patreon today.
Absolutely. All existing RITA optimizations, bugfixes, and new updates (v2, v3…) won't be limited ever based on tier.
Join our Support Server and open a ticket, we'll get on it ASAP.
This is our first Dashboard release, expect a lot of tweaks and new features soon
Welcome aboard, and thank you for being part of the RITA journey!
We do suggest you to use Group Translations instead of Channel Translation as it's easier to create and to maintain
Automatically translates any new messages in the current channel and forwards them to the target channel. Admins/mods can set forwarding to the same channel(not recommended) or other channels(recommended).
Please note that when you setup an auto command the target channel will not send back to main channel unless you tell it to
/auto
to create a task to translate from one channel to the other, from one lang to a target language
/stop task
to delete an existing tasks (they will be listed, just pickup the one you want to remove)
/stop server
will remove all tasks of the server : be carefull and check that it's really what you want
/stop channel
will stop all tasks for the channel choosen
!tr channel from [lang] to [lang] for #[dest]
!tr auto to [lang] for #[same channel dest]
!tr channel from [lang] to [lang] for #[dest] filter @[role]
for [dest]
The target channel you want the translation of the from [lang]
to go to.
to [lang]
(optional)
The language to translate to, defaults to server default language if none provided.
from [lang]
The language to translate from.
filter [role] can be used to restriction translation to a specific role.
NOTE : Auto is for a single ( same channel ) translations, as photos, and Gifs, will not be duplicated or sent.
Using full language names
!tr channel from english to spanish for #target-channel
!tr auto to spanish for #current-channel
Using language short codes
!tr channel from en to es for #target-channel
!tr auto to es for #current-channel
Using Auto detection
!tr auto to ru for #current-channel
Send translations to same channel ( Not recommended for more than 3 languages )
!tr channel from english to spanish for #current-channel
!tr auto to spanish for #current-channel
Send translations to another channel in server ( Recommended )
!tr channel from english to spanish for #target-channel
!tr channel from english to spanish for #target-channel
!tr auto to spanish for #current-channel
Send translations to multiple channels in the server at once
!tr channel from english to spanish for #target-channel-es1, #target-channel-es2, #target-channel-es3, #target-channel-es4
!tr channel from english to spanish for #target-channel-es1, #target-channel-es2, #target-channel-es3, #target-channel-es4
To stop an automatic translation task, simply go the origin channel of the task and use the stop command:
!tr stop
!tr stop task [id!tr stop for [me]
!tr for [@user]
!tr stop for [#channel]
!tr stop for [all]
!tr stop for [server]
[id], ID number for the task you want to stop, run !tr tasks to get id.
for [me] - Stops translations via DM to yourself.
for [@user]
- Stops the task for user.
for [channel]
- Stops the task from the channel posted to the channel destination.
for [all] - Stops all translations in the channel its posted in.
for [server] - Stops all translations being done in your server.
Stop all automatic translations
!tr stop task [ID]
Stop a single task by running !tr task, and taking note of the ID of the item to remove.
!tr stop for [@UserID]
Stop a translation being sent to a user.
!tr stop for #target-channel
Stop all automatic translations for specific channel in server
!tr stop for all
Stop all automatic translations for the channel.
!tr stop for server
Stop all tasks in the server.
Help command for stop: !translate help stop
Help command for automatic translation: !translate help auto
.
Values wrapped in brackets [ ]
are solely for illustrative purposes to demonstrate the use of the command. Brackets are not in any command.
[lang]
values can be language names in English, native language names or ISO 639-1 codes. For example, german
de
and deutsch
will all work the same.
Messages by all bots are currently ignored to avoid loops, but we are working on different bot modes to enable bot translation.
Any message that begins with !tr
or !translate
will be determined to be a bot command and thus shall not be allowed to be translated.
Upcoming Changes to RITA and what we have been doing.
PLEASE NOTE: This Update was accurate at the time of sharing. Please refer to our Support documentation to ensure accurate and up-to-date information is known, If you have any questions or concerns please join our Discord Server and someone will assist.
It has been a while since the last update, and we have been working in the background on a lot of little things, So here are some updates for you.
* We have automated and streamlined our build pushes, now when we commit a build and it passes CI, a Restart will pull the update and the bot will load this new version.
* We have introduced a TRIAL Function, See below for more info.
* We have added 2 New Tiers for you to take advantage of, See below for more info.
* Our Debug and console messages have been cleaned up to allow for the identification of errors and contain more detail we need to source the issue and resolve it.
* We have greatly improved our Machine Learning Language Detection Algorithm, See below for more info.
* A Change was made to better support Custom Emoji and Server Emoji across RITA. A message should now show these in Translations.
* Fixed an issue with attachments embedding in auto tasks.
COMING SOON - THIS IS NOT YET ACTIVE - COMING SOON
Yes, Yes, thats correct. We will soon have a trial Function.
* We will be introduceding a TRIAL Function allowing user to Try-Before-They-Buy.
* User do not need to be in RMS (RITA Managment Server) or patreon Account for it to work.
* If a user has an active sub already then the TRIAL wont Work.
* The TRIAL is Limited to 1 Trial Per Server Per User.
* TRIAL Users can create a maximum of 25 tasks and use 10k Characters across our ML Engine and Google API.
To Activate a user just needs to invite RITA and run the TRIAL Command. !tr trial
COMING SOON - THIS IS NOT YET ACTIVE - COMING SOON
We heard you when you said that 350 tasks are not enough on our PRO Plan, and when you said that you don't need Channel Translation and only use Reactions, so we have a solution.
Reaction TIER - Do you just need the odd sentence or post translated here and there, You can translate as much as you want but flag reaction only, meaning you need to add a flag emoji to each message to translate it.
* Unlimited Flag Translations
* 0 Channel to Channel Translations
* 100k Characters Google API Limit
Ultima TIER - Our "Ultima" Plan is the highest plan we offer, with 550 tasks, and BITA Access for 1 Additional server, Allowing you to coordinate and translate even the largest servers going.
* 550 Channel to Channel Translations
* 800k Characters Google API Limit
* Early Access to Development Features
* 1 Additional Server Support for our BITA Bot (See Below)
OUR BITA Bot is a Testing and Development Platform, As such we test new functions and features on this BOT before launching on RITA. BITA only supports a handful of Languages so please reach out for information and to check if it will be suitable for you.
We understand that not everyone that uses RITA understands English, so were trying to make it easier for you and your users. Starting now we are building, testing and trialing a Language Localisation System within RITA. Meaning all of her commands, Repsonces and prompts will be in the default language of your server.
Here is a Examplpe:
Now this function is extremely Experimental, and in the early stages of development. But we wanted to share this with exciting step we are taking with you.
In the coming week's we will be allowing community to support in translation efforts, with those who help us in our desired language receiving free RITA subscriptions from us as a thank you. We need to work out the fine details, but we will be utilising the crowdsource translation platform "Crowdin" to complete this work in.
Along with these changes, we have also introduced a "Filter" of sorts to the !tr channel command.
You can now do the following
!tr channel from [lang] to [lang] for #[dest] filter @[role]
This will cause a task to only translate when someone with @role speaks in that channle and RITA will ignore all otehr messages, However she will still translate by Flag Reactions.
At the moment this is only limited to "!tr channel" single command and does not work in the group command, however we are working on adding it soon.
While RITA core function is Translation, She needs to be able to identify what language you are providing as the input from the message you send to ensure it translates from the correct language to the correct language you want it too.
Below are some of the numbers.
Average Word Accuracy: 61.387% > 69.009%
Average Pair Accuracy: 76.083% > 86.902%
Average Sentence Accuracy: 93.128% > 97.031%
As we have talked about before, in 2022 we created our very own machine-learning translation model.
For those who aren’t familiar with this take a look at our Update from 06/04/22.
As part of our ongoing development of this API we have improved our Language Detection algorithm, This means that we correctly identify the source language you are trying to translate and the quality of our translation.
The total character translated with RITA’s ML engine as of 01/01/2023 was 9,721,043
The total character translated with RITA’s ML engine as of 10/03/2023 was 103,624,447
The total character translated with RITA’s ML engine as of 14/08/2023 was 421,666,812
As you can see, We have Dramatically increased the Capacity of our ML Engine, in turn Increasing the Accuracy and Reliability of these translations.
As a way to see all the changes we have made directly from RITA you can use the version command. The same as before but with a added twist.
!tr version
!tr version [version number]
eg: !tr version 1.4.3
The original command will still show you what version RITA is running, and the version number specific command will show you what changes have been made.
Just a little way to keep you updated without constant posts about minor version changes. (Or fixes to bugs I have cause, although Qjuh is quickly catching up on me for breaking changes)
That's it for now, but we will have some more info for you when we can. and if you want to check out all the changes made, dive into our change logs over in Version History
From all the Development Team at RITA, See you soon.
Version History for 1.3.?
Dependancy Updates
Node and NPM Updated
node is now V17.1.0
node version can be changed in package.json to any version above 16.2.0
npm is now V8.1.3
npm version can be any version above 7.20.3
DJS is version
CS same language now works
Join and leave logs can now be seperated from error logs with env variables DISCORD_ACTIVITY_WEBHOOK_ID
& DISCORD_ACTIVITY_WEBHOOK_TOKEN
Task ID added to tasks Printout
Ignore same chan translation of GIF and images
Admin
, Owner
, Dev
and Channel Manager
variables are now stored in message object
Shard command has been updated to show each shard and its stat
Add top,gg stat tracker to RITA
Profanity filter has been added - BETA MODE
Reduced DB Calls by over 50% by using db.server_obj more
db.server_obj now stores
db.server_obj[GuildId].servers[Values] - All values in the DB Servers Table at time of load are saved in the object db.server_obj[GuildId].stats[Values] - All values in the DB Stats Table at time of load are saved in the object
Local hosted users persist and react command fixed
Fixed invalid channel message
Various Permission Errors
Admin
, Owner
, Dev
and Channel Manager
variables are now stored in message object
Fixed translate for me
command
Fix the UID of the emoji reaction error
Fix Kick Command Response
Fix top.gg code in bot.js, so that if there is no token it ignores the code
Stop emoji's from translating for auto same channel translations
Strip mentions from same channel translations
!tr auto to lang for me causes error
!tr updatelink
has been added
!tr reactpersist
has been added - Reaction will auto delete after 60 seconds
!tr flagpersist
has been added - Flag emoji will be removed after 15 seconds
Task command updated, !tr tasks [#chan/me]
me
will show any tasks for the user in any channel
#chan
will target a single channel
!tr checkperms
has ben replaced with !tr check
!tr stop task [id]
has been added - Remove by ID is now possiable
!tr settings tags [all/everyone/none]
has been added, this falls in line with discord.js (This setting only applies to embed off
mode)
none
- No tags are disabled, meaning@user
,@everyone
and@here
will work
everyone
- Attention tags are, meaning only@user
will work
all
- All tags are disabled, meaning@user
,@everyone
and@here
will NOT work
!tr settings reset
Will reset all settings to the default value.
!tr settings langDetect [on/off]
Turns language detection footer on for translated messages
!tr settings updatedb [serverID]
will update the database and object if the data is incorrect
!tr stop for server
Will stop all translation task serverwide
!tr stop for server [serverID]
Will stop all translation task of target Server serverwide
!tr settings profanity [off/replace/delete]
has been added
off
- profanity words are allowed. No actions taken
replace
- Profanity words are replaced with random special characters
delete
- message is deleted and not translated
!tr tasks [user/server/channel] {ID}
has been added (Dev Only)
user
- Will get all tasks for a targeted user from the DB
server
- Will get all tasks for a targeted server from the DB
channel
- Will get all tasks for a targeted channel from the DB
!tr cache
- Will show the amount of data currently cached
data.message.server is built on every message event, Reducing the calls needed in send.js to db
db changes, the following columns have been added
reactpersist
- manages the react persist variable
flagpersist
- manages the flag persist variable
servername
- stores a local copy of the server name
servertags
- manages the server tags variable
badwords
- profanity filter
menupersist
- manages the menu persist variable
whitelisted
- NOT IN USE, Yet!
langdetect
- manages language detection footer variable
profanity
- manages profanity filter variable
ownerid
- Store the owner ID
char
- Stores the Character ammount of Total Messages
messagecount
- Counts number of messages sent
subscription
- Stores the subscription boolean variable
subscriptionlevel
- Stores the subscription level variable
subscriptiondate
- Stores the subscription date variable
subscriptionlength
- Stores the subscription length variable
subscriptionuser
- Stores the subscription user
tasklimit
- Stores the tasks limit fo the server
Help menu updated
Owner variable is now more reliable on messages
Language marker has been added to embed off and and on messages, this is controlled with !tr settings langdetect [on/off]
Error messages show Task ID
servertags and langdetect status added to the settings and check commands
Append Dev name to "Developer identity confirmed"
Dev Dependencies core to this bot, gulp-watch
have been updated
Certain statement has been converted to try statements to allow for better error handling
Last updated: March 15, 2022
This Privacy Policy describes Our policies and procedures on the collection, use and disclosure of Your information when You use the Service and tells You about Your privacy rights and how the law protects You.
We use Your Personal data to provide and improve the Service. By using the Service, You agree to the collection and use of information in accordance with this Privacy Policy.
We do not Sell or Provide any Personal Data collected, as defined below, to any 3rd Party Company.
The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located Here.
While using Our Service, We may ask You to provide Us with certain personally identifiable information that can be used to identify You and provide your access to the Service. Personally identifiable information may include, but is not limited to: Discord Account ID's, Channel ID's, Server ID's and more.
Usage Data is collected automatically when using the Service.
Usage Data in relation to our Website may include information such as Your Device's Internet Protocol address (e.g. IP address), browser type, browser version, the pages of our Service that You visit, the time and date of Your visit, the time spent on those pages, unique device identifiers and other diagnostic data.
When You access the Service on Discord, We may collect certain information automatically, including, but not limited to, original message language, target language, character count, and other diagnostic data.
We may also collect information that Your browser sends whenever You visit our Website.
We use Cookies and similar tracking technologies to track the activity on Our Service and store certain information. Tracking technologies used are beacons, tags, and scripts to collect and track information and to improve and analyze Our Service. The technologies We use may include:
Cookies or Browser Cookies. A cookie is a small file placed on Your Device. You can instruct Your browser to refuse all Cookies or to indicate when a Cookie is being sent. However, if You do not accept Cookies, You may not be able to use some parts of our Service. Unless you have adjusted Your browser setting so that it will refuse Cookies, our Service may use Cookies.
Flash Cookies. Certain features of our Service may use local stored objects (or Flash Cookies) to collect and store information about Your preferences or Your activity on our Service. Flash Cookies are not managed by the same browser settings as those used for Browser Cookies. For more information on how You can delete Flash Cookies, please read "Where can I change the settings for disabling, or deleting local shared objects?" available at https://helpx.adobe.com/flash-player/kb/disable-local-shared-objects-flash.html#main_Where_can_I_change_the_settings_for_disabling__or_deleting_local_shared_objects_
Web Beacons. Certain sections of our Service and our emails may contain small electronic files known as web beacons (also referred to as clear gifs, pixel tags, and single-pixel gifs) that permit the Company, for example, to count users who have visited those pages or opened an email and for other related website statistics (for example, recording the popularity of a certain section and verifying system and server integrity).
Cookies can be "Persistent" or "Session" Cookies. Persistent Cookies remain on Your personal computer or mobile device when You go offline, while Session Cookies are deleted as soon as You close Your web browser. You can learn more about cookies here: Cookies by TermsFeed Generator.
We use both Session and Persistent Cookies for the purposes set out below:
Necessary / Essential Cookies
Type: Session Cookies
Administered by: Us
Purpose: These Cookies are essential to provide You with services available through the Website and to enable You to use some of its features. They help to authenticate users and prevent fraudulent use of user accounts. Without these Cookies, the services that You have asked for cannot be provided, and We only use these Cookies to provide You with those services.
Cookies Policy / Notice Acceptance Cookies
Type: Persistent Cookies
Administered by: Us
Purpose: These Cookies identify if users have accepted the use of cookies on the Website.
Functionality Cookies
Type: Persistent Cookies
Administered by: Us
Purpose: These Cookies allow us to remember choices You make when You use the Website, such as remembering your login details or language preference. The purpose of these Cookies is to provide You with a more personal experience and to avoid You having to re-enter your preferences every time You use the Website.
For more information about the cookies we use and your choices regarding cookies, please visit our Cookies Policy or the Cookies section of our Privacy Policy.
The Company may use Personal Data for the following purposes:
To provide and maintain our Service, including to monitor the usage of our Service.
To manage Your Account: to manage Your registration as a user of the Service. The Personal Data You provide can give You access to different functionalities of the Service that are available to You as a registered user.
For the performance of a contract: the development, compliance and undertaking of the purchase contract for the products, items or services You have purchased or of any other contract with Us through the Service.
To contact You: To contact You by email, telephone calls, SMS, or other equivalent forms of electronic communication, such as a mobile application's push notifications regarding updates or informative communications related to the functionalities, products or contracted services, including the security updates, when necessary or reasonable for their implementation.
To provide You with news, special offers and general information about other goods, services and events which we offer that are similar to those that you have already purchased or enquired about unless You have opted not to receive such information.
To manage Your requests: To attend and manage Your requests to Us.
For business transfers: We may use Your information to evaluate or conduct a merger, divestiture, restructuring, reorganization, dissolution, or other sale or transfer of some or all of Our assets, whether as a going concern or as part of bankruptcy, liquidation, or similar proceeding, in which Personal Data held by Us about our Service users is among the assets transferred.
For other purposes: We may use Your information for other purposes, such as data analysis, identifying usage trends, determining the effectiveness of our promotional campaigns and to evaluate and improve our Service, products, services, marketing and your experience.
We may share Your personal information in the following situations:
With Service Providers: We may share Your personal information with Service Providers to monitor and analyze the use of our Service, to contact You.
For business transfers: We may share or transfer Your personal information in connection with, or during negotiations of, any merger, sale of Company assets, financing, or acquisition of all or a portion of Our business to another company.
With Affiliates: We may share Your information with Our affiliates, in which case we will require those affiliates to honor this Privacy Policy. Affiliates include Our parent company and any other subsidiaries, joint venture partners or other companies that We control or that are under common control with Us.
With business partners: We may share Your information with Our business partners to offer You certain products, services or promotions.
With other users: when You share personal information or otherwise interact in the public areas with other users, such information may be viewed by all users and may be publicly distributed outside.
With Your consent: We may disclose Your personal information for any other purpose with Your consent.
The Company will retain Your Personal Data only for as long as is necessary for the purposes set out in this Privacy Policy. We will retain and use Your Personal Data to the extent necessary to comply with our legal obligations (for example, if we are required to retain your data to comply with applicable laws), resolve disputes, and enforce our legal agreements and policies.
The Company will also retain Usage Data for internal analysis purposes. Usage Data is generally retained for a shorter period of time, except when this data is used to strengthen the security or to improve the functionality of Our Service, or We are legally obligated to retain this data for longer time periods.
Your information, including Personal Data, is processed at the Company's operating offices and in any other places where the parties involved in the processing are located. It means that this information may be transferred to — and maintained on — computers located outside of Your state, province, country or other governmental jurisdiction where the data protection laws may differ than those from Your jurisdiction.
Your consent to this Privacy Policy followed by Your submission of such information represents Your agreement to that transfer.
The Company will take all steps reasonably necessary to ensure that Your data is treated securely and in accordance with this Privacy Policy and no transfer of Your Personal Data will take place to an organization or a country unless there are adequate controls in place including the security of Your data and other personal information.
If the Company is involved in a merger, acquisition or asset sale, Your Personal Data may be transferred. We will provide notice before Your Personal Data is transferred and becomes subject to a different Privacy Policy.
Under certain circumstances, the Company may be required to disclose Your Personal Data if required to do so by law or in response to valid requests by public authorities (e.g. a court or a government agency).
The Company may disclose Your Personal Data in the good faith belief that such action is necessary to:
Comply with a legal obligation
Protect and defend the rights or property of the Company
Prevent or investigate possible wrongdoing in connection with the Service
Protect the personal safety of Users of the Service or the public
Protect against legal liability
The security of Your Personal Data is important to Us, but remember that no method of transmission over the Internet, or method of electronic storage is 100% secure. While We strive to use commercially acceptable means to protect Your Personal Data, We cannot guarantee its absolute security.
Our Service does not address anyone under the age of 13. We do not knowingly collect personally identifiable information from anyone under the age of 13. If You are a parent or guardian and You are aware that Your child has provided Us with Personal Data, please contact Us. If We become aware that We have collected Personal Data from anyone under the age of 13 without verification of parental consent, We take steps to remove that information from Our servers.
If We need to rely on consent as a legal basis for processing Your information and Your country requires consent from a parent, We may require Your parent's consent before We collect and use that information.
Our Service may contain links to other websites that are not operated by Us. If You click on a third party link, You will be directed to that third party's site. We strongly advise You to review the Privacy Policy of every site You visit.
We have no control over and assume no responsibility for the content, privacy policies or practices of any third party sites or services.
We may update Our Privacy Policy from time to time. We will notify You of any changes by posting the new Privacy Policy on this page.
We will let You know via email and/or a prominent notice on Our Service, prior to the change becoming effective and update the "Last updated" date at the top of this Privacy Policy.
You are advised to review this Privacy Policy periodically for any changes. Changes to this Privacy Policy are effective when they are posted on this page.
If you have any questions about this Privacy Policy, You can contact us:
By email: [email protected]
By visiting this page on our website: https://discord.gg/invite/7yYUWruQp6
Information on Transaltion Commands.
Last updated: April 22, 2022
S.A.L.T.S Stands for Subscription, Activation, Limitations, Termination and Suspension Policy. This describes Our policies and procedures on how each of the aforementioned processes are handled.
By using the Service, You agree to the following processes and be subject to enforcement of them.
The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located .
A User subscription follows the below flows. These are different for each subscription platform.
Refer to activation steps below in Activation Section.
Subscriptions are renewed on different days depending on the platform.
Ko-Fi
Renews monthly from the date subscribed. E.g., subscription is purchased and payment is taken on the 09th of May. On the 9th of June payment is taken again, then again on the 9th July. This continues monthly until cancelation.
Patreon
Renews monthly on the 1st of each month regardless of subscription date. E.g., subscription is purchased and payment is taken on the 09th of May. On the 1st of June payment is taken, then again on the 1st July. This continues monthly until cancelation.
Once a User has purchased a subscription, the cost they pay will not change, unless they cancel the subscription and then re-subscribe.
Cancelation due to failed payment resulting in cancelation of a archived or expired plan cannot be re-activated, regardless of reason.
No notice will be given on archiving of a plan or removing availability; however, We believe in an open dialect with our customers. That said, business reason depending, We will provide information in the form of an announcement when possible.
All Plans/Tiers are subject to other limitations, detailed below.
User Invites RITA to server >
User Joins RMS Server >
User selects relevant plan provided by Ko-Fi/Patreon >
User completes payment via platform
Ko-Fi > PayPal or Stripe
Patreon > Payment is handled by Patreon
Upon Confirmation of payment User activates Discord integration through account linking.
Guide for
Guide for
Integration uses the Ko-Fi and Patreon Bot to apply relevant roles to User, a Role from Payment, Tier, and the Subscription section below are needed for RITA to work.
RITA detects role additions and adds relevant and required data to our Subscription Database
Once User has all identifying Roles they are able to see the channel #activate-rita-here.
If role addition fails or is incomplete, then it is investigated by the ADMIN team. The ADMIN team will manually validate payment completion and then apply correct roles, if necessary.
User types `!tr sub` in the above noted channel or in their own server. If they own more than one server or are admin in more than one server, then they are prompted to select the server they want to use RITA in.
RITA must be in the server before the command is run, else an error will be provided.
RITA is activated and the subscription process is completed.
Content Here
The Termination Process is used in conjunction with the Suspension Process and follows a pre-defined path.
AT NO POINT IN THIS PROCESS IS THE END USER ELIGIBLE FOR A REFUND. THIS PROCESS IS ONLY EXECUTED IN THE MOST SERIOUS OF CIRCUMSTANCES.
The Termination flow can only executed/started by the following RMS staff levels and is governed by a strict time frame.
Owners
Admins
Developers
A Suspension of Service can be implemented for a varying number of reasons. This is refer to as Pausing.
Pausing and resuming of service can only be conducted by the following RMS staff levels
RITA
Owners
Admins
Developers
Senior Staff
Service can be Paused under the following conditions
Detection of suspicious activity.
We cannot share what this look like to prevent anti-detection methods
Exceeding Character Limits of Tier (*When Implemented)
This could be Google API Limits or ML Limits
Suspicion that RITA is being used for SPAM or JUNK flooding
Request to Terminate by third party agencyies or companies in line with our Privacy Policy and ToS.
Identification that RITA is being used for Commercial use exceeding fair and reasonable use. This is not defined and will be reviewed on a case by case basis. This does not exclude the use of RITA from commercial use.
The OG "Casual" Plan
$5.99
01/05/22 - 31/05/22
Plan Discontinued, Existing Users remain.
The "Casual" Plan
$6.99
01/06/22 - Current
Replacement Tier to [The OG "Casual" Plan]
The OG "Tinkerer" Plan
$9.99
01/05/22 - 31/05/22
Plan Discontinued, Existing Users remain.
The "Tinkerer" Plan
$10.99
01/06/22 - Current
Replacement Tier to [The OG "Tinkerer" Plan]
The OG "Pro" Plan
$14.99
01/05/22 - 31/05/22
Plan Discontinued, Existing Users remain.
The "Pro" Plan
$15.99
01/06/22 - Current
Replacement Tier to [The OG "Pro" Plan]
### 1.3.14-0
Date: 01/11/22
User: Qjuh
> ----------
>>> choose_server.js, logger.js
* Added log for activated subscriptions in activity log
### 1.3.14-1
Date: 11/11/22
User: Qjuh
> ----------
>>> helpers.js, events.js
* Fetch members of support server instead of relying on cache
>>> events.js
* Fix messageDelete to also work for deleting translations in Threads
### 1.3.14-2
Date: 11/11/22
User: Zycore
> ----------
>>> sub.js, args.js
* Removed global sub code
* Removed sub check code as its redundant, can be found in !tr stats sub
>>> choose_server.js
* If not BITA bot wont assign BITA Variable in DB
* Fetch members of support server instead of relying on cache
* Now refers to plan for tier,task and engine info. Plan is collected from helpers.js > getPlan
>>> helpers.js > getPlan
* Import (data, user) export (plan.tier, plan.taskAmount, plan.engine)
>>> settings.js
* target server code `!tr settings server [ID]` (Check with BitField)
>>> db.js
* Comment text Changed
>>> permissions.js
* You can now validate with BitField by `if (await permissions.check(data, "Permission Name Here"))`, it will return true or false
Update on the state of RITA 1.3.0 Public Release.
PLEASE NOTE: This Update was accurate at the time of sharing. Please refer to our Support documentation to ensure accurate and up-to-date information is known, If you have any questions or concerns please join our Discord Server and someone will assist.
Since the beginning of February RITA’s public version has been offline, this was due to a series of events outside of our control. Starting with a DDOS attack and then a series of direct Takedown requests targeted at RITA because of a petty feud.
For the most part, this has been resolved.
The RITA Dev team at this point knew that we had to make some changes, so we started to look at viable and feasible options for RITA to continue to run.
We looked at Free APIs, sourcing the cost from somewhere else, limiting usage and a few other wacky ideas. Unfortunately, these all fell by the wayside and the only viable option we identified was a paid model for the official Google API. More about this later.
Since then we have been working on how this would work and what it will look like, and I will be honest, we don’t have all the answers yet, but we want to let you know what is happening.
As most of you are already aware, the DEV team consists of 4 to 8 Main members of staff, each of these members of staff also have real-world jobs and families.
Unfortunately one of the core coding team has recently changed jobs and it has taken 3-ish weeks to settle into a new work pattern, while others have faced personal family matters limiting their availability.
Others are students and the rest have families, with needy husbands, wives and kids. (Why would you even have kids?).
This has meant that there have only been 3 weeks when all the staff had some free time, and decisions needed to be made that can't be done unilaterally.
We have been slow at progression.
Some LEGALITIES need to be taken into account, deciding where RITA will be hosted, what country to register a company in if we do.
Who is responsible for taxes and so much more. Luckily we have a member of the team able to do some of these but we still need legal consultation.
As of now, we have an agreed way forward. However, the finer details still need to be worked out. RITA will be going to a paid model, this is set in stone.
This is the only way we can keep RITA running and legal.
At this time we don't have a solid answer, but we are in the ballpark of $3-7 a month.
We are aiming for $5 as long as there are no unexpected costs or restrictions to contend with.
No Lifetime subscriptions are not offered as the API that we have to pay for requires monthly payments.
The likelihood of running into financial instability if everyone had a lifetime sub would be very high.
Continuing with a monthly plan has the greatest chance for operational longevity.
Due to the impending shutdown of all V11 and V12 API, the self-hosting option has reached end-of-life.
Once the support goes down, the self-hosting bots will immediately cease to function and there will be nothing we can do.
At this time, we cannot offer that option as the self-hosting option will require a full rewrite to be V13 compatible.
As such, ALL self-hosting will be unavailable and unsupported. This may change in the future but not till 2023 at the earliest.
The subscription will be a mix of per-user/per-server. Each server you wish to have RITA active in will require you to be the owner of the server (Yes owner not admin) to purchase the subscription.
This owner could theoretically use this single license in any server they are the owner of, however, it will only work on 1 server at a time.
The reason for the owner limitation is simple: For you to activate RITA in your server, you will need to do this in the Rita Support Server.
By having the owners on the server we can easily identify them, help resolve issues and contact them if there is an issue.
In time this will be changed to allow admins but means we need to change the permission structures in the code.
It's on the list to do, but to start it will be OWNERS only.
Currently, users are limited to 1 server at this time. More servers will be allowed in the future. Criteria: User must be the SERVER_OWNER or ADMIN1ADMIN
Tasks - There will be a global tasks limit for each server, 100 is the current target but this may change. DUser must pay for the subscription themselves as the sub is mapped to their USER ID.
RITA as it stands is using the Google Cloud API, and is charged, as such we are charged for usage, thus the need for a subscription fee. However, there are other APIs available for use.
The long term goal is to have a paid-for, all features version. All our changes, new features and work will continue on this version.
Like a lot of other discord bots, we want to try and introduce a free limited version, and we are looking at how this can be done, with some of the other APIs that are free, with limited languages and support, reduced accuracy and higher delaying in responses. This is not saying we will reduce the accuracy or reliablilty of these API, its just the nature of API data we will have access too.
We are looking at ways we can implement these into a free version. It will be limited and would have limits such as 10 tasks, flags only, etc etc.
This means we can continue to draw in users, while offering all our support and time to paid users, ensuring that we continue development and can keep RITA running for years to come.
We would like to give you a date, and we wanted it to be live for a soft launch on the 1st of April, but due to the aforementioned issues and limited time, we don’t have a date. We aim to have as much done and have the bot as stable as possible before launch.
With a whole bunch of new features added in before February that we were testing for the v1.3.0 release, we did not have the chance to finish this testing and ensure she was working.
The current goal is before the end of April. This is for a few reasons but mainly we want to get her online again.
The level of support you get at the moment will inevitably change, And we will not turn into a “you don’t pay so you don't matter” support server. All our users are important. Without all of you, we would not be where we are today.
There will be things however that will be managed by a single or maybe two members of staff, such as payment-related issues.
This will not be able to be managed by general support staff and will require an Admin.
This means there may be an SLA of 24 hours to allow for time zones and real life.
More details will be provided on responsibilities and roles close to launch.
Currently, we are looking at a subscription platform, such as Patreon, to manage our payments and subscriptions.
We are looking at all available options and will have the info ready to share before launch.
Currently, we are looking at keeping it simple, with 1 monthly cost.
We recognise this may not work for everyone, and as such are looking at the possibilities of a tiered system.
What will be included in these is not finalized, and we are keeping all options open.
Short answer, YES.
We have already talked about the limitation of usage, 1 server per owner. (this will change in the future)
The next limits we have to talk about are:
If you have more than 100 tasks at launch, ALL tasks will be deleted as we cannot know what ones you want to keep. This only affects about <1% servers)
Characters - Unlike other services, we won’t be initially offering a character-based subscription, as our testing indicates this is not needed. BUT it may be an option in the future.
DM - Translation to DM will be disabled globally, however, in the future, this will be able to be requested to be enabled for your server, with a valid use case as to why it is needed.
Auto - The current implementation of auto-translation works, and we are not removing it. However, it is being used incorrectly, and as such, the command will be changing a little. But it won't impact any existing tasks set up.
Again this is simple, if each server had 1000 tasks, and we have 10k servers, that's 10,000,000 (Million) Tasks. Not only is this too many for us to think about but, it would also have a massive impact on reliability and speed.
100 is a fair limit, and since 98% of our current user base has less than 100 it is easy to launch with most of the work done.
There are a few reason why self hosting support is ending.
Currently the self hosting version operates an older version of the RITA Code, as such it constantly needs to be managed, updated and maintained.
This means we need to update the code and ensure it works. This takes time. At the moment we want to dedicate this time to ensuring the paid version is working and online.
When we split our attention it has an impact on our ability to help everyone.
This does not mean a member of the community, if they want to, cant offer support to another member of the community. There won't be official Dev/Admin/helper support for self hosting issues.
In the future this may change, but at the moment we can not dedicate our time to supporting self hosting users.
Our Aim, The RITA Dev team, is to continue to keep RITA running. We aim to be transparent with everything we do and want to keep the community we have built alive.
We understand that this may be a shock to some of you, and may not be something you will understand.
We will endeavour to answer any questions and try and alleviate any concerns you may have.
If you have a question we have not answered, please reach out and ask it.
These decisions have been agreed upon by the Core RITA Dev Team. If you have any issues please raise them privately or open a ticket for us to respond.
If you have any other Questions join our Discord Server and we will try and answer them.
Last updated: September 27, 2022
This Privacy Policy describes Our policies and procedures on the collection, use and disclosure of Your information when You use the Service and tells You about Your privacy rights and how the law protects You.
We use Your Personal data to provide and improve the Service. By using the Service, You agree to the collection and use of information in accordance with this Privacy Policy.
We do not Sell or Provide any Personal Data collected, as defined below, to any 3rd Party Company.
The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located Here.
While using Our Service, We may ask You to provide Us with certain personally identifiable information that can be used to identify You and provide your access to the Service. Personally identifiable information may include, but is not limited to: Discord Account ID's, Channel ID's, Server ID's and more.
While using Our Service, We may collect anonymised translation data. This is used to train our in-house Machine Learning translation model. The data collected is comprised of the following values;
Source Language
Destination Language
Content of Message sent
Content of Message received after translation
This data cannot be linked to the source server. All identifiable values such as Guild ID, User ID, Username, Channel ID and other identifiable data found within the Discord API is not collected. This data is stored for a period of 60 days, or when the collection files (All possible Language Pairs) reach 200GB, which ever is sooner. Data is automatically overridden and non-recoverable.
As this data is anonymised it is not possible to request this data as part of a Subject Access request, more commonly known as "Request My Data".
Usage Data is collected automatically when using the Service.
Usage Data in relation to our Website may include information such as Your Device's Internet Protocol address (e.g. IP address), browser type, browser version, the pages of our Service that You visit, the time and date of Your visit, the time spent on those pages, unique device identifiers and other diagnostic data.
When You access the Service on Discord, We may collect certain information automatically, including, but not limited to, original message language, target language, character count, and other diagnostic data.
We may also collect information that Your browser sends whenever You visit our Website.
We use Cookies and similar tracking technologies to track the activity on Our Service and store certain information. Tracking technologies used are beacons, tags, and scripts to collect and track information and to improve and analyze Our Service. The technologies We use may include:
Cookies or Browser Cookies. A cookie is a small file placed on Your Device. You can instruct Your browser to refuse all Cookies or to indicate when a Cookie is being sent. However, if You do not accept Cookies, You may not be able to use some parts of our Service. Unless you have adjusted Your browser setting so that it will refuse Cookies, our Service may use Cookies.
Flash Cookies. Certain features of our Service may use local stored objects (or Flash Cookies) to collect and store information about Your preferences or Your activity on our Service. Flash Cookies are not managed by the same browser settings as those used for Browser Cookies. For more information on how You can delete Flash Cookies, please read "Where can I change the settings for disabling, or deleting local shared objects?" available at https://helpx.adobe.com/flash-player/kb/disable-local-shared-objects-flash.html#main_Where_can_I_change_the_settings_for_disabling__or_deleting_local_shared_objects_
Web Beacons. Certain sections of our Service and our emails may contain small electronic files known as web beacons (also referred to as clear gifs, pixel tags, and single-pixel gifs) that permit the Company, for example, to count users who have visited those pages or opened an email and for other related website statistics (for example, recording the popularity of a certain section and verifying system and server integrity).
Cookies can be "Persistent" or "Session" Cookies. Persistent Cookies remain on Your personal computer or mobile device when You go offline, while Session Cookies are deleted as soon as You close Your web browser. You can learn more about cookies here: Cookies by TermsFeed Generator.
We use both Session and Persistent Cookies for the purposes set out below:
Necessary / Essential Cookies
Type: Session Cookies
Administered by: Us
Purpose: These Cookies are essential to provide You with services available through the Website and to enable You to use some of its features. They help to authenticate users and prevent fraudulent use of user accounts. Without these Cookies, the services that You have asked for cannot be provided, and We only use these Cookies to provide You with those services.
Cookies Policy / Notice Acceptance Cookies
Type: Persistent Cookies
Administered by: Us
Purpose: These Cookies identify if users have accepted the use of cookies on the Website.
Functionality Cookies
Type: Persistent Cookies
Administered by: Us
Purpose: These Cookies allow us to remember choices You make when You use the Website, such as remembering your login details or language preference. The purpose of these Cookies is to provide You with a more personal experience and to avoid You having to re-enter your preferences every time You use the Website.
For more information about the cookies we use and your choices regarding cookies, please visit our Cookies Policy or the Cookies section of our Privacy Policy.
The Company may use Personal Data for the following purposes:
To provide and maintain our Service, including to monitor the usage of our Service.
To manage Your Account: to manage Your registration as a user of the Service. The Personal Data You provide can give You access to different functionalities of the Service that are available to You as a registered user.
For the performance of a contract: the development, compliance and undertaking of the purchase contract for the products, items or services You have purchased or of any other contract with Us through the Service.
To contact You: To contact You by email, telephone calls, SMS, or other equivalent forms of electronic communication, such as a mobile application's push notifications regarding updates or informative communications related to the functionalities, products or contracted services, including the security updates, when necessary or reasonable for their implementation.
To provide You with news, special offers and general information about other goods, services and events which we offer that are similar to those that you have already purchased or enquired about unless You have opted not to receive such information.
To manage Your requests: To attend and manage Your requests to Us.
For business transfers: We may use Your information to evaluate or conduct a merger, divestiture, restructuring, reorganization, dissolution, or other sale or transfer of some or all of Our assets, whether as a going concern or as part of bankruptcy, liquidation, or similar proceeding, in which Personal Data held by Us about our Service users is among the assets transferred.
For other purposes: We may use Your information for other purposes, such as data analysis, identifying usage trends, determining the effectiveness of our promotional campaigns and to evaluate and improve our Service, products, services, marketing and your experience.
We may share Your personal information in the following situations:
With Service Providers: We may share Your personal information with Service Providers to monitor and analyze the use of our Service, to contact You.
For business transfers: We may share or transfer Your personal information in connection with, or during negotiations of, any merger, sale of Company assets, financing, or acquisition of all or a portion of Our business to another company.
With Affiliates: We may share Your information with Our affiliates, in which case we will require those affiliates to honor this Privacy Policy. Affiliates include Our parent company and any other subsidiaries, joint venture partners or other companies that We control or that are under common control with Us.
With business partners: We may share Your information with Our business partners to offer You certain products, services or promotions.
With other users: when You share personal information or otherwise interact in the public areas with other users, such information may be viewed by all users and may be publicly distributed outside.
With Your consent: We may disclose Your personal information for any other purpose with Your consent.
The Company will retain Your Personal Data only for as long as is necessary for the purposes set out in this Privacy Policy. We will retain and use Your Personal Data to the extent necessary to comply with our legal obligations (for example, if we are required to retain your data to comply with applicable laws), resolve disputes, and enforce our legal agreements and policies.
The Company will also retain Usage Data for internal analysis purposes. Usage Data is generally retained for a shorter period of time, except when this data is used to strengthen the security or to improve the functionality of Our Service, or We are legally obligated to retain this data for longer time periods.
Your information, including Personal Data, is processed at the Company's operating offices and in any other places where the parties involved in the processing are located. It means that this information may be transferred to — and maintained on — computers located outside of Your state, province, country or other governmental jurisdiction where the data protection laws may differ than those from Your jurisdiction.
Your consent to this Privacy Policy followed by Your submission of such information represents Your agreement to that transfer.
The Company will take all steps reasonably necessary to ensure that Your data is treated securely and in accordance with this Privacy Policy and no transfer of Your Personal Data will take place to an organization or a country unless there are adequate controls in place including the security of Your data and other personal information.
If the Company is involved in a merger, acquisition or asset sale, Your Personal Data may be transferred. We will provide notice before Your Personal Data is transferred and becomes subject to a different Privacy Policy.
Under certain circumstances, the Company may be required to disclose Your Personal Data if required to do so by law or in response to valid requests by public authorities (e.g. a court or a government agency).
The Company may disclose Your Personal Data in the good faith belief that such action is necessary to:
Comply with a legal obligation
Protect and defend the rights or property of the Company
Prevent or investigate possible wrongdoing in connection with the Service
Protect the personal safety of Users of the Service or the public
Protect against legal liability
The security of Your Personal Data is important to Us, but remember that no method of transmission over the Internet, or method of electronic storage is 100% secure. While We strive to use commercially acceptable means to protect Your Personal Data, We cannot guarantee its absolute security.
Our Service does not address anyone under the age of 13. We do not knowingly collect personally identifiable information from anyone under the age of 13. If You are a parent or guardian and You are aware that Your child has provided Us with Personal Data, please contact Us. If We become aware that We have collected Personal Data from anyone under the age of 13 without verification of parental consent, We take steps to remove that information from Our servers.
If We need to rely on consent as a legal basis for processing Your information and Your country requires consent from a parent, We may require Your parent's consent before We collect and use that information.
Our Service may contain links to other websites that are not operated by Us. If You click on a third party link, You will be directed to that third party's site. We strongly advise You to review the Privacy Policy of every site You visit.
We have no control over and assume no responsibility for the content, privacy policies or practices of any third party sites or services.
We may update Our Privacy Policy from time to time. We will notify You of any changes by posting the new Privacy Policy on this page.
We will let You know via a prominent notice on Our Service or Discord Announcement, prior to the change becoming effective and update the "Last updated" date at the top of this Privacy Policy.
You are advised to review this Privacy Policy periodically for any changes. Changes to this Privacy Policy are effective when they are posted on this page.
If you have any questions about this Privacy Policy, You can contact us:
By email: [email protected]
By visiting this page on our website: https://discord.gg/invite/7yYUWruQp6
In Effect Fom: June 06, 2025 / Last updated: June 05, 2025
This Privacy Policy describes Our policies and procedures on the collection, use and disclosure of Your information when You use the Service and tells You about Your privacy rights and how the law protects You.
We use Your Personal data to provide and improve the Service. By using the Service, You agree to the collection and use of information in accordance with this Privacy Policy.
We do not Sell or Provide any Personal Data collected, as defined below, to any 3rd Party Company.
The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located Here.
While using Our Service, We may ask You to provide Us with certain personally identifiable information that can be used to identify You and provide your access to the Service. Personally identifiable information may include, but is not limited to: Discord Account ID's, Channel ID's, Server ID's and more.
While using Our Service, We may collect anonymized translation data. This is used to help train our in-house Machine Learning translation model. The data collected is comprised of the following values;
Source Language
Destination Language
Content of Message sent
Content of Message received after translation
This data cannot be linked to the source server. All identifiable values such as Guild ID, User ID, Username, Channel ID and other identifiable data found within the Discord API is not collected. Data may be automatically overridden and non-recoverable.
As this data is anonymized it is not possible to request this data as part of a Subject Access request, more commonly known as "Request My Data". If you desire not to be part of this data collection you may open a ticket in order for us to find a solution for you.
Usage Data is collected automatically when using the Service.
Usage Data in relation to our Website may include information such as Your Device's Internet Protocol address (e.g. IP address), browser type, browser version, the pages of our Service that You visit, the time and date of Your visit, the time spent on those pages, unique device identifiers and other diagnostic data.
When You access the Service on Discord, We may collect certain information automatically, including, but not limited to, original message language, target language, character count, and other diagnostic data.
We may also collect information that Your browser sends whenever You visit our Website.
We use Cookies and similar tracking technologies to track the activity on Our Service and store certain information. Tracking technologies used are beacons, tags, and scripts to collect and track information and to improve and analyze Our Service. The technologies We use may include:
Cookies or Browser Cookies. A cookie is a small file placed on Your Device. You can instruct Your browser to refuse all Cookies or to indicate when a Cookie is being sent. However, if You do not accept Cookies, You may not be able to use some parts of our Service. Unless you have adjusted Your browser setting so that it will refuse Cookies, our Service may use Cookies.
Flash Cookies. Certain features of our Service may use local stored objects (or Flash Cookies) to collect and store information about Your preferences or Your activity on our Service. Flash Cookies are not managed by the same browser settings as those used for Browser Cookies. For more information on how You can delete Flash Cookies, please read "Where can I change the settings for disabling, or deleting local shared objects?" available at https://helpx.adobe.com/flash-player/kb/disable-local-shared-objects-flash.html#main_Where_can_I_change_the_settings_for_disabling__or_deleting_local_shared_objects_
Web Beacons. Certain sections of our Service and our emails may contain small electronic files known as web beacons (also referred to as clear gifs, pixel tags, and single-pixel gifs) that permit the Company, for example, to count users who have visited those pages or opened an email and for other related website statistics (for example, recording the popularity of a certain section and verifying system and server integrity).
Cookies can be "Persistent" or "Session" Cookies. Persistent Cookies remain on Your personal computer or mobile device when You go offline, while Session Cookies are deleted as soon as You close Your web browser. You can learn more about cookies here: Cookies by TermsFeed Generator.
We use both Session and Persistent Cookies for the purposes set out below:
Necessary / Essential Cookies
Type: Session Cookies
Administered by: Us
Purpose: These Cookies are essential to provide You with services available through the Website and to enable You to use some of its features. They help to authenticate users and prevent fraudulent use of user accounts. Without these Cookies, the services that You have asked for cannot be provided, and We only use these Cookies to provide You with those services.
Cookies Policy / Notice Acceptance Cookies
Type: Persistent Cookies
Administered by: Us
Purpose: These Cookies identify if users have accepted the use of cookies on the Website.
Functionality Cookies
Type: Persistent Cookies
Administered by: Us
Purpose: These Cookies allow us to remember choices You make when You use the Website, such as remembering your login details or language preference. The purpose of these Cookies is to provide You with a more personal experience and to avoid You having to re-enter your preferences every time You use the Website.
For more information about the cookies we use and your choices regarding cookies, please visit our Cookies Policy or the Cookies section of our Privacy Policy.
The Company may use Personal Data for the following purposes:
To provide and maintain our Service, including to monitor the usage of our Service.
To manage Your Account: to manage Your registration as a user of the Service. The Personal Data You provide can give You access to different functionalities of the Service that are available to You as a registered user.
For the performance of a contract: the development, compliance and undertaking of the purchase contract for the products, items or services You have purchased or of any other contract with Us through the Service.
To contact You: To contact You by email, telephone calls, SMS, or other equivalent forms of electronic communication, such as a mobile application's push notifications regarding updates or informative communications related to the functionalities, products or contracted services, including the security updates, when necessary or reasonable for their implementation.
To provide You with news, special offers and general information about other goods, services and events which we offer that are similar to those that you have already purchased or enquired about unless You have opted not to receive such information.
To manage Your requests: To attend and manage Your requests to Us.
For business transfers: We may use Your information to evaluate or conduct a merger, divestiture, restructuring, reorganization, dissolution, or other sale or transfer of some or all of Our assets, whether as a going concern or as part of bankruptcy, liquidation, or similar proceeding, in which Personal Data held by Us about our Service users is among the assets transferred.
For other purposes: We may use Your information for other purposes, such as data analysis, identifying usage trends, determining the effectiveness of our promotional campaigns and to evaluate and improve our Service, products, services, marketing and your experience.
We may share Your personal information in the following situations:
With Service Providers: We may share Your personal information with Service Providers to monitor and analyze the use of our Service, to contact You.
For business transfers: We may share or transfer Your personal information in connection with, or during negotiations of, any merger, sale of Company assets, financing, or acquisition of all or a portion of Our business to another company.
With Affiliates: We may share Your information with Our affiliates, in which case we will require those affiliates to honor this Privacy Policy. Affiliates include Our parent company and any other subsidiaries, joint venture partners or other companies that We control or that are under common control with Us.
With business partners: We may share Your information with Our business partners to offer You certain products, services or promotions.
With other users: when You share personal information or otherwise interact in the public areas with other users, such information may be viewed by all users and may be publicly distributed outside.
With Your consent: We may disclose Your personal information for any other purpose with Your consent.
The Company will retain Your Personal Data only for as long as is necessary for the purposes set out in this Privacy Policy. We will retain and use Your Personal Data to the extent necessary to comply with our legal obligations (for example, if we are required to retain your data to comply with applicable laws), resolve disputes, and enforce our legal agreements and policies.
The Company will also retain Usage Data for internal analysis purposes. Usage Data is generally retained for a shorter period of time, except when this data is used to strengthen the security or to improve the functionality of Our Service, or We are legally obligated to retain this data for longer time periods.
Your information, including Personal Data, is processed at the Company's operating offices and in any other places where the parties involved in the processing are located. It means that this information may be transferred to — and maintained on — computers located outside of Your state, province, country or other governmental jurisdiction where the data protection laws may differ than those from Your jurisdiction.
Your consent to this Privacy Policy followed by Your submission of such information represents Your agreement to that transfer.
The Company will take all steps reasonably necessary to ensure that Your data is treated securely and in accordance with this Privacy Policy and no transfer of Your Personal Data will take place to an organization or a country unless there are adequate controls in place including the security of Your data and other personal information.
If the Company is involved in a merger, acquisition or asset sale, Your Personal Data may be transferred. We will provide notice before Your Personal Data is transferred and becomes subject to a different Privacy Policy.
Under certain circumstances, the Company may be required to disclose Your Personal Data if required to do so by law or in response to valid requests by public authorities (e.g. a court or a government agency).
The Company may disclose Your Personal Data in the good faith belief that such action is necessary to:
Comply with a legal obligation
Protect and defend the rights or property of the Company
Prevent or investigate possible wrongdoing in connection with the Service
Protect the personal safety of Users of the Service or the public
Protect against legal liability
The security of Your Personal Data is important to Us, but remember that no method of transmission over the Internet, or method of electronic storage is 100% secure. While We strive to use commercially acceptable means to protect Your Personal Data, We cannot guarantee its absolute security.
Our Service does not address anyone under the age of 13. We do not knowingly collect personally identifiable information from anyone under the age of 13. If You are a parent or guardian and You are aware that Your child has provided Us with Personal Data, please contact Us. If We become aware that We have collected Personal Data from anyone under the age of 13 without verification of parental consent, We take steps to remove that information from Our servers.
If We need to rely on consent as a legal basis for processing Your information and Your country requires consent from a parent, We may require Your parent's consent before We collect and use that information.
Our Service may contain links to other websites that are not operated by Us. If You click on a third party link, You will be directed to that third party's site. We strongly advise You to review the Privacy Policy of every site You visit.
We have no control over and assume no responsibility for the content, privacy policies or practices of any third party sites or services.
We may update Our Privacy Policy from time to time. We will notify You of any changes by posting the new Privacy Policy on this page.
We will let You know via a prominent notice on Our Service or Discord Announcement, prior to the change becoming effective and update the "Last updated" date at the top of this Privacy Policy.
You are advised to review this Privacy Policy periodically for any changes. Changes to this Privacy Policy are effective when they are posted on this page or the date provided on the notice.
All changes to this policy can be found below
If you have any questions about this Privacy Policy, You can contact us:
By email: [email protected]
By visiting this page on our website: https://discord.gg/invite/7yYUWruQp6
Last updated: June 05, 2025
This Privacy Policy describes Our policies and procedures on the collection, use and disclosure of Your information when You use the Service and tells You about Your privacy rights and how the law protects You.
We use Your Personal data to provide and improve the Service. By using the Service, You agree to the collection and use of information in accordance with this Privacy Policy.
We do not Sell or Provide any Personal Data collected, as defined below, to any 3rd Party Company.
The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located Here.
While using Our Service, We may ask You to provide Us with certain personally identifiable information that can be used to identify You and provide your access to the Service. Personally identifiable information may include, but is not limited to: Discord Account ID's, Channel ID's, Server ID's and more.
While using Our Service, We may collect anonymized translation data. This is used to help train our in-house Machine Learning translation model. The data collected is comprised of the following values;
Source Language
Destination Language
Content of Message sent
Content of Message received after translation
This data cannot be linked to the source server. All identifiable values such as Guild ID, User ID, Username, Channel ID and other identifiable data found within the Discord API is not collected. This data is stored for a period of 60 days, or when the collection files (All possible Language Pairs) reach 200GB, which ever is sooner. Data is automatically overridden and non-recoverable.
As this data is anonymized it is not possible to request this data as part of a Subject Access request, more commonly known as "Request My Data". If you desire not to be part of this data collection you may open a ticket in order for us to find a solution for you.
Usage Data is collected automatically when using the Service.
Usage Data in relation to our Website may include information such as Your Device's Internet Protocol address (e.g. IP address), browser type, browser version, the pages of our Service that You visit, the time and date of Your visit, the time spent on those pages, unique device identifiers and other diagnostic data.
When You access the Service on Discord, We may collect certain information automatically, including, but not limited to, original message language, target language, character count, and other diagnostic data.
We may also collect information that Your browser sends whenever You visit our Website.
We use Cookies and similar tracking technologies to track the activity on Our Service and store certain information. Tracking technologies used are beacons, tags, and scripts to collect and track information and to improve and analyze Our Service. The technologies We use may include:
Cookies or Browser Cookies. A cookie is a small file placed on Your Device. You can instruct Your browser to refuse all Cookies or to indicate when a Cookie is being sent. However, if You do not accept Cookies, You may not be able to use some parts of our Service. Unless you have adjusted Your browser setting so that it will refuse Cookies, our Service may use Cookies.
Flash Cookies. Certain features of our Service may use local stored objects (or Flash Cookies) to collect and store information about Your preferences or Your activity on our Service. Flash Cookies are not managed by the same browser settings as those used for Browser Cookies. For more information on how You can delete Flash Cookies, please read "Where can I change the settings for disabling, or deleting local shared objects?" available at https://helpx.adobe.com/flash-player/kb/disable-local-shared-objects-flash.html#main_Where_can_I_change_the_settings_for_disabling__or_deleting_local_shared_objects_
Web Beacons. Certain sections of our Service and our emails may contain small electronic files known as web beacons (also referred to as clear gifs, pixel tags, and single-pixel gifs) that permit the Company, for example, to count users who have visited those pages or opened an email and for other related website statistics (for example, recording the popularity of a certain section and verifying system and server integrity).
Cookies can be "Persistent" or "Session" Cookies. Persistent Cookies remain on Your personal computer or mobile device when You go offline, while Session Cookies are deleted as soon as You close Your web browser. You can learn more about cookies here: Cookies by TermsFeed Generator.
We use both Session and Persistent Cookies for the purposes set out below:
Necessary / Essential Cookies
Type: Session Cookies
Administered by: Us
Purpose: These Cookies are essential to provide You with services available through the Website and to enable You to use some of its features. They help to authenticate users and prevent fraudulent use of user accounts. Without these Cookies, the services that You have asked for cannot be provided, and We only use these Cookies to provide You with those services.
Cookies Policy / Notice Acceptance Cookies
Type: Persistent Cookies
Administered by: Us
Purpose: These Cookies identify if users have accepted the use of cookies on the Website.
Functionality Cookies
Type: Persistent Cookies
Administered by: Us
Purpose: These Cookies allow us to remember choices You make when You use the Website, such as remembering your login details or language preference. The purpose of these Cookies is to provide You with a more personal experience and to avoid You having to re-enter your preferences every time You use the Website.
For more information about the cookies we use and your choices regarding cookies, please visit our Cookies Policy or the Cookies section of our Privacy Policy.
The Company may use Personal Data for the following purposes:
To provide and maintain our Service, including to monitor the usage of our Service.
To manage Your Account: to manage Your registration as a user of the Service. The Personal Data You provide can give You access to different functionalities of the Service that are available to You as a registered user.
For the performance of a contract: the development, compliance and undertaking of the purchase contract for the products, items or services You have purchased or of any other contract with Us through the Service.
To contact You: To contact You by email, telephone calls, SMS, or other equivalent forms of electronic communication, such as a mobile application's push notifications regarding updates or informative communications related to the functionalities, products or contracted services, including the security updates, when necessary or reasonable for their implementation.
To provide You with news, special offers and general information about other goods, services and events which we offer that are similar to those that you have already purchased or enquired about unless You have opted not to receive such information.
To manage Your requests: To attend and manage Your requests to Us.
For business transfers: We may use Your information to evaluate or conduct a merger, divestiture, restructuring, reorganization, dissolution, or other sale or transfer of some or all of Our assets, whether as a going concern or as part of bankruptcy, liquidation, or similar proceeding, in which Personal Data held by Us about our Service users is among the assets transferred.
For other purposes: We may use Your information for other purposes, such as data analysis, identifying usage trends, determining the effectiveness of our promotional campaigns and to evaluate and improve our Service, products, services, marketing and your experience.
We may share Your personal information in the following situations:
With Service Providers: We may share Your personal information with Service Providers to monitor and analyze the use of our Service, to contact You.
For business transfers: We may share or transfer Your personal information in connection with, or during negotiations of, any merger, sale of Company assets, financing, or acquisition of all or a portion of Our business to another company.
With Affiliates: We may share Your information with Our affiliates, in which case we will require those affiliates to honor this Privacy Policy. Affiliates include Our parent company and any other subsidiaries, joint venture partners or other companies that We control or that are under common control with Us.
With business partners: We may share Your information with Our business partners to offer You certain products, services or promotions.
With other users: when You share personal information or otherwise interact in the public areas with other users, such information may be viewed by all users and may be publicly distributed outside.
With Your consent: We may disclose Your personal information for any other purpose with Your consent.
The Company will retain Your Personal Data only for as long as is necessary for the purposes set out in this Privacy Policy. We will retain and use Your Personal Data to the extent necessary to comply with our legal obligations (for example, if we are required to retain your data to comply with applicable laws), resolve disputes, and enforce our legal agreements and policies.
The Company will also retain Usage Data for internal analysis purposes. Usage Data is generally retained for a shorter period of time, except when this data is used to strengthen the security or to improve the functionality of Our Service, or We are legally obligated to retain this data for longer time periods.
Your information, including Personal Data, is processed at the Company's operating offices and in any other places where the parties involved in the processing are located. It means that this information may be transferred to — and maintained on — computers located outside of Your state, province, country or other governmental jurisdiction where the data protection laws may differ than those from Your jurisdiction.
Your consent to this Privacy Policy followed by Your submission of such information represents Your agreement to that transfer.
The Company will take all steps reasonably necessary to ensure that Your data is treated securely and in accordance with this Privacy Policy and no transfer of Your Personal Data will take place to an organization or a country unless there are adequate controls in place including the security of Your data and other personal information.
If the Company is involved in a merger, acquisition or asset sale, Your Personal Data may be transferred. We will provide notice before Your Personal Data is transferred and becomes subject to a different Privacy Policy.
Under certain circumstances, the Company may be required to disclose Your Personal Data if required to do so by law or in response to valid requests by public authorities (e.g. a court or a government agency).
The Company may disclose Your Personal Data in the good faith belief that such action is necessary to:
Comply with a legal obligation
Protect and defend the rights or property of the Company
Prevent or investigate possible wrongdoing in connection with the Service
Protect the personal safety of Users of the Service or the public
Protect against legal liability
The security of Your Personal Data is important to Us, but remember that no method of transmission over the Internet, or method of electronic storage is 100% secure. While We strive to use commercially acceptable means to protect Your Personal Data, We cannot guarantee its absolute security.
Our Service does not address anyone under the age of 13. We do not knowingly collect personally identifiable information from anyone under the age of 13. If You are a parent or guardian and You are aware that Your child has provided Us with Personal Data, please contact Us. If We become aware that We have collected Personal Data from anyone under the age of 13 without verification of parental consent, We take steps to remove that information from Our servers.
If We need to rely on consent as a legal basis for processing Your information and Your country requires consent from a parent, We may require Your parent's consent before We collect and use that information.
Our Service may contain links to other websites that are not operated by Us. If You click on a third party link, You will be directed to that third party's site. We strongly advise You to review the Privacy Policy of every site You visit.
We have no control over and assume no responsibility for the content, privacy policies or practices of any third party sites or services.
We may update Our Privacy Policy from time to time. We will notify You of any changes by posting the new Privacy Policy on this page.
We will let You know via a prominent notice on Our Service or Discord Announcement, prior to the change becoming effective and update the "Last updated" date at the top of this Privacy Policy.
You are advised to review this Privacy Policy periodically for any changes. Changes to this Privacy Policy are effective when they are posted on this page or the date provided on the notice.
All changes to this policy can be found below
If you have any questions about this Privacy Policy, You can contact us:
By email: [email protected]
By visiting this page on our website: https://discord.gg/invite/7yYUWruQp6
Last updated: September 27, 2022
S.A.L.T.S Stands for Subscription, Activation, Limitations, Termination and Suspension Policy. This describes Our policies and procedures on how each of the aforementioned processes are handled.
By using the Service, You agree to the following processes and be subject to enforcement of them.
The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located Here.
A User subscription follows the below flows. These are different for each subscription platform.
Refer to activation steps below in Activation Section.
Subscriptions are renewed on different days depending on the platform.
Ko-Fi
Renews monthly from the date subscribed. E.g., subscription is purchased and payment is taken on the 09th of May. On the 9th of June payment is taken again, then again on the 9th July. This continues monthly until cancelation.
Patreon
Renews monthly on the 1st of each month regardless of subscription date. E.g., subscription is purchased and payment is taken on the 09th of May. On the 1st of June payment is taken, then again on the 1st July. This continues monthly until cancelation.
The OG "Casual" Plan
$5.99
01/05/22 - 31/05/22
Plan Discontinued, Existing Users remain.
The "Casual" Plan
$6.99
01/06/22 - Current
Replacement Tier to [The OG "Casual" Plan]
The OG "Tinkerer" Plan
$9.99
01/05/22 - 31/05/22
Plan Discontinued, Existing Users remain.
The "Tinkerer" Plan
$10.99
01/06/22 - Current
Replacement Tier to [The OG "Tinkerer" Plan]
The OG "Pro" Plan
$14.99
01/05/22 - 31/05/22
Plan Discontinued, Existing Users remain.
The "Pro" Plan
$15.99
01/06/22 - Current
Replacement Tier to [The OG "Pro" Plan]
Once a User has purchased a subscription, the cost they pay will not change, unless they cancel the subscription and then re-subscribe.
Cancelation due to failed payment resulting in cancelation of a archived or expired plan cannot be re-activated, regardless of reason.
No notice will be given on archiving of a plan or removing availability; however, We believe in an open dialect with our customers. That said, business reason depending, We will provide information in the form of an announcement when possible.
All Plans/Tiers are subject to other limitations, detailed below.
User Invites RITA to server >
User Joins RMS Server >
User selects relevant plan provided by Ko-Fi/Patreon >
User completes payment via platform
Ko-Fi > PayPal or Stripe
Patreon > Payment is handled by Patreon
Upon Confirmation of payment User activates Discord integration through account linking.
Guide for Ko-Fi
Guide for Patreon
Integration uses the Ko-Fi and Patreon Bot to apply relevant roles to User, a Role from Payment, Tier, and the Subscription section below are needed for RITA to work.
RITA detects role additions and adds relevant and required data to our Subscription Database
Once User has all identifying Roles they are able to see the channel #activate-rita-here.
If role addition fails or is incomplete, then it is investigated by the ADMIN team. The ADMIN team will manually validate payment completion and then apply correct roles, if necessary.
User types `!tr sub` in the above noted channel or in their own server. If they own more than one server or are admin in more than one server, then they are prompted to select the server they want to use RITA in.
RITA must be in the server before the command is run, else an error will be provided.
RITA is activated and the subscription process is completed.
Each plan has the following limitation applied.
The OG "Casual" Plan
100
200,000 Soft Cap
The "Casual" Plan
100
200,000 Soft Cap
The OG "Tinkerer" Plan
200
450,000 Soft Cap
The "Tinkerer" Plan
200
450,000 Soft Cap
The OG "Pro" Plan
350
700,000 Soft Cap
The "Pro" Plan
350
700,000 Soft Cap
Soft Cap = not enforced to the digit but close. This is calculated by
(Number of Characters in message * Number of languages translated to) + Original Char Count = Total Char Count.
Example: English Message: Hello
Translated to French: Bonjour
(5 Characters * 1 language translation) + 5 original chars = 10 Total Chars
Exceeding Character Limit. Either of the following Scenarios are taken, via automation by RITA or manual intervention by a member of RMS Staff
A server exceeds the soft caps assigned to their plan
Translation Services are swapped from Implicit Google API Translation to Implicit Machine Learning API Translation
At the start of the next calandar month Implicit Google API Translation is reactivated until breach of soft cap
ML API currently has an upper bound limit of 2 million characters translated per month. If a User exceeds this a custom tier cost or solution may be required.
The Termination Process is used in conjunction with the Suspension Process and follows a pre-defined path.
AT NO POINT IN THIS PROCESS IS THE END USER ELIGIBLE FOR A REFUND. THIS PROCESS IS ONLY EXECUTED IN THE MOST SERIOUS OF CIRCUMSTANCES.
The Termination flow can only executed/started by the following RMS staff levels and is governed by a strict time frame.
Owners
Admins
Developers
A Suspension of Service can be implemented for a varying number of reasons. This is refer to as Pausing.
Pausing and resuming of service can only be conducted by the following RMS staff levels
RITA
Owners
Admins
Developers
Senior Staff
Service can be Paused under the following conditions
Detection of suspicious activity.
We cannot share what this look like to prevent anti-detection methods
Exceeding Character Limits of Tier (*When Implemented)
This could be Google API Limits or ML Limits
Suspicion that RITA is being used for SPAM or JUNK flooding
Request to Terminate by third party agencyies or companies in line with our Privacy Policy and ToS.
Identification that RITA is being used for Commercial use exceeding fair and reasonable use. This is not defined and will be reviewed on a case by case basis. This does not exclude the use of RITA from commercial use.
Upcoming Changes to RITA and what we have been doing.
PLEASE NOTE: This Update was accurate at the time of sharing. Please refer to our Support documentation to ensure accurate and up-to-date information is known, If you have any questions or concerns please join our Discord Server and someone will assist.
Over the last 3 months, There have been a lot of changes to RITA, some you can see yourself, Other are systems, Services and Equipment changes. so I'm going to quick-fire some here.
* We have a new Permanent Member of the Development Team, Qjuh.
* They have been instrumental in full re-write to support ESM seen in V1.3.24
* Has pushed over 55 Updates to V1.3 Lifecycle
* Fixed countless bugs i have caused :)
* We have a New Junior Developer who joined the team, Z3US
* We are in the process of developing a [REDCATED], more to come soon.
* We have implemented our own Machine Learning API (More Below)
* We have Added 19 New Languages for Google API, These can be found V1.4.0
* We took the leap and purchased a dedicated server.
* We remove Ko-Fi as a payment and subscription method as it was too unreliable for our needs.
* We introduced slash commands (All down to Qjuh)
* We updated to ESM code standard (Still confuses me to this day)
* And many many more changes.
* RITA was Born - 12/07/2019
* Unified RITA Launched - 01/04/2021
* Unified RITA Support was ended - 01/02/2022
* RITA went in to Beta Testing - 01/04/2022
* RITA was Re-launched - 01/05/2022
2022 saw over 780 new users subscribe to RITA! At the start of 2022 RITA was using version 1.3.0, now as we start 2023 RITA is using version 1.3.24.
Thanks to the tireless work of the RITA development team.
More than 150 individual updates, fixes, and patches have been made.
Resulting in over 32,000 lines of new code being added and nearly 16,000 lines of code being deleted due to refactoring and optimization.
* Total characters translated by RITA = 949,434,521
* Total messages translated by RITA = 17,749,158
* Translations sent by RITA in embed off mode = 13,119,780
* Translations sent by RITA in embed mode = 7,267,768
* Pictures sent by RITA = 462,227
* Number of messages translated via flag emoji reactions = 155,512
* Gif’s sent by RITA = 131,845
Numbers like this are what keeps us going, knowing that you truly use RITA to her full potential!
As of July 2022, and as part of the RITA development process, We have been working to create our very own machine-learning translation model.
For those who aren’t familiar with a machine learning model or a neural network. Instead of relying on Google to translate the messages. We are using various data sets to train the machine learning model via different means so that eventually we can offer an even lower-cost translation bot. With the same level of translation quality you’ve come to expect and depend on from RITA. This is a long process and we don't expect to be seeing immediate returns on this investment for a while yet, but the aim has always been to provide a service that is affordable and reliable for all of our users.
The total character translated with RITA’s ML engine as of 01/01/2023 was 9,721,043
As first shown in our old "v1.4.1" version - which was never fully released - soft limits have been enabled in all RitaBot's BITA (RED) and RITA (BLUE, YELLOW). In order to make sure some don't suffer from translation to/from languages that are not yet fully optimized in our ML engine we have created Softer Soft Limits.
Plans have already had "Soft limits" in place since launch,These values were 200k, 450k, and 700k for Casual, Tinkerer and Pro Plans respectively.
These "softer" version of our soft limits go into effect when your server reaches or exceeds the soft limit for the month for their respective plan, in which only languages that have been optimized to a respectable quality will use our ML engine. Otherwise they continue using Google.
We're continuing our work on RitaBot to optimize as many languages as possible.
If you find any strange translations while using ML translation for that language then please open a ticket in our Support Server and mention @Artanis - Dev Director.
We have update our list of support languages, These will now work in all commands. Note: note all have suported Language Flags.
Assamese
as
:flag_as:
Aymara
ay
Bambara
bm
:flag_bm:
Dhivehi
dv
Ewe
ee
:flag_ee:
Guarani
gn
:flag_gn:
Javanese
jv or jw
Kinyarwanda
rw
:flag_rw:
Lingala
ln
Oriya
or
Oromo
om
:flag_om:
Quechua
qu
Sanskrit
sa
Tatar
tt
:flag_tt:
Tigrinya
ti
Tsonga
ts
Turkmen
tk
:flag_tk:
Twi (Akan)
ak
Uyghur
ug
RITA Message Statistics for 2023 So Far:
* Total characters translated by RITA = 325,017,612 - (949,434,521 Last Year)
* Total messages translated by RITA = 12,151,259 - (17,749,158 Last Year)
* Translations sent by RITA in embed off mode = 8,145,058 - (13,119,780 Last Year)
* Translations sent by RITA in embed mode = 3,928,184 - (7,267,768 Last Year)
* Pictures sent by RITA = 231,307 - (462,227 Last Year)
* Number of messages translated via flag emoji reactions = 78,017 - (155,512 Last Year)
* Gif’s sent by RITA = 60,490 - (131,845 Last Year)
As you can see, We are holding strong, and expect to see the number exceeding previous usage by the same point this year.
See what I did there, I edited the Title, and now you can do the same in RITA.
With 1.4.0 we have introduced Message editing, At the moment it will always use our ML Engine until we can work out how much of an impact it will have on usage, and how we quantify that usage.
So the supported languages for message editing are the same as the support languages for translation. If the language is not supported the edited message won't be translated.
As a way to see all the changes we have made directly from RITA you can use the version command. The same as before but with a added twist.
!tr version
!tr version [version number]
eg: !tr version 1.4.0
The original command will still show you what version RITA is running, and the version number specific command will show you what changes have been made.
Just a little way to keep you updated without constant posts about minor version changes. (Or fixes to bugs I have cause, although Qjuh is quickly catching up on me for breaking changes)
As many of you have seen, there are a few versions of RITA. So I wanted to quickly tell you what they are, why they exist and what it means for you.
When we wanted to make a change to RITA, we had to take her offline, upload the new changes then reboot her, test and see if it impacts anything, if it did then we had to revert and try the process all over again.
Not very efficient. So just like BITA, (our testing bot - not the same as global changes) we wanted to come up with a way to ensure reliability, allow us to continue to develop with minimal interference and provide a stable service to meet our uptime guarantees, thus the new family member.
You can distinguish the difference by the Bot Icon, BLUE, YELLOW, RED and PURPLE.
RITA - BLUEThis bot is no different from YELLOW in terms of core functionality. Updates may be a day or so behind YELLOW but this is because we will not interrupt service to BLUE users to reboot and install fixed (unless necessary). Automatic reboots take 17 seconds on average and they happen each night at midnight GMT.
RITA - YELLOWOur public bot, which is still in all 18k servers from before had to charge for our services. As such boot time is around 60 seconds on average and service can be disrupted throughout the day when we push bug fixes. With its large server base (although they are inactive) it generates a large amount of diagnostic data, allowing us to track down bugs and start to fix them.
BITA - REDOur BITA bot, this BOT runs an experimental build, may have bugs and uptime is not guaranteed, you can not request access at this time to use BITA and access is invite only. All new features are tested on BITA first to make sure they work and features, functions, commands and slash commands can be added and removed at any time.
RITA - PURPLEDevelopmental features, Future projects and local testing bot. This is only used by developers to test locally on test machines and servers, you may see it from time to time but it won’t respond to commands given by non-developers.
Any user that pays for RITA can swap to use RITA BLUE at any time, and we encourage and request you do so, this means we provide you the best service we can. So, in simple and short terms, we have a new member of the family. But nothing is lost in the service we provide, only improving it.
So now on to a boring topic for most, (Is it sad I really enjoy this part), we have had to make some changes to our policy documents. Please see the respective documents for the changes.
Thats it for now, but we will have some more info for you when we can. and if you want to check out all the changes made, dive into our change logs over in Version History
From all the Development Team at RITA, See you soon.
Last updated: June 05, 2025
S.A.L.T.S Stands for Subscription, Activation, Limitations, Termination and Suspension Policy. This describes Our policies and procedures on how each of the aforementioned processes are handled.
By using the Service, You agree to the following processes and be subject to enforcement of them.
The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located Here.
A User subscription follows the below flows. These are different for each subscription platform.
Refer to activation steps below in Activation Section.
Subscriptions are renewed on different days depending on the platform.
Patreon
Renews monthly on the 1st of each month regardless of subscription date. E.g., subscription is purchased and payment is taken on the 09th of May. On the 1st of June payment is taken, then again on the 1st July. This continues monthly until cancelation.
These plans are the base subscription plans on offer. Costs are fixed and can not be changed. Once a user has subscribed to the plan they will remain on the plan until the subscription is cancelled. See Tier Cost Changes & Availability for More information.
TRIAL USER
FREE* 1 Month
COMING SOON
The "Reaction" Plan
$2.99
20/08/23 - Current
The "Casual" Plan
$6.99
01/06/22 - Current
The "Tinkerer" Plan
$10.99
01/06/22 - Current
The "Pro" Plan
$15.99
01/06/22 - Current
The "Ultima" Plan
$21.99
20/08/23 - Current
TRIAL USER - The TRIAL will allow a user to try RITA for a period of one (1) month, or until limits have been reached, whichever comes first. Servers are limited to 1 TRIAL Per Server - Per Users.
These plans are subject to availability and are time-limited. Costs are fixed and can not be changed. Once a user has subscribed to the plan they will remain on the plan until the subscription is cancelled. Once an offer window has passed there is not guarantee it will be available again. See Tier Cost Changes & Availability for More information.
The "Casual" Plan - Offer
$4.83
01/06/22 - Current
The "Tinkerer" Plan - Offer
$8.24
01/06/22 - Current
The "Pro" Plan - Offer
$11.19
01/06/22 - Current
These plans are retired and no longer available. Costs are fixed and can not be changed. Once a user has subscribed to the plan they will remain on the plan until the subscription is cancelled. Once an is retired it will be available again. See Tier Cost Changes & Availability for More information.
The OG "Casual" Plan
$5.99
01/05/22 - 31/05/22
The OG "Tinkerer" Plan
$9.99
01/05/22 - 31/05/22
The OG "Pro" Plan
$14.99
01/05/22 - 31/05/22
Once a User has purchased a subscription, the cost they pay will not change, unless they cancel the subscription and then re-subscribe.
Cancellation due to failed payment resulting in the cancellation of an archived or expired plan cannot be re-activated, regardless of the reason.
No notice will be given on archiving or retiring a plan or removing availability; however, We believe in an open dialect with our customers. That said, business reason depends, We will provide information in the form of an announcement when possible.
All Plans/Tiers are subject to other limitations, detailed below.
User Invites RITA to server >
User Joins RMS Server >
User selects relevant plan provided by Patreon >
User completes payment via platform
Patreon > Payment is handled by Patreon
Upon Confirmation of payment User activates Discord integration through account linking.
Guide for Patreon
Integration uses the Patreon Bot to apply relevant roles to User, a Role from Payment, Tier, and the Subscription section below are needed for RITA to work.
RITA detects role additions and adds relevant and required data to our Subscription Database
Once User has all identifying Roles they are able to see the channel #activate-rita-here.
If role addition fails or is incomplete, then it is investigated by the ADMIN team. The ADMIN team will manually validate payment completion and then apply correct roles, if necessary.
User types `!tr sub` in the above noted channel or in their own server. If they own more than one server or are admin in more than one server, then they are prompted to select the server they want to use RITA in.
RITA must be in the server before the command is run, else an error will be provided.
RITA is activated and the subscription process is completed.
User Invites RITA to server >
User types `!tr trial` in their own server.
RITA is activated and the TRIAL Activation process is completed.
Each plan has the following limitation applied.
Due to the rising cost of our Hosting, Charges to Google and Payment Processing Services, we have made changes to the character limitations applied to each plan, this will take effect on the 1st of May 2023
TRIAL USER
25
10,000 Hard Cap
Google API / ML
The "Reaction" Plan
0
100,000 Soft Cap
Google API / ML
The OG "Casual" Plan
100
200,000 Soft Cap
Google API / ML
The "Casual" Plan - Offer
100
200,000 Soft Cap
Google API / ML
The "Casual" Plan
100
200,000 Soft Cap
Google API / ML
The OG "Tinkerer" Plan
200
400,000 Soft Cap
Google API / ML
The "Tinkerer" Plan - Offer
200
400,000 Soft Cap
Google API / ML
The "Tinkerer" Plan
200
400,000 Soft Cap
Google API / ML
The OG "Pro" Plan
350
600,000 Soft Cap
Google API / ML
The "Pro" Plan - Offer
350
600,000 Soft Cap
Google API / ML
The "Pro" Plan
350
600,000 Soft Cap
Google API / ML
The "Ultima" Plan
550
800,000 Soft Cap
Google API / ML
TRIAL USER - The TRIAL will allow a user to try RITA for a period of one (1) month, or until limits have been reached, whichever comes first. Servers are limited to 1 TRIAL Per Server - Per Users. Once Limit has been reached RITA will stop functioning for translations. Users do not need to be a Member of the RMS (RITA Management Server) to use the TRIAL.
Hard Cap = not enforced to the digit but close. This is calculated by
Example from English to French: Hello -> Bonjour
(5 Characters * 1 language translation) + 5 original chars = 10 Total Chars
Exceeding Character Limit will result in bot ceasing to respond to translation requests.
Soft Cap = not enforced to the digit but close. This is calculated by
(Number of Characters in message * Number of languages translated to) + Original Char Count = Total Char Count.
Example from English to French: Hello -> Bonjour
(5 Characters * 1 language translation) + 5 original chars = 10 Total Chars
Exceeding Character Limit. Either of the following Scenarios are taken, via automation by RITA or manual intervention by a member of RMS Staff
A server exceeds the soft caps assigned to their plan
Translation Services are swapped from Implicit Google API Translation to Implicit Machine Learning API Translation for Languages we have trained and that are optimized to a high standard. See Machine Learning API for more information.
At the start of the next calendar month Implicit Google API Translation is reactivated until breach of soft cap
ML API currently has an upper bound limit of 10 million characters translated per month. This upper bond if not hard coded in to RITA, however it is checked periodically throughout the month. If a User exceeds this a custom tier cost or solution may be required, however no suspension will happen as a result of this limit.
Bulgarian
bg
1.4.0
Chinese (Simplified)
zh-CN
1.4.0
Chinese (Traditional)
zh-TW
1.4.0
Czech
cs
1.4.0
English
en
1.4.0
French
fr
1.4.0
Indonesian
id
1.4.0
Italian
it
1.4.0
Japanese
ja
1.4.0
Korean
ko
1.4.0
Portuguese
pt
1.4.0
Romanian
ro
1.4.0
Russian
ru
1.4.0
Serbian
sr
1.4.0
Ukrainian
uk
1.4.0
Vietnamese
vi
1.4.0
The Termination Process is used in conjunction with the Suspension Process and follows a pre-defined path.
AT NO POINT IN THIS PROCESS IS THE END USER ELIGIBLE FOR A REFUND. THIS PROCESS IS ONLY EXECUTED IN THE MOST SERIOUS OF CIRCUMSTANCES.
The Termination flow can only executed/started by the following RMS staff levels and is governed by a strict time frame.
Owners
Admins
Developers
A Suspension of Service can be implemented for a varying number of reasons. This is referred to as Pausing.
Pausing and resuming of service can only be conducted by the following RMS staff levels
RITA
Owners
Admins
Developers
Senior Staff
Service can be Paused under the following conditions
Detection of suspicious activity.
We cannot share what this look like to prevent anti-detection methods
Exceeding Character Limits of Tier (*When Implemented)
This could be Google API Limits or ML Limits
Suspicion that RITA is being used for SPAM or JUNK flooding
Request to Terminate by third party agencies or companies in line with our Privacy Policy and ToS.
Identification that RITA is being used for Commercial use exceeding fair and reasonable use. This is not defined and will be reviewed on a case by case basis. This does not exclude the use of RITA from commercial use.
Last updated: August 15, 2023
S.A.L.T.S Stands for Subscription, Activation, Limitations, Termination and Suspension Policy. This describes Our policies and procedures on how each of the aforementioned processes are handled.
By using the Service, You agree to the following processes and be subject to enforcement of them.
The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located Here.
A User subscription follows the below flows. These are different for each subscription platform.
Refer to activation steps below in Activation Section.
Subscriptions are renewed on different days depending on the platform.
Patreon
Renews monthly on the 1st of each month regardless of subscription date. E.g., subscription is purchased and payment is taken on the 09th of May. On the 1st of June payment is taken, then again on the 1st July. This continues monthly until cancelation.
These plans are the base subscription plans on offer. Costs are fixed and can not be changed. Once a user has subscribed to the plan they will remain on the plan until the subscription is cancelled. See Tier Cost Changes & Availability for More information.
REDACTED
REDACTED
REDACTED
The "Casual" Plan
$6.99
01/06/22 - Current
The "Tinkerer" Plan
$10.99
01/06/22 - Current
The "Pro" Plan
$15.99
01/06/22 - Current
REDACTED
REDACTED
REDACTED
These plans are subject to availability and are time-limited. Costs are fixed and can not be changed. Once a user has subscribed to the plan they will remain on the plan until the subscription is cancelled. Once an offer window has passed there is not guarantee it will be available again. See Tier Cost Changes & Availability for More information.
The "Casual" Plan - Offer
$4.83
01/06/22 - Current
The "Tinkerer" Plan - Offer
$8.24
01/06/22 - Current
The "Pro" Plan - Offer
$11.19
01/06/22 - Current
These plans are retired and no longer available. Costs are fixed and can not be changed. Once a user has subscribed to the plan they will remain on the plan until the subscription is cancelled. Once an is retired it will be available again. See Tier Cost Changes & Availability for More information.
The OG "Casual" Plan
$5.99
01/05/22 - 31/05/22
The OG "Tinkerer" Plan
$9.99
01/05/22 - 31/05/22
The OG "Pro" Plan
$14.99
01/05/22 - 31/05/22
Once a User has purchased a subscription, the cost they pay will not change, unless they cancel the subscription and then re-subscribe.
Cancellation due to failed payment resulting in the cancellation of an archived or expired plan cannot be re-activated, regardless of the reason.
No notice will be given on archiving or retiring a plan or removing availability; however, We believe in an open dialect with our customers. That said, business reason depends, We will provide information in the form of an announcement when possible.
All Plans/Tiers are subject to other limitations, detailed below.
User Invites RITA to server >
User Joins RMS Server >
User selects relevant plan provided by Patreon >
User completes payment via platform
Patreon > Payment is handled by Patreon
Upon Confirmation of payment User activates Discord integration through account linking.
Guide for Patreon
Integration uses the Patreon Bot to apply relevant roles to User, a Role from Payment, Tier, and the Subscription section below are needed for RITA to work.
RITA detects role additions and adds relevant and required data to our Subscription Database
Once User has all identifying Roles they are able to see the channel #activate-rita-here.
If role addition fails or is incomplete, then it is investigated by the ADMIN team. The ADMIN team will manually validate payment completion and then apply correct roles, if necessary.
User types `!tr sub` in the above noted channel or in their own server. If they own more than one server or are admin in more than one server, then they are prompted to select the server they want to use RITA in.
RITA must be in the server before the command is run, else an error will be provided.
RITA is activated and the subscription process is completed.
Each plan has the following limitation applied.
Due to the rising cost of our Hosting, Charges to Google and Payment Processing Services, we have made changes to the character limitations applied to each plan, this will take effect on the 1st of May 2023
REDACTED
REDACTED
REDACTED
REDACTED
The OG "Casual" Plan
100
200,000 Soft Cap
Google API / ML
The "Casual" Plan - Offer
100
200,000 Soft Cap
Google API / ML
The "Casual" Plan
100
200,000 Soft Cap
Google API / ML
The OG "Tinkerer" Plan
200
400,000 Soft Cap
Google API / ML
The "Tinkerer" Plan - Offer
200
400,000 Soft Cap
Google API / ML
The "Tinkerer" Plan
200
400,000 Soft Cap
Google API / ML
The OG "Pro" Plan
350
600,000 Soft Cap
Google API / ML
The "Pro" Plan - Offer
350
600,000 Soft Cap
Google API / ML
The "Pro" Plan
350
600,000 Soft Cap
Google API / ML
REDACTED
REDACTED
REDACTED
REDACTED
Soft Cap = not enforced to the digit but close. This is calculated by
(Number of Characters in message * Number of languages translated to) + Original Char Count = Total Char Count.
Example from English to French: Hello -> Bonjour
(5 Characters * 1 language translation) + 5 original chars = 10 Total Chars
Exceeding Character Limit. Either of the following Scenarios are taken, via automation by RITA or manual intervention by a member of RMS Staff
A server exceeds the soft caps assigned to their plan
Translation Services are swapped from Implicit Google API Translation to Implicit Machine Learning API Translation for Languages we have trained and that are optimized to a high standard. See Machine Learning API for more information.
At the start of the next calendar month Implicit Google API Translation is reactivated until breach of soft cap
ML API currently has an upper bound limit of 10 million characters translated per month. This upper bond if not hard coded in to RITA, however it is checked periodically throughout the month. If a User exceeds this a custom tier cost or solution may be required, however no suspension will happen as a result of this limit.
Bulgarian
bg
1.4.0
Chinese (Simplified)
zh-CN
1.4.0
Chinese (Traditional)
zh-TW
1.4.0
Czech
cs
1.4.0
English
en
1.4.0
French
fr
1.4.0
Indonesian
id
1.4.0
Italian
it
1.4.0
Japanese
ja
1.4.0
Korean
ko
1.4.0
Portuguese
pt
1.4.0
Romanian
ro
1.4.0
Russian
ru
1.4.0
Serbian
sr
1.4.0
Ukrainian
uk
1.4.0
Vietnamese
vi
1.4.0
The Termination Process is used in conjunction with the Suspension Process and follows a pre-defined path.
AT NO POINT IN THIS PROCESS IS THE END USER ELIGIBLE FOR A REFUND. THIS PROCESS IS ONLY EXECUTED IN THE MOST SERIOUS OF CIRCUMSTANCES.
The Termination flow can only executed/started by the following RMS staff levels and is governed by a strict time frame.
Owners
Admins
Developers
A Suspension of Service can be implemented for a varying number of reasons. This is referred to as Pausing.
Pausing and resuming of service can only be conducted by the following RMS staff levels
RITA
Owners
Admins
Developers
Senior Staff
Service can be Paused under the following conditions
Detection of suspicious activity.
We cannot share what this look like to prevent anti-detection methods
Exceeding Character Limits of Tier (*When Implemented)
This could be Google API Limits or ML Limits
Suspicion that RITA is being used for SPAM or JUNK flooding
Request to Terminate by third party agencies or companies in line with our Privacy Policy and ToS.
Identification that RITA is being used for Commercial use exceeding fair and reasonable use. This is not defined and will be reviewed on a case by case basis. This does not exclude the use of RITA from commercial use.
In Effect From: June 06, 2025 / Last updated: June 05, 2025
S.A.L.T.S Stands for Subscription, Activation, Limitations, Termination and Suspension Policy. This describes Our policies and procedures on how each of the aforementioned processes are handled.
By using the Service, You agree to the following processes and be subject to enforcement of them.
The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located Here.
A User subscription follows the below flows. These are different for each subscription platform.
Refer to activation steps below in Activation Section.
Subscriptions are renewed on different days depending on the platform.
Patreon
Renews monthly on the 1st of each month regardless of subscription date. E.g., subscription is purchased and payment is taken on the 09th of May. On the 1st of June payment is taken, then again on the 1st July. This continues monthly until cancelation.
Stripe
Renews monthly on the 1st of each month regardless of subscription date. E.g., subscription is purchased and payment is taken on the 09th of May. On the 1st of June payment is taken, then again on the 1st July. This continues monthly until cancelation.
Renews monthly on the day of subscription. E.g., subscription is purchased and payment is taken on the 9th of May. On the 9th of June payment is taken, then again on the 9th of July. This continues monthly until cancelation.
These plans are the base subscription plans on offer. Costs are fixed and can not be changed. Once a user has subscribed to the plan they will remain on the plan until the subscription is cancelled. See Tier Cost Changes & Availability for More information.
TRIAL USER
FREE* 1 Month
23/10/23 - Current
The "Reaction" Plan
$2.99
20/08/23 - Current
The "Casual" Plan
$6.99
01/06/22 - Current
The "Tinkerer" Plan
$10.99
01/06/22 - Current
The "Pro" Plan
$15.99
01/06/22 - Current
The "Ultima" Plan
$21.99
20/08/23 - Current
TRIAL USER - The TRIAL will allow a user to try RITA for a period of one (1) month, or until limits have been reached, whichever comes first. Servers are limited to 1 TRIAL Per Server - Per Users.
These plans are subject to availability and are time-limited. Costs are fixed and can not be changed. Once a user has subscribed to the plan they will remain on the plan until the subscription is cancelled. Once an offer window has passed there is not guarantee it will be available again. See Tier Cost Changes & Availability for More information.
The "Casual" Plan - Offer
$4.83
01/06/22 - Current
The "Tinkerer" Plan - Offer
$8.24
01/06/22 - Current
The "Pro" Plan - Offer
$11.19
01/06/22 - Current
These plans are retired and no longer available. Costs are fixed and can not be changed. Once a user has subscribed to the plan they will remain on the plan until the subscription is cancelled. Once an is retired it will be available again. See Tier Cost Changes & Availability for More information.
The OG "Casual" Plan
$5.99
01/05/22 - 31/05/22
The OG "Tinkerer" Plan
$9.99
01/05/22 - 31/05/22
The OG "Pro" Plan
$14.99
01/05/22 - 31/05/22
Once a User has purchased a subscription, the cost they pay will not change, unless they cancel the subscription and then re-subscribe.
Cancellation due to failed payment resulting in the cancellation of an archived or expired plan cannot be re-activated, regardless of the reason.
No notice will be given on archiving or retiring a plan or removing availability; however, We believe in an open dialect with our customers. That said, business reason depends, We will provide information in the form of an announcement when possible.
All Plans/Tiers are subject to other limitations, detailed below.
User Invites RITA to server >
User Joins RMS Server >
User selects relevant plan provided by Patreon >
User completes payment via platform
Patreon > Payment is handled by Patreon
Upon Confirmation of payment User activates Discord integration through account linking.
Guide for Patreon
Integration uses the Patreon Bot to apply relevant roles to User, a Role from Payment, Tier, and the Subscription section below are needed for RITA to work.
RITA detects role additions and adds relevant and required data to our Subscription Database
Once User has all identifying Roles they are able to see the channel #activate-rita-here.
If role addition fails or is incomplete, then it is investigated by the ADMIN team. The ADMIN team will manually validate payment completion and then apply correct roles, if necessary.
User types `!tr sub` in the above noted channel or in their own server. If they own more than one server or are admin in more than one server, then they are prompted to select the server they want to use RITA in.
RITA must be in the server before the command is run, else an error will be provided.
RITA is activated and the subscription process is completed.
User Invites RITA to server >
User types `!tr trial` in their own server.
RITA is activated and the TRIAL Activation process is completed.
Each plan has the following limitation applied.
Due to the rising cost of our Hosting, Charges to Google and Payment Processing Services, we have made changes to the character limitations applied to each plan, this will take effect on the 1st of May 2023
TRIAL USER
25
10,000 Hard Cap
Google API / ML
The "Reaction" Plan
0
100,000 Soft Cap
Google API / ML
The OG "Casual" Plan
100
200,000 Soft Cap
Google API / ML
The "Casual" Plan - Offer
100
200,000 Soft Cap
Google API / ML
The "Casual" Plan
100
200,000 Soft Cap
Google API / ML
The OG "Tinkerer" Plan
200
400,000 Soft Cap
Google API / ML
The "Tinkerer" Plan - Offer
200
400,000 Soft Cap
Google API / ML
The "Tinkerer" Plan
200
400,000 Soft Cap
Google API / ML
The OG "Pro" Plan
350
600,000 Soft Cap
Google API / ML
The "Pro" Plan - Offer
350
600,000 Soft Cap
Google API / ML
The "Pro" Plan
350
600,000 Soft Cap
Google API / ML
The "Ultima" Plan
550
800,000 Soft Cap
Google API / ML
TRIAL USER - The TRIAL will allow a user to try RITA for a period of one (1) month, or until limits have been reached, whichever comes first. Servers are limited to 1 TRIAL Per Server - Per Users. Once Limit has been reached RITA will stop functioning for translations. Users do not need to be a Member of the RMS (RITA Management Server) to use the TRIAL.
Hard Cap = not enforced to the digit but close. This is calculated by
Example from English to French: Hello -> Bonjour
(5 Characters * 1 language translation) + 5 original chars = 10 Total Chars
Exceeding Character Limit will result in bot ceasing to respond to translation requests.
Soft Cap = not enforced to the digit but close. This is calculated by
(Number of Characters in message * Number of languages translated to) + Original Char Count = Total Char Count.
Example from English to French: Hello -> Bonjour
(5 Characters * 1 language translation) + 5 original chars = 10 Total Chars
Exceeding Character Limit. Either of the following Scenarios are taken, via automation by RITA or manual intervention by a member of RMS Staff
A server exceeds the soft caps assigned to their plan
Translation Services are swapped from Implicit Google API Translation to Implicit Machine Learning API Translation for Languages we have trained and that are optimized to a high standard. See Machine Learning API for more information.
At the start of the next calendar month Implicit Google API Translation is reactivated until breach of soft cap
ML API currently has an upper bound limit of 10 million characters translated per month. This upper bond if not hard coded in to RITA, however it is checked periodically throughout the month. If a User exceeds this a custom tier cost or solution may be required, however no suspension will happen as a result of this limit.
Bulgarian
bg
1.4.0
Chinese (Simplified)
zh-CN
1.4.0
Chinese (Traditional)
zh-TW
1.4.0
Czech
cs
1.4.0
English
en
1.4.0
French
fr
1.4.0
Indonesian
id
1.4.0
Italian
it
1.4.0
Japanese
ja
1.4.0
Korean
ko
1.4.0
Portuguese
pt
1.4.0
Romanian
ro
1.4.0
Russian
ru
1.4.0
Serbian
sr
1.4.0
Ukrainian
uk
1.4.0
Vietnamese
vi
1.4.0
The Termination Process is used in conjunction with the Suspension Process and follows a pre-defined path.
AT NO POINT IN THIS PROCESS IS THE END USER ELIGIBLE FOR A REFUND. THIS PROCESS IS ONLY EXECUTED IN THE MOST SERIOUS OF CIRCUMSTANCES.
The Termination flow can only executed/started by the following RMS staff levels and is governed by a strict time frame.
Owners
Admins
Developers
A Suspension of Service can be implemented for a varying number of reasons. This is referred to as Pausing.
Pausing and resuming of service can only be conducted by the following RMS staff levels
RITA
Owners
Admins
Developers
Senior Staff
Service can be Paused under the following conditions
Detection of suspicious activity.
We cannot share what this look like to prevent anti-detection methods
Exceeding Character Limits of Tier (*When Implemented)
This could be Google API Limits or ML Limits
Suspicion that RITA is being used for SPAM or JUNK flooding
Request to Terminate by third party agencies or companies in line with our Privacy Policy and ToS.
Identification that RITA is being used for Commercial use exceeding fair and reasonable use. This is not defined and will be reviewed on a case by case basis. This does not exclude the use of RITA from commercial use.
Flag reactions work right after installing Rita, no commands are needed as long as Rita has been given the Recommend permission of Admin.
!tr react [on/off]
!tr settings reactpersist [on/off]
!tr settings flagpersist [on/off]
react - [on/off] disabes the ablity to use flag reactions to translate.
reactpersist - [on/off] removes the translation after 60 seconds
flagpersist - [on/off] removes the flag.
Recommended to use reactpersist and flagpersist together.
The full Supported list can be found below
:flag_af:
🇦🇫
Afghanistan
Pashto
ps
:flag_ax:
🇦🇽
Aland Islands
Swedish
sv
:flag_al:
🇦🇱
Albania
Albanian
sq
:flag_dz:
🇩🇿
Algeria
Arabic, French
ar, fr
:flag_as:
🇦🇸
American Samoa
English, Samoan
en, sm
:flag_ad:
🇦🇩
Andorra
Valencian
ca
:flag_ao:
🇦🇴
Angola
Portuguese
pt
:flag_ai:
🇦🇮
Anguilla
English
en
:flag_aq:
🇦🇶
Antarctica
null
null
:flag_ag:
🇦🇬
Antigua And Barbuda
English
en
:flag_ar:
🇦🇷
Argentina
Spanish
es
:flag_am:
🇦🇲
Armenia
Armenian
hy
:flag_aw:
🇦🇼
Aruba
Dutch
nl
:flag_au:
🇦🇺
Australia
English
en
:flag_at:
🇦🇹
Austria
German
de
:flag_az:
🇦🇿
Azerbaijan
Azerbaijani
az
:flag_bs:
🇧🇸
Bahamas
English
en
:flag_bh:
🇧🇭
Bahrain
Arabic
ar
:flag_bd:
🇧🇩
Bangladesh
Bengali
bn
:flag_bb:
🇧🇧
Barbados
English
en
:flag_by:
🇧🇾
Belarus
Belarusian, Russian
be, ru
:flag_be:
🇧🇪
Belgium
Dutch, French, German
nl, fr, de
:flag_bz:
🇧🇿
Belize
English, Spanish
en, es
:flag_bj:
🇧🇯
Benin
French
fr
:fag_bm:
🇧🇲
Bermuda
English
en
:flag_bt:
🇧🇹
Bhutan
Dzongkha
dz
:flag_bo:
🇧🇴
Bolivia
Spanish
es
:flag_ba:
🇧🇦
Bosnia And Herzegovina
Bosnian, Croatian, Serbian
bs, hr, sr
:flag_bw:
🇧🇼
Botswana
English
en
:flag_bv:
🇧🇻
Bouvet Island
Norwegian
no
:flag_br:
🇧🇷
Brazil
Portuguese
pt
:flag_io:
🇮🇴
British Indian Ocean Territory
English
en
:flag_bn:
🇧🇳
Brunei Darussalam
Malay, English
ms, en
:flag_bg:
🇧🇬
Bulgaria
Bulgarian
bg
:flag_bf:
🇧🇫
Burkina Faso
French
fr
:flag_bi:
🇧🇮
Burundi
French, Rundi
fr, rn
:flag_kh:
🇰🇭
Cambodia
Central Khmer
km
:flag_cm:
🇨🇲
Cameroon
French, English
fr, en
:flag_ca:
🇨🇦
Canada
English, French
en, fr
:flag_cv:
🇨🇻
Cape Verde
Portuguese
pt
:flag_ky:
🇰🇾
Cayman Islands
English
en
:flag_cf:
🇨🇫
Central African Republic
French, Sango
fr, sg
:flag_td:
🇹🇩
Chad
Arabic, French
ar, fr
:flag_cl:
🇨🇱
Chile
Spanish
es
:flag_cn:
🇨🇳
China
Chinese
zh-cn
:flag_cx:
🇨🇽
Christmas Island
Chinese, English, Malay
zh-cn, en, ms
:flag_cc:
🇨🇨
Cocos (Keeling) Islands
Malay, English
ms, en
:flag_co:
🇨🇴
Colombia
Spanish
es
:flag_km:
🇰🇲
Comoros
Arabic, French
ar, fr
:flag_cg:
🇨🇬
Republic of the Congo
French, Lingala
fr, ln
:flag_cd:
🇨🇩
Democratic Republic of the Congo
French, Swahili
fr, sw
:flag_ck:
🇨🇰
Cook Islands
English
en
:flag_cr:
🇨🇷
Costa Rica
Spanish
es
:flag_ci:
🇨🇮
Cote D’Ivoire
French
fr
:flag_hr:
🇭🇷
Croatia
Croatian
hr
:flag_cu:
🇨🇺
Cuba
Spanish
es
:flag_cy:
🇨🇾
Cyprus
Greek, Turkish
el, tr
:flag_cz:
🇨🇿
Czech Republic
Czech
cs
:flag_dk:
🇩🇰
Denmark
Danish
da
:flag_dj:
🇩🇯
Djibouti
Arabic, French
ar, fr
:flag_dm:
🇩🇲
Dominica
English
en
:flag_do:
🇩🇴
Dominican Republic
Spanish
es
:flag_ec:
🇪🇨
Ecuador
Spanish
es
:flag_eg:
🇪🇬
Egypt
Arabic
ar
:flag_sv:
🇸🇻
El Salvador
Spanish
es
:flag_gq;
🇬🇶
Equatorial Guinea
Spanish, French, Portuguese
es, fr, pt
:flag_er:
🇪🇷
Eritrea
Arabic, English, Tigrinya
ar, en, ti
:flag_ee:
🇪🇪
Estonia
Estonian
et
:flag_et:
🇪🇹
Ethiopia
Oriya, Amharic, Somali, Tigrinya
or, am, so, ti
:flag_fk:
🇫🇰
Falkland Islands (Malvinas)
English
en
:flag_fo:
🇫🇴
Faroe Islands
Danish, Faroese
da, fo
:flag_fj:
🇫🇯
Fiji
Fijian, English
fj, en
:flag_fi:
🇫🇮
Finland
Finnish, Swedish
fi, sv
:flag_fr:
🇫🇷
France
French
fr
:flag_gf:
🇬🇫
French Guiana
French
fr
:flag_pf:
🇵🇫
French Polynesia
French
fr
:flag_tf:
🇹🇫
French Southern Territories
French
fr
:flag_ga:
🇬🇦
Gabon
French
fr
:flag_gm:
🇬🇲
Gambia
English
en
:flag_ge:
🇬🇪
Georgia
Georgian
ka
:flag_de:
🇩🇪
Germany
German
de
:flag_gh:
🇬🇭
Ghana
English
en
:flag_gi:
🇬🇮
Gibraltar
English, Spanish
en, es
:flag_gr:
🇬🇷
Greece
Greek
el
:flag_gl:
🇬🇱
Greenland
Kalaallisut, Danish
kl, da
:flag_gd:
🇬🇩
Grenada
English
en
:flag_gp:
🇬🇵
Guadeloupe
French
fr
:flag_gu:
🇬🇺
Guam
English, Chamorro
en, ch
:flag_gt:
🇬🇹
Guatemala
Spanish
es
:flag_gg:
🇬🇬
Guernsey
English
en
:flag_gn:
🇬🇳
Guinea
French
fr
:flag_gw:
🇬🇼
Guinea-Bissau
Portuguese
pt
:flag_gy:
🇬🇾
Guyana
English
en
:flag_ht:
🇭🇹
Haiti
French
fr
:flag_hm:
🇭🇲
Heard Island & Mcdonald Islands
null
null
:flag_va:
🇻🇦
Holy See (Vatican City State)
Latin, Italian
la, it
:flag_hn:
🇭🇳
Honduras
Spanish
es
:flag_hk:
🇭🇰
Hong Kong
Chinese, English
zh-tw, en
:flag_hu:
🇭🇺
Hungary
Hungarian
hu
:flag_is:
🇮🇸
Iceland
Icelandic
is
:flag_in:
🇮🇳
India
Hindi
hi
:flag_id:
🇮🇩
Indonesia
Indonesian
id
:flag_ir:
🇮🇷
Iran
Persian
fa
:flag_iq:
🇮🇶
Iraq
Arabic, Kurdish
ar, ku
:flag_ie:
🇮🇪
Ireland
English, Irish
en, ga
:flag_im:
🇮🇲
Isle Of Man
English, Manx
en, gv
:flag_il:
🇮🇱
Israel
Hebrew, Arabic
he, ar
:flag_it:
🇮🇹
Italy
Italian
it
:flag_jm:
🇯🇲
Jamaica
English
en
:flag_jp:
🇯🇵
Japan
Japanese
ja
:flag_je:
🇯🇪
Jersey
English
en
:flag_jo:
🇯🇴
Jordan
Arabic
ar
:flag_kz:
🇰🇿
Kazakhstan
Kazakh, Russian
kk, ru
:flag_ke:
🇰🇪
Kenya
English, Swahili
en, sw
:flag_ki:
🇰🇮
Kiribati
English
en
:flag_kr:
🇰🇷
South Korea
Korean
ko
:flag_kw:
🇰🇼
Kuwait
Arabic
ar
:flag_kg:
🇰🇬
Kyrgyzstan
Kirghiz, Russian
ky, ru
:flag_la:
🇱🇦
Lao People’s Democratic Republic
Lao
lo
:flag_lv:
🇱🇻
Latvia
Latvian
lv
:flag_lb:
🇱🇧
Lebanon
Arabic
ar
:flag_ls:
🇱🇸
Lesotho
Southern Sotho, English
st, en
:flag_lr:
🇱🇷
Liberia
English
en
:flag_ly:
🇱🇾
Libya
Arabic
ar
:flag_li:
🇱🇮
Liechtenstein
German
de
:flag_lt:
🇱🇹
Lithuania
Lithuanian
lt
:flag_lu:
🇱🇺
Luxembourg
Letzeburgesch, French, German
lb, fr, de
:flag_mo:
🇲🇴
Macao
Chinese, Portuguese
zh-tw, pt
:flag_mk:
🇲🇰
Macedonia
Macedonian
mk
:flag_mg:
🇲🇬
Madagascar
Malagasy, French
mg, fr
:flag_mw:
🇲🇼
Malawi
English
en
:flag_my:
🇲🇾
Malaysia
Malay
ms
:flag_mv:
🇲🇻
Maldives
Maldivian
dv
:flag_ml:
🇲🇱
Mali
French
fr
:flag_mt:
🇲🇹
Malta
Maltese
mt
:flag_mh:
🇲🇭
Marshall Islands
Marshallese, English
mh, en
:flag_mq:
🇲🇶
Martinique
French
fr
:flag_mr:
🇲🇷
Mauritania
Arabic
ar
:flag_mu:
🇲🇺
Mauritius
English, French
en, fr
:flag_yt:
🇾🇹
Mayotte
French
fr
:flag_mx:
🇲🇽
Mexico
Spanish
es
:flag_fm:
🇫🇲
Micronesia
English
en
:flag_md:
🇲🇩
Moldova
Romanian
ro
:flag_mc:
🇲🇨
Monaco
French
fr
:flag_mn:
🇲🇳
Mongolia
Mongolian
mn
:flag_me:
🇲🇪
Montenegro
Montenegrin
cnr
:flag_ms:
🇲🇸
Montserrat
English
en
:flag_ma:
🇲🇦
Morocco
Arabic
ar
:flag_mz:
🇲🇿
Mozambique
Portuguese
pt
:flag_mm:
🇲🇲
Myanmar
Burmese
my
:flag_na:
🇳🇦
Namibia
English
en
:flag_nr:
🇳🇷
Nauru
Nauru
na
:flag_np:
🇳🇵
Nepal
Nepali
ne
:flag_nl:
🇳🇱
Netherlands
Dutch
nl
:flag_bq:
🇧🇶
Netherlands Antilles
Dutch
nl
:flag_nc:
🇳🇨
New Caledonia
French
fr
:flag_nz:
🇳🇿
New Zealand
English
en
:flag_ni:
🇳🇮
Nicaragua
Spanish
es
:flag_ne:
🇳🇪
Niger
French
fr
:flag_ng:
🇳🇬
Nigeria
English
en
:flag_nu:
🇳🇺
Niue
English, Niuean
en, niu
:flag_nf:
🇳🇫
Norfolk Island
English
en
:flag_mp:
🇲🇵
Northern Mariana Islands
English, Chamorro, Carolinian
en, ch, cal
:flag_no:
🇳🇴
Norway
Norwegian
no
:flag_om:
🇴🇲
Oman
Arabic
ar
:flag_pk:
🇵🇰
Pakistan
Urdu
ur
:flag_pw:
🇵🇼
Palau
English, Palauan
en, pau
:flag_ps:
🇵🇸
Palestinian Territory
Arabic
ar
:flag_pa:
🇵🇦
Panama
Spanish
es
:flag_pg:
🇵🇬
Papua New Guinea
English, Hiri Motu, Tok Pisin
en, ho, tpi
:flag_py:
🇵🇾
Paraguay
Spanish, Paraguayan Guaraní
es, gug
:flag_pe:
🇵🇪
Peru
Spanish
es
:flag_ph:
🇵🇭
Philippines
Tagalog
tl
:flag_pn:
🇵🇳
Pitcairn
English
en
:flag_pl:
🇵🇱
Poland
Polish
pl
:flag_pt:
🇵🇹
Portugal
Portuguese
pt
:flag_pr:
🇵🇷
Puerto Rico
Spanish
es
:flag_qa:
🇶🇦
Qatar
Arabic
ar
:flag_re:
🇷🇪
Reunion
French
fr
:flag_ro:
🇷🇴
Romania
Romanian
ro
:flag_ru:
🇷🇺
Russian Federation
Russian
ru
:flag_rw:
🇷🇼
Rwanda
Kinyarwanda, English, French, Swahili
rw, en, fr, sw
:flag_bl:
🇧🇱
Saint Barthelemy
French
fr
:flag_sh:
🇸🇭
Saint Helena
English
en
:flag_kn:
🇰🇳
Saint Kitts And Nevis
English
en
:flag_lc:
🇱🇨
Saint Lucia
English
en
:flag_sx:
🇲🇫
Saint Martin
Dutch, French, German
nl, fr
:flag_pm:
🇵🇲
Saint Pierre And Miquelon
French
fr
:flag_vc:
🇻🇨
Saint Vincent And Grenadines
English
en
:flag_ws:
🇼🇸
Samoa
Samoan, English
sm, en
:flag_sm:
🇸🇲
San Marino
Italian
it
:flag_st:
🇸🇹
Sao Tome and Principe
Portuguese
pt
:flag_sa:
🇸🇦
Saudi Arabia
Arabic
ar
:flag_sn:
🇸🇳
Senegal
French
fr
:flag_rs:
🇷🇸
Serbia
Serbian
sr
:flag_sc:
🇸🇨
Seychelles
English, French
en, fr
:flag_sl:
🇸🇱
Sierra Leone
English
en
:flag_sg:
🇸🇬
Singapore
English, Tamil, Chinese, Malay
en, ta, zh-tw, ms
:flag_sk:
🇸🇰
Slovakia
Slovak
sk
:flag_si:
🇸🇮
Slovenia
Slovenian
sl
:flag_sb:
🇸🇧
Solomon Islands
English
en
:flag_so:
🇸🇴
Somalia
Somali, Arabic
so, ar
:flag_za:
🇿🇦
South Africa
English, Afrikaans, Southern Sotho, Xhosa, Zulu
en, af, st, xh, zu
:flag_gs:
🇬🇸
South Georgia And Sandwich Islands
English
en
:flag_es:
🇪🇸
Spain
Spanish
es
:flag_lk:
🇱🇰
Sri Lanka
Sinhalese, Tamil
si, ta
:flag_sd:
🇸🇩
Sudan
Arabic
ar
:flag_sr:
🇸🇷
Suriname
Dutch
nl
:flag_sj:
🇸🇯
Svalbard And Jan Mayen
Norwegian
no
:flag_sz:
🇸🇿
Swaziland
Swati, English
ss, en
:flag_se:
🇸🇪
Sweden
Swedish
sv
:flag_ch:
🇨🇭
Switzerland
German, French, Italian
de, fr, it
:flag_sy:
🇸🇾
Syrian Arab Republic
Arabic
ar
:flag_tw:
🇹🇼
Taiwan
Chinese
zh-tw
:flag_tj:
🇹🇯
Tajikistan
Tajik
tg
:flag_tz:
🇹🇿
Tanzania
Swahili
sw
:flag_th:
🇹🇭
Thailand
Thai
th
:flag_tl:
🇹🇱
Timor-Leste
Tetum, Portuguese
tet, pt
:flag_tg:
🇹🇬
Togo
French
fr
:flag_tk:
🇹🇰
Tokelau
Tokelau, English
tkl, en
:flag_to:
🇹🇴
Tonga
Tonga, English
to, en
:flag_tt:
🇹🇹
Trinidad and Tobago
English
en
:flag_tn:
🇹🇳
Tunisia
Arabic
ar
:flag_tr:
🇹🇷
Turkey
Turkish
tr
:flag_tm:
🇹🇲
Turkmenistan
Turkmen
tk
:flag_tc:
🇹🇨
Turks and Caicos Islands
English
en
:flag_tv:
🇹🇻
Tuvalu
Tuvalu, English
tvl, en
:flag_ug:
🇺🇬
Uganda
English, Swahili
en, sw
:flag_ua:
🇺🇦
Ukraine
Ukrainian
uk
:flag_ae:
🇦🇪
United Arab Emirates
Arabic
ar
:flag_gb:
🇬🇧
United Kingdom
English
en
:flag_us:
🇺🇸
United States
English
en
:flag_um:
🇺🇲
United States Outlying Islands
English
en
:flag_uy:
🇺🇾
Uruguay
Spanish, Portuguese
es, pt
:flag_uz:
🇺🇿
Uzbekistan
Uzbek
uz
:flag_vu:
🇻🇺
Vanuatu
Bislama, English, French
bi, en, fr
:flag_ve:
🇻🇪
Venezuela
Spanish
es
:flag_vn:
🇻🇳
Vietnam
Vietnamese
vi
:flag_vg:
🇻🇬
British Virgin Islands
English
en
:flag_vi:
🇻🇮
Us Virgin Islands
English
en
:flag_wf:
🇼🇫
Wallis and Futuna
French
fr
:flag_eh:
🇪🇭
Western Sahara
Arabic
ar
:flag_ye:
🇾🇪
Yemen
Arabic
ar
:flag_zm:
🇿🇲
Zambia
English
en
:flag_zw:
🇿🇼
Zimbabwe
Chichewa, English, Xhosa, Southern Sotho, Shona
ny, en, xh, st, sn