Only this pageAll pages
Powered by GitBook
1 of 87

RitaBot Docs

Loading...

Loading...

Loading...

Usage, Commands & Settings

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Premium/Paid Features

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Misc

Loading...

Loading...

Loading...

Version History

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

Updates

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Policys

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Group Translations

Groups channels using Automatic Channel Translation in a simple, easy-to-manage manner.

The group commands are interactive and require you to respond to any prompts correctly to function

Command

You can use slash commands like /group create in order to create groups or use the commands listed bellow.

Video with slash command

Legacy commands

  • !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

Parameters

  • [GROUPNAME] refers to the group name you give to the group (can check groups with !tr group list)

Examples

Group Creation

Group List

Group Link

Group Unlink

Group Delete

Notes

  • 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

here

Introduction

The official documentation of RitaBot. Breaking the language barrier for thousands of people.

RitaBot Discord Translator

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

Things you can do with Rita

  • 🪝 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

How much does it cost?

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.

How to intall ?

If you need help at any point join our and someone will help you.

🗣️ Speak with others across multiple channels using the command.

If you have any suggestions for future features feel free to join our and add a request to #feature-request

The explains further, and you can see how much it costs on

To install, you can follow the guide

Discord Server
!tr group
Discord Server
overview here
Patreon
Quick setup steps

Translation Commands

Information on Transaltion Commands.

Channel Translation

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

Legacy commands

!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]

Parameters

  • 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.

Examples

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

Server Admins/Mods

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

Stopping Translations

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]

Parameters

  • [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.

Admins/Mods

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

Notes

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.

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).

Meet the Team

Get to know us, we dont Bite.

The Owners

Artanis - CDO

I'm Artanis, the resident geek on the team. When I'm not procrastinating or playing video games (including Starcraft of course), I train and manage our Machine Learning API and models. I'm curious person at heart, and always love to learn about new things. I taught myself to code in Node as a 13 year old (at the beginning of Rita), and have since expanded to Python, Typescript, and some scripting languages such as AutoHotKey for some gaming side projects. I'll be the one to disappear into random projects only to leave them unfinished.

Jupiter - CCO

He looks sometimes like if he was not born in earth, but he's nice too

JShep89 - CHRO

Always thinking about improvement of bot from user-ends, he will always listen to your feedbacks (even if he hates writing)

Zycore - CFO

The one who doesn't want to fill this section

He's shy but not that much.

Development & Core Staff

Z3US - Core Developer

My skills centre in IT and Telephony.

I have a focus on newer style technologies such as VoIP and Cloud Distributed SIP environments, however I also have a strong grounding in older Siemens Telephony systems (HighPath 3k, Realities).

My hobby happens to be coding, I focus on Powershell and NodeJS. Hence my possition here at RITABot. While I am still a beginner, I never stop learning new things.

I am proficient in Windows, MacOS and Linux, and have started learning Unix in the form of BSD. The main focus behind this is so that any task I take on, I am not limited by my knowledge of the Operating system involved.

I never shy away from a challenge and always find a way to improve.

Qjuh - Developer

I‘m Qjuh, I’m a teacher for maths and computer science and in my free time I’m a hobby programmer and mobile gamer What lead me to become a RITA user at first (for our multilingual mobile gaming discord) and then gradually getting more and more involved in its development. Well, here I am now and trying not to break too much while adding stuff here and there…

Brozer - Database Developer

At work, i'm a DBA on the development side who help dev teams (over 600 people) to modelize their data into RDBMS like PostgreSQL and Oracle. I also help them to build secured databases, evolutive with perf guarantees. As a support member, I also give them lessons on fundamentals like how to code properly in SQL ANSI, how to choose a database to fit their needs (relational Vs NoSQL) and how to improve their physical model in adequation with the datas they want to store in, even for huge storage / huge sollicitations.

My hobbies are mainly development, that's why i joined RITA Team for learning and helping on Node.js and Sequelize with my "DB skills" first. I also code for my home automation (bash, Lua, JSON, XML, SQLite, ...)

Trainer Paul - Senior Helper(Retired)

I have a long history of Dos, Windows, Database building, and Server building experience, but nothing compared to the combined knowledge of the Rita team. Why Trainer? I used to actually train employees, and a Electrical instructor of years past. I support the Rita team, users, and helping is one of my qualities. Thanks Rita team for closing the gap on communication for all members on Discord.

Support Staff

Several years of Discord Administrator experience, currently a Student of History. No specific coding experience but I love to help people with Bots and Discord and have fun doing so.

I've got a good humor, so always up to have a laugh and make someone's day better. Love Mobile Gaming, which is where I came to Rita from as well.

Loving Rita for making cross language communications much easier, so have to give something to her and the team as well!

17 years experience as an sysadmin, currently working as a security consultant with focus on IAM and PAM. I Love a good challenge and making things work in ways they shouldnt.

Sarcastic 90% of the time and Love to help people make their day better!

Community Helpers

If you need help at any point join our and someone will help you.

We do suggest you to use instead of Channel Translation (easier to maintain)

The funny one (when he forget he's an HR ).

Well, my skills are SQL ANSI, PostgreSQL, Oracle Database, SQLite, Flyway (for CI/CD ), bash, .... (REDIS comming soon). And i'm confortable on Windows and Linux OS. I just have to improve my english

😄
😄
Discord Server
Group Translations
Creating a group connects all the channels you assign to it interchangeably
Lists all groups in server
Linking a channel links in the channel to all channels in the group
Unlinking a channel does the opposite of linking a channel
Deletes all tasks associated with group

Statistics

!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.

Misc. Commands

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.

Help

!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.

Links

!tr invite - Creates an invite link for the bot so other can use it, i would not recommend using this command.

Supported Languages

!tr list - Lists all supported languages the bot can use.

Version

!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.

Parameters

** [version]** - Version number.

Tasks

!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.

Donate

!tr donate oc - Donation link for open Collective.

!tr donate github - Donation link for GitHub.

Prefix

!tr prefix [prefix] - Sets custom bot prefix

parameters

** [prefix] - custom prefix**

ID Info

!tr id - Shows various ID info

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

Discord Server
Discord Server

Overview

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.

About Subscribing

Maintenance and Uptime

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.

Servers

Currently, only the server owner or admin can buy a subscription for a server. Furthermore, only one server can be activated with your subscription at a time. This will be liable to change in the future as time goes on.

How to Activate?

Soft Limit

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.

Quality

  • 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

Limits

  • 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.

What do I get with each plan?

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.

Function / Command
Casual
Tinkerer
Pro

Task Limit

100

200

350

Soft Limit (characters)

~200k Google

~450k Google

~700k Google

Character Limit (backed by ML)

Unlimited

Unlimited

Unlimited

What is a task?

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

Custom Message

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.

Command

!tr this: [msg] - Translates to default server language

!tr this to [lang]: [msg] - detects language and translates to your to langugae

Parameters

  • to [lang] - Defaults to server default language

  • to [lang, lang, ...] - Translates to multiple languages

  • from [lang] - Defaults to automatic detection

Examples

!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?

If you need help at any point join our and someone will help you.

In order to subscribe to RitaBot, you must be on our . Subscriptions are role-based, 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.

For any queries you may have in regards to subscriptions, please proceed to #open-a-ticket in our .

If you're lost about the link between subscription and RITA's intallation, you can have a look at the guide

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.

To activate your subscription after you have paired your Discord Account to your payment, you must run the !tr sub command in the #activate-rita-here channel in our , after you do so follow the prompts to activate your subscription for the specific server.

In order to subscribe and maintain said subscription, 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).

If you need help at any point join our and someone will help you.

Discord Server
Discord Server
Discord Server
Quick Setup Steps
Refund Policy
Discord Server
Discord Server
Discord Server

Available Plans

All Plans, Prices, Limitations and Restrictions are correct at time of publication.

Please review our S.A.L.T.S Policy for more information on Availability, Limitations and Restrictions.

English to Spanish, translating to the Spanish Channel
Translating all supported languages to Spanish in the #general-en channel ( same channel ) Not Recommended for more than 3 languages

Subscriptions are available on . The guide is available

If you need help at any point join our and someone will help you.

Patreon
here
Discord Server
S.A.L.T.S Policy

It’s All About Rita

All development and support of the self-hosted version has now been discontinued

What is RITA and who are we?

Why did you make Rita?

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.

The history of Rita?

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.

Why RITA and what does it stand for?

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.

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 .

introduction page

FAQ

Here are some of the common questions that have been asked about the process.

Why is RITA no longer free?

We used an old version of the Google Translate Website API that was intended to be decommissioned prior to 2010. Google has now shut this down, as such, we are now required to use the Google Cloud Translate API which comes with costs.

Can I continue to use Self-Hosting?

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.

Why is self hosting support ending?

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.

Can I use a personal API Key using Self-Hosting instead?

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.

Can I purchase a lifetime subscription?

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.

Is payment per server or per user?

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.

Is there a limit to how many servers we can purchase for?

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, User must pay for the subscription themselves as the sub is mapped to their USER ID.

What are our future plans?

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.

What support can I expect?

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.

How will payments be made?

Currently we offer subscriptions though Patreon. Patreon utilizes PayPal and card payments.

What Subscription levels will be offered?

Currently, we are offering 3 levels.

Reaction = 0 Tasks - Translation by Reaction only Casual = 100 Tasks Tinkerer = 200 Tasks Pro= 350 Tasks Ultima = 550 Tasks All levels come with Discord access and roles, with bot support for the lifetime of your subscription. To hold your subscription you must be in our support server.

Why is there a Task limit?

Again this is simple, if every server had 1000 task limit, 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 starting limit, and since 98% of our current user base has less than 100 it is easy to launch with most of the work done.

We recognise that some server may need more tasks, thats why we have other plans to pick from.

Do i need to set RITA up again in my server?

If you had RITA in your server before, any configuration you had previously will continue to operate without additional setup. Please note, however, that if your task count exceeds 250, then the basic plan will not be enough for you, and RITA may not start translating immediately until upgraded.

Available Plan Poster - 20/08/23

Quick setup steps

How to make RITA running in your Discord Server

Steps to follow in order to install RITA

  1. Check that your discord account is the owner of the server or an admin of the server you want RITA Bot in

  2. With the same discord account, go into your Discord server and run !tr sub in any of your discord server channels to activate your RITA plan.

Quick setup steps FAQ

Do I need to purchase a subscription to get RITA work ?

Yes

I had an issue with my payments in Patreon, got over it, but !tr sub is still not working

This occurs due to some issues with Patreon

  1. Check that your payment has been successful in Patreon

  2. Try to unlink/relink your discord account and then run !tr sub again in your server

  3. If none of this works - please open a support ticket in our discord server

I'm the owner of the server where RITA is, and i installed it / purchased the subscription. I don't want to configure it, can one of my server admin do it ?

Yes of course !

How to change the server where RITA is translating ?

To move your subscription from one server to another you only need to invite RITA and run the command !tr sub in the server you wish it to be in.

with this Discord account

(need email to be verified)

Invite RITA in your discord server :

Now you can and translate a Discord chanel into another one . Most common use is by running or and following the instructions displayed

What is a subscription / what is a task / what Tier means in Patreon ?

All details are avaiable in the ""

Join RITA's discord server
https://ritabot.gg/invite
Personalize your RITA's setting
with serveral commands
!tr group
/group create
Overview of Premium/Paid features

Basic Usage Information.

Prefix and Commands

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.

Important Note

RitaBot must have proper permissions in all relevant channels for full functionality (read, write, react, mention, attachments, embed, use external emojis, manage webhooks).

Command structure

[prefix] + [main command] + [parameters]

For Example:

!translate help modules

!tr help modules

!tr help

Settings

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.

Current-server-settings

This command will display a printout of your current server settings.

!tr settings

Set custom Bot Prefix

This command will allow you to set a custom prefix for RITA in your server.

!tr prefix [prefix]

!translate prefix [prefix]

Developer Announcement Messages

This command will turn off messages from the Development team.

!tr announce [on/off]

Embedded Message Style

This command will allow you to use either embed or webhook translation Styles.

!tr embed [on/off]

!tr help embed

This is embed style: This is webhook style:

Language Detection

This command will add a source Language marker to the translated text.

!tr settings langdetect [on/off]

Bot to Bot Translation Status

This command will allow RITA to translate messages from most bots

!tr bot2bot [on/off]

!tr help bot2bot

Tags(everyone, here and user)

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]

Parameters

none - RITA won't ignore any mentions

everyone - RITA will ignore everyone and here tags

all - RITA will ignore all mentions

Reaction Translations

This command will turn off the ability to translate a message with Country flags.

!tr react [on/off]

Auto Deletion Commands

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]

Webhook Debug Active State

This command will allow you to turn on debugging for RITA related errors in your server.

!tr debug [on/off]

!tr help debug

Reset All Settings

This command will reset all Settings to their default setting.

!tr settings reset

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.

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

Discord Server
Discord Server
Subscribe to RITA in Patreon
Link your Patreon account to your discord account

How to Subscribe

All the information you need to know about subscriptions.

Patreon

This is a Guide on how to subscribe on Patreon

What is Patreon

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.

How to Subscribe

  • 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.

Linking/Creating an Account - Before & After

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

Cancelling a Subscription

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.

Last Message

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.

Commands

!tr last

!tr last [n] to [lang] from [lang]

Parameters

  • 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

Examples

!tr last 2

!tr last to english

!tr last to english, german, french

!tr last -6 to english from german

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.

If you need help at any point join our and someone will help you.

Navigate to

If you need help at any point join our and someone will help you.

Discord Server
Patreon

MIT License

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.

Copyright (c) 2019 RITA

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.

Copyright (c) 2017 Aziz

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.

V1.2.?

Version History for 1.2.?

Discord Server

V1.3.0

Version History for 1.3.?

V1.2.1

Information about the 1.2.2 Update.

Change Log

  • 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.

  • 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-watchhave 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.

V1.2.4

Information about the 1.2.4 Update.

Major Changes

Dev only Command handler has been added in to enable fast changes to command restrictions.

Bug Fixes

  • Lots of little things, nothing of consequence.

Command Changes

  • !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.

Database Changes

  • A new column has been added to manage blacklisting and Warning, backwards compatible to all previous versions.

Misc. Changes

  • 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.

Payment FAQ

Why have been charged too much?

This may only happen with Patreon. Patreon rounds up to the nearest .5 increment of your currency. This is not something we are able to overcome, this is how Patreon works.

Can I use <insert service here> to pay for RITA?

No, we only use Patreon to facilitate our payments and automation. If the payment methods supported by Patreon do not include your desired payment service then we can't assist you regarding this.

V1.2.0

Information about the 1.2.0 Update.

Change Log

  • 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.

V1.2.2

Information about the 1.2.2 Update.

Major Changes

  • Rita now uses Discord.js V12.

Bug Fixes

  • 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.

Command Changes

  • 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.

Database Changes

  • 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)

Misc Changes

  • 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

If you need help at any point join our and someone will help you.

Please Note Due to the first message after each restart will share the same behaviour as above.

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

Why have I been charged twice by Patreon?

Patreon always charges on the 1st of each month. For example, if your purchase a subscription on the 28th of April. You will be charged for a month, and then charged again on the 1st of May. This is done every calendar month and is called upfront charging. If you were charged twice For more information, please click

How do I claim a refund?

Please refer to our

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

Discord Server
Automatic dyno restarts
Discord Server
Discord Server
here
refund policy
Discord Server
Discord Server

Reaction Translation

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.

Translates a message in the server when you react to it with a flag emoji.

The full Supported list can be found below

Code
Flag
Country
Translates Tonga
Lang Code

: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

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.

V1.2.3

Information about the 1.2.3 Update.

Major Changes

  • 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.

Bug Fixes

  • 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

Command Changes

  • !tr stats global / !tr stats server now show message based stats, take a look.

Database Changes

  • It working so were not going to touch it. (Well Zycore wont)

Misc Changes

  • 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.

V1.2.6

Information about the 1.2.6 Update.

Major Changes

  • 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.

Bug Fixes

  • !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.

Command Changes

  • !tr react on/off now turns on and off flag reactions.

Database Changes

  • 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

Misc. Changes

  • Sooooooo Many spelling mistakes corrected that it would be too many to list here.

  • Help Menu updated with new commands.

Contact Us

V1.2.5

Information about the 1.2.5 Update.

Major Changes

  • 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.

Bug Fixes

  • Color now working in Embed on and takes user role color.

  • Stop command for @user has now been fixed

Command Changes

  • 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.

Database Changes

  • Validation Checks added at startup to avoid Blacklist and Stats SQL Errors

Misc. Changes

  • 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

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

For support, please visit us at our If you wish to email us about payments, please use

If you need help at any point join our and someone will help you.

Discord Server
Discord Server
Discord Server
🇦🇫
🇦🇽
🇦🇱
🇩🇿
🇦🇸
🇦🇩
🇦🇴
🇦🇮
🇦🇶
🇦🇬
🇦🇷
🇦🇲
🇦🇼
🇦🇺
🇦🇹
🇦🇿
🇧🇸
🇧🇭
🇧🇩
🇧🇧
🇧🇾
🇧🇪
🇧🇿
🇧🇯
🇧🇲
🇧🇹
🇧🇴
🇧🇦
🇧🇼
🇧🇻
🇧🇷
🇮🇴
🇧🇳
🇧🇬
🇧🇫
🇧🇮
🇰🇭
🇨🇲
🇨🇦
🇨🇻
🇰🇾
🇨🇫
🇹🇩
🇨🇱
🇨🇳
🇨🇽
🇨🇨
🇨🇴
🇰🇲
🇨🇬
🇨🇩
🇨🇰
🇨🇷
🇨🇮
🇭🇷
🇨🇺
🇨🇾
🇨🇿
🇩🇰
🇩🇯
🇩🇲
🇩🇴
🇪🇨
🇪🇬
🇸🇻
🇬🇶
🇪🇷
🇪🇪
🇪🇹
🇫🇰
🇫🇴
🇫🇯
🇫🇮
🇫🇷
🇬🇫
🇵🇫
🇹🇫
🇬🇦
🇬🇲
🇬🇪
🇩🇪
🇬🇭
🇬🇮
🇬🇷
🇬🇱
🇬🇩
🇬🇵
🇬🇺
🇬🇹
🇬🇬
🇬🇳
🇬🇼
🇬🇾
🇭🇹
🇭🇲
🇻🇦
🇭🇳
🇭🇰
🇭🇺
🇮🇸
🇮🇳
🇮🇩
🇮🇷
🇮🇶
🇮🇪
🇮🇲
🇮🇱
🇮🇹
🇯🇲
🇯🇵
🇯🇪
🇯🇴
🇰🇿
🇰🇪
🇰🇮
🇰🇷
🇰🇼
🇰🇬
🇱🇦
🇱🇻
🇱🇧
🇱🇸
🇱🇷
🇱🇾
🇱🇮
🇱🇹
🇱🇺
🇲🇴
🇲🇰
🇲🇬
🇲🇼
🇲🇾
🇲🇻
🇲🇱
🇲🇹
🇲🇭
🇲🇶
🇲🇷
🇲🇺
🇾🇹
🇲🇽
🇫🇲
🇲🇩
🇲🇨
🇲🇳
🇲🇪
🇲🇸
🇲🇦
🇲🇿
🇲🇲
🇳🇦
🇳🇷
🇳🇵
🇳🇱
🇧🇶
🇳🇨
🇳🇿
🇳🇮
🇳🇪
🇳🇬
🇳🇺
🇳🇫
🇲🇵
🇳🇴
🇴🇲
🇵🇰
🇵🇼
🇵🇸
🇵🇦
🇵🇬
🇵🇾
🇵🇪
🇵🇭
🇵🇳
🇵🇱
🇵🇹
🇵🇷
🇶🇦
🇷🇪
🇷🇴
🇷🇺
🇷🇼
🇧🇱
🇸🇭
🇰🇳
🇱🇨
🇲🇫
🇵🇲
🇻🇨
🇼🇸
🇸🇲
🇸🇹
🇸🇦
🇸🇳
🇷🇸
🇸🇨
🇸🇱
🇸🇬
🇸🇰
🇸🇮
🇸🇧
🇸🇴
🇿🇦
🇬🇸
🇪🇸
🇱🇰
🇸🇩
🇸🇷
🇸🇯
🇸🇿
🇸🇪
🇨🇭
🇸🇾
🇹🇼
🇹🇯
🇹🇿
🇹🇭
🇹🇱
🇹🇬
🇹🇰
🇹🇴
🇹🇹
🇹🇳
🇹🇷
🇹🇲
🇹🇨
🇹🇻
🇺🇬
🇺🇦
🇦🇪
🇬🇧
🇺🇸
🇺🇲
🇺🇾
🇺🇿
🇻🇺
🇻🇪
🇻🇳
🇻🇬
🇻🇮
🇼🇫
🇪🇭
🇾🇪
🇿🇲
🇿🇼
Discord Server
Payments@ritabot.gg
Discord Server

V1.3.9

Version Changes for 1.3.?-?

Inital Release

### 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

V-1

### 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`

V-2

### 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

V1.3.6

Version Changes for 1.3.?-?

Inital Release

### 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`

V-1

### 1.3.6-1
Date: 19/10/22
User: Qjuh
> ----------
>>> events.js
* Added origin to `console.log` in `uncaughtException` handler

V-2

### 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) {...}`

V1.3.7

Version Changes for 1.3.?-?

Inital Release

### 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.

V-1

### 1.3.7-1
Date: 19/10/22
User: Qjuh
> ----------
>>> translate.js
* Fixed `catch` statement in `sendData` function

V1.3.5

Version Changes for 1.3.5-?

Inital Release

### 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

V-1

### 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)

V-2

### 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')`

V1.3.8

Version Changes for 1.3.?-?

Inital Release

### 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

V-1

### 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

V-2

### 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

V-3

### 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

V1.3.0

Version History for 1.3.?

Major Changes

  • 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

Bug Fixes

  • 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

Command Changes

  • !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

Database Changes

  • 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

Misc. Changes

  • 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

V1.3.11

Version Changes for 1.3.?-?

Inital Release

### 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

V1.3.10

Version Changes for 1.3.?-?

Inital Release

### 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

V1.3.12

Version Changes for 1.3.?-?

Inital Release

### 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

V1.3.14

Version Changes for 1.3.?-?

Inital Release

V-1

V-2

V1.3.16

Version Changes for 1.3.?-?

Inital Release

V-1

V-2

V1.3.18

Version Changes for 1.3.?-?

Inital Release

V-1

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

Discord Server
Discord Server
Discord Server
Discord Server
Discord Server
Discord Server
Discord Server
Discord Server
Discord Server
### 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
### 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.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
Discord Server
Discord Server
Discord Server

V1.3.19

Version Changes for 1.3.?-?

Inital Release

No Public Change Log

V-1

### 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

V-2

### 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

V1.3.13

Version Changes for 1.3.?-?

Inital Release

### 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.

V-1

### 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.

V-2

No Public Change Log

V-3

No Public Change Log

V-4

No Public Change Log

V-5

### 1.3.13-5
Date: 01/11/22
User: Qjuh
> ----------
>>> send.js
* put stickers into embeds instead of attachments

V-6

### 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`

V1.3.15

Version Changes for 1.3.?-?

Inital Release

### 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

V1.3.17

Version Changes for 1.3.?-?

Inital Release

V1.3.23

Version Changes for 1.3.?-?

Inital Release

V-1

V-2

V-3

V-4

V-5

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

Discord Server
Discord Server
Discord Server
### 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
### 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
Discord Server
Discord Server

V1.3.28

Version Changes for 1.3.?-?

Inital Release

### 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

V-1

### 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

V1.3.21

Version Changes for 1.3.?-?

Inital Release

### 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

V-1

### 1.3.21-1
Date: 9/12/22
User: Zycore
> ----------
>>> choose_server.js
* Removed mention of Ko-Fi from prompt.

V1.3.22

Version Changes for 1.3.?-?

Inital Release

### 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

V-1

### 1.3.22-1
Date: 10/12/22
User: Zycore
> ----------
>>> translate.js
* Fixed a bug with missing engine value.

V-2

### 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.

V1.3.26

Version Changes for 1.3.?-?

Inital Release

V-1

V-2

V-3

V-4

V1.3.20

Version Changes for 1.3.?-?

Inital Release

V-1

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

Discord Server
Discord Server
Discord Server
### 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` 
### 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
Discord Server
Discord Server

V1.4.0

These changes are not final, and feature may be added and removed before launch.

V1.3.24

Version Changes for 1.3.?-?

Inital Release

### 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

V-1

### 1.3.24-1
Date: 27/01/23
User: Qjuh 
> ----------
>>> db.js, events.js, send.js
* Added JSDoc's

>>> send.js
* Fixed stickers Bug

V-2

### 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

V-3

### 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`

V-4

### 1.3.24-4
Date: 03/02/23
User: Qjuh 
> ----------
>>> db.js
* Multiple Fixes of `taskCount` bug

V1.3.25

Version Changes for 1.3.?-?

Inital Release

### 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`

V-1

### 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

V-2

### 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

V-3

### 1.3.25-3
Date: 11/02/23
User: Qjuh 
> ----------
>>> db.js
* Fixed origin null bug

22/05/2022

Important Annoucement Shared Via Discord

BETA TESTERS WANTED

How many do we need?

Are there any restrictions?

What do I need to do?

What next?

Will I need to set everything up again?

What do I have to do as a BETA Tester?

Are there any downsides?

What's in it for me?

But.......

V1.3.27

Version Changes for 1.3.?-?

Inital Release

V-1

V-2

V1.3.29

Version Changes for 1.3.?-?

Inital Release

V-1

V-2

V1.4.0

Version Changes for 1.3.?-?

Inital Release

V-1

V-2

V-3

V-4

V-5

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

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 need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

If you need help at any point join our and someone will help you.

Discord Server
Discord Server
Discord Server
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.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`
### 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
### 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
Discord Server
Discord Server
Discord Server
Discord Server

31/03/2023

Important Annoucement Shared Via Discord

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

05/01/2023

Important Annoucement Shared Via Discord

A Year in Review - RITA 2022

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. 

RITA Message Statistics for 2022:

* 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! 

RITA Artificial Intelligence Machine Learning (ML) Work In Progress

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

RITA Team and Server Updates for 2022

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

01/04/2022

Update on the state of RITA 1.3.0 Public Release.

First things first

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.

Why is it taking so long?

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.

What happens next?

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. 

How much will RITA cost?

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. 

Can I purchase a lifetime subscription?

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.

Can I continue to use Self-Hosting?

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. 

Can I use a personal API Key using Self-Hosting instead?

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. 

Is the payment per server or per user?

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.

Why is this limited to owners and not admins?

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. 

Is there a limit to how many servers we can purchase for?

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.

What are our future plans?

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. 

When is the Launch?

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. 

What support can I expect?

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.

How will payments be made?

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. 

What Subscription levels will be offered?

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.

Will there be any limitations?

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.

Why is there a Task limit?

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.

Why is self hosting support ending?

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.

Final Thoughs, Questions and Concerns.

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. 

06/04/2023

Upcoming Changes to RITA and what we have been doing.

1.4.0 is Here

RITA is Almost 1 Year Old, Again

A Year of RITA (Well...)

RITA Message Statistics for 2022:

Machine Learning (ML)

"Softer" Soft Limits

Once a user hit these limits, no suspension activity took place however we would enquire about the usage to ensure validity, Once we knew it was all hunky dory we would not inquire again.

Ex. You are a "Casual" Plan user, Your server has used 300k characters since the start of the month.

You use 3 languages on your server, English, German and Russian.

You translate to en -> ru and en -> de. German [de] will use Google whilst Russian [ru] will use ML. This is because German is not Optimised and would provide a poor-quality of translation.

New Supported Languages

If we have used the wrong flag we apologise, Were only matching language codes from Dicords Supported Emoji list. Please let us know and we will update it.

2023 So Far

Coming Soon New Features

Version Command

RITA Who? Blue, Yellow, Red, Purple

RITA - BLUE

RITA - YELLOW

BITA - RED

RITA - PURPLE

The Boring Stuff

These Policies take effect as of May 01, 2023, Until then the preceding version are still in effect.

Thats a Wrap

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.

20/08/2023

Upcoming Changes to RITA and what we have been doing.

1.4.3 Changes

COMING SOON - What's that you say, A FREE TRIAL!!

2 New Ways to Enjoy RITA

Language Localisation

A New Channel Translation Feature

Language Detection

Machine Learning (ML)

Version Command

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.

01/05/2022

Wooooo, Rita is back, and hopfully for good. (Launch Date: 01/05/2022 00:00 GMT)

Wait, what, I've missed something?

How do I Subscribe?

I've Subscribed, Now what?

Something has gone wrong, it didn't work!

27/09/2022

Important Annoucement Shared Via Discord

The following explains new additions to our newest release of Rita (v.1.4.1) which will be released in the coming days/weeks

New soft limitations

Will accuracy be affected?

Important changes to Privacy Policy

How can I increase Google character limit?

Issues with ML

Soft limits

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

Terms Of Service

Last updated: April 22, 2022

Interpretation and Definitions

Disclaimer

Proprietary Rights

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.

Availability

  • 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.

Server / Guild Data

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

S.A.L.T.S

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.

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.

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.

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 any other Questions join our and we will try and answer them.

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.

Please see for a list of Support Languages.

Language
Lang Code
Flag Emoji code (Discord)

You can invite RITA Blue by clicking or clicking on RITA’s Icon & click “Add to server”

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.

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.

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.

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

By using the Service, You agree to the following processes and be subject to enforcment of them. Please refer to for more information.

Discord Server
Discord Server
Discord Server
Discord Server
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.
This 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.
Our 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.
Our 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.
Developmental 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. 
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)
PLEASE NOTE:
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)
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
Discord Server
Here
S.A.L.T.S Policy
Privacy Policy
Refund Policy
Right To Exit
Discord Server
Discord Server
announcement
Update;
FAQ
support server
Ko-Fi
Patreon
this
#active-rita-here
Support server
#active-rita-here
#open-a-ticket
Discord Server
Here
dev@ritabot.gg
Privacy Policy
S.A.L.T.S Policy
#optimised-langauges

Privacy Policy

In Effect Fom: May 01, 2023 / Last updated: April 05, 2023

Privacy Policy - Document Version 3 (In Effect May 01, 2023 > Current)

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.

Interpretation and Definitions

Collecting and Using Your Personal Data

Types of Data Collected

Personal Data

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.

Anonymized Translation Data Collection

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

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.

Tracking Technologies and Cookies

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.

  • 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).

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.

Use of Your Personal Data

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.

Retention of Your Personal Data

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.

Transfer of Your Personal Data

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.

Disclosure of Your Personal Data

Business Transactions

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.

Law enforcement

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).

Other legal requirements

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

Security of Your Personal Data

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.

Children's Privacy

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.

Links to Other Websites

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.

Changes to this Privacy Policy

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.

Review Changes

All changes to this policy can be found below

Contact Us

If you have any questions about this Privacy Policy, You can contact us:

  • By email: dev@ritabot.gg

S.A.L.T.S Policy V2

Last updated: September 27, 2022

S.A.L.T.S Policy - Document Version 2 (In Effect September 27, 2022 > May 01, 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.

Interpretation and Definitions

Subscription

A User subscription follows the below flows. These are different for each subscription platform.

Activation Process

Refer to activation steps below in Activation Section.

Payment & Renewal Dates

Subscriptions are renewed on different days depending on the platform.

  1. Ko-Fi

    1. 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.

  2. Patreon

    1. 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.

Subscription Tier and Cost

Plan Name
Cost
Availability
Other Details

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]

Tier Cost Changes & Availability

  • 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.

Other Limitation(s)

All Plans/Tiers are subject to other limitations, detailed below.

Activation

  1. User Invites RITA to server >

  2. User Joins RMS Server >

  3. User selects relevant plan provided by Ko-Fi/Patreon >

  4. User completes payment via platform

    1. Ko-Fi > PayPal or Stripe

    2. Patreon > Payment is handled by Patreon

  5. Upon Confirmation of payment User activates Discord integration through account linking.

    1. Guide for Ko-Fi

  6. 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.

  7. RITA detects role additions and adds relevant and required data to our Subscription Database

  8. Once User has all identifying Roles they are able to see the channel #activate-rita-here.

    1. 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.

  9. 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.

    1. RITA must be in the server before the command is run, else an error will be provided.

  10. RITA is activated and the subscription process is completed.

Limitations

Each plan has the following limitation applied.

Plan Name
Task Limit
Char Limit

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

  1. 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

Machine Learning API

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.

Termination

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

Step 1: Contact with User is attempted by RMS staff.

Attempted contact must be made for process to start. Time line starts once receipt of contact is confirmed. Contact can be via Direct Message from RITA, Tagged/Pinged in RMS, DM from a member of staff or notice provided on the User’s server by RITA or Member of staff.

If User has not made contact within 24 hours move on to Step 2.

Step 2: Service is Suspended.

RITA Translation and Command service is PAUSED, as defined in Suspension Process.

A Further Notice/Contact Attempt is sent to User. This can be via a Direct Message from RITA, Tagged/Pinged in RMS, DM from a member of staff or notice provided on the User’s server by RITA or Member of staff.

User has not made contact within 48 hours move on to Step 3.

Step 3: RITA is Ejected

As a security measure RITA is able to Self-Eject from a server at any time. This function is executed. This results in no loss of data on the server.

A Further Notice/Contact Attempt is sent to User via a Direct Message from RITA, Tagged/Pinged in RMS, DM from a member of staff or notice provided on the User’s server by RITA or Member of staff.

User has not made contact within 72 hours move on to Step 4.

Step 4: Server is Blacklisted

Server ID is Blacklisted. If User attempts to add RITA back to a server that is blacklisted, RITA will kick herself from the server.

NO Further Notice/Contact Attempt to User is made at this point

User has not made contact within 24 hours move on to Step 5.

Step 5: NO FURTHER CONTACT

No further contact to User will be attempted or made. Matter is classified as closed and no further support will be provided

Suspension

  1. A Suspension of Service can be implemented for a varying number of reasons. This is refer to as Pausing.

  2. Pausing and resuming of service can only be conducted by the following RMS staff levels

    1. RITA

    2. Owners

    3. Admins

    4. Developers

    5. Senior Staff

  3. Service can be Paused under the following conditions

    1. Detection of suspicious activity.

      1. We cannot share what this look like to prevent anti-detection methods

    2. Exceeding Character Limits of Tier (*When Implemented)

      1. This could be Google API Limits or ML Limits

  4. Suspicion that RITA is being used for SPAM or JUNK flooding

  5. Request to Terminate by third party agencyies or companies in line with our Privacy Policy and ToS.

  6. 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.

If Service is Paused, We are not able to offer pro rata refunds for the time the service is paused, inactive or non-operational. This is in line with our Refund Policy.

S.A.L.T.S Policy

In Effect From: August 20, 2023 / Last updated: August 15, 2023

S.A.L.T.S Policy - Document Version 4 (In Effect August 20, 2023 > Current)

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.

Interpretation and Definitions

Subscription

A User subscription follows the below flows. These are different for each subscription platform.

Activation Process

Refer to activation steps below in Activation Section.

Payment & Renewal Dates

Subscriptions are renewed on different days depending on the platform.

  1. Patreon

    1. 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.

ACTIVE - Subscription Tier's and Cost

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.

PROMOTIONAL- Subscription Tier's and Cost

RETIRED - Subscription Tier's and Cost

Tier Cost Changes & Availability

  • 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.

Other Limitation(s)

All Plans/Tiers are subject to other limitations, detailed below.

Subscription Activation

  1. User Invites RITA to server >

  2. User Joins RMS Server >

  3. User selects relevant plan provided by Patreon >

  4. User completes payment via platform

    1. Patreon > Payment is handled by Patreon

  5. Upon Confirmation of payment User activates Discord integration through account linking.

  6. 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.

  7. RITA detects role additions and adds relevant and required data to our Subscription Database

  8. Once User has all identifying Roles they are able to see the channel #activate-rita-here.

    1. 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.

  9. 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.

    1. RITA must be in the server before the command is run, else an error will be provided.

  10. RITA is activated and the subscription process is completed.

TRIAL Activation

  1. User Invites RITA to server >

  2. User types `!tr trial` in their own server.

  3. RITA is activated and the TRIAL Activation process is completed.

Limitations

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 - 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

  1. 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

    • At the start of the next calendar month Implicit Google API Translation is reactivated until breach of soft cap

Machine Learning API

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.

Optimised Languages

Termination

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

Step 1: Contact with User is attempted by RMS staff.

Attempted contact must be made for process to start. Time line starts once receipt of contact is confirmed. Contact can be via Direct Message from RITA, Tagged/Pinged in RMS, DM from a member of staff or notice provided on the User’s server by RITA or Member of staff.

If User has not made contact within 24 hours move on to Step 2.

Step 2: Service is Suspended.

RITA Translation and Command service is PAUSED, as defined in Suspension Process.

A Further Notice/Contact Attempt is sent to User. This can be via a Direct Message from RITA, Tagged/Pinged in RMS, DM from a member of staff or notice provided on the User’s server by RITA or Member of staff.

User has not made contact within 48 hours move on to Step 3.

Step 3: RITA is Ejected

As a security measure RITA is able to Self-Eject from a server at any time. This function is executed. This results in no loss of data on the server.

A Further Notice/Contact Attempt is sent to The User via a Direct Message from RITA, Tagged/Pinged in RMS, DM from a member of staff or notice provided on the User’s server by RITA or Member of staff.

User has not made contact within 72 hours move on to Step 4.

Step 4: Server is Blacklisted

The Server ID is Blacklisted. If the User attempts to add RITA back to a server that is blacklisted, RITA will kick herself from the server.

NO Further Notice/Contact Attempt to The User is made at this point

User has not made contact within 24 hours move on to Step 5.

Step 5: NO FURTHER CONTACT

No further contact to User will be attempted or made. The matter is classified as closed and no further support will be provided

Suspension

  1. A Suspension of Service can be implemented for a varying number of reasons. This is referred to as Pausing.

  2. Pausing and resuming of service can only be conducted by the following RMS staff levels

    1. RITA

    2. Owners

    3. Admins

    4. Developers

    5. Senior Staff

  3. Service can be Paused under the following conditions

    1. Detection of suspicious activity.

      1. We cannot share what this look like to prevent anti-detection methods

    2. Exceeding Character Limits of Tier (*When Implemented)

      1. This could be Google API Limits or ML Limits

  4. Suspicion that RITA is being used for SPAM or JUNK flooding

  5. Request to Terminate by third party agencies or companies in line with our Privacy Policy and ToS.

  6. 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.

If Service is Paused, We are not able to offer pro rata refunds for the time the service is paused, inactive or non-operational. This is in line with our Refund Policy.

Refund Policy

In Effect Fom: May 01, 2023 / Last updated: April 05, 2023

Refund Policy - Document Version 2 (In Effect May 01, 2023 > Current)

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.

Interpretation and Definitions

Subscription Refunds - Exclusion Timeframe

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

Patreon Payments

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.

Other Possible Reasons

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.

Non-Acceptable Inquires

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.

Usage Exception

Donation Refunds

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.

Chargebacks

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.

Important Notes

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.

Contact Us

If you believe your situation is viable for a refund you may wish to contact us via one of the ways listed below.

  • 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.

Refund Policy V1

Last updated: April 22, 2022

Refund Policy - Document Version 1 (In Effect April 22, 2022 > 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.

Interpretation and Definitions

Subscription Refunds - Exclusion Timeframe

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

Patreon Payments

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.

KOFI Payments (DISCONTINUED)

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.

Other Possible Reasons

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.

Non-Acceptable Inquires

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.

Usage Exception

Donation Refunds

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.

Chargebacks

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.

Important Notes

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.

Contact Us

If you believe your situation is viable for a refund you may wish to contact us via one of the ways listed below.

  • 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.

Privacy Policy V1

Last updated: March 15, 2022

Privacy Policy - Document Version 1 (In Effect March 15, 2022 > 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.

Interpretation and Definitions

Collecting and Using Your Personal Data

Types of Data Collected

Personal Data

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

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.

Tracking Technologies and Cookies

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.

  • 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).

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.

Use of Your Personal Data

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.

Retention of Your Personal Data

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.

Transfer of Your Personal Data

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.

Disclosure of Your Personal Data

Business Transactions

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.

Law enforcement

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).

Other legal requirements

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

Security of Your Personal Data

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.

Children's Privacy

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.

Links to Other Websites

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.

Changes to this Privacy Policy

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.

Contact Us

If you have any questions about this Privacy Policy, You can contact us:

  • By email: dev@ritabot.gg

S.A.L.T.S Policy V1

Last updated: April 22, 2022

S.A.L.T.S Policy - Document Version 1 (In Effect April 22, 2022 > 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.

Interpretation and Definitions

Subscription

A User subscription follows the below flows. These are different for each subscription platform.

Activation Process

Refer to activation steps below in Activation Section.

Payment & Renewal Dates

Subscriptions are renewed on different days depending on the platform.

  1. Ko-Fi

    1. 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.

  2. Patreon

    1. 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.

Subscription Tier and Cost

Tier Cost Changes & Availability

  • 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.

Other Limitation(s)

All Plans/Tiers are subject to other limitations, detailed below.

Activation

  1. User Invites RITA to server >

  2. User Joins RMS Server >

  3. User selects relevant plan provided by Ko-Fi/Patreon >

  4. User completes payment via platform

    1. Ko-Fi > PayPal or Stripe

    2. Patreon > Payment is handled by Patreon

  5. Upon Confirmation of payment User activates Discord integration through account linking.

  6. 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.

  7. RITA detects role additions and adds relevant and required data to our Subscription Database

  8. Once User has all identifying Roles they are able to see the channel #activate-rita-here.

    1. 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.

  9. 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.

    1. RITA must be in the server before the command is run, else an error will be provided.

  10. RITA is activated and the subscription process is completed.

Limitations

Content Here

Termination

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

Step 1: Contact with User is attempted by RMS staff.

Attempted contact must be made for process to start. Time line starts once receipt of contact is confirmed. Contact can be via Direct Message from RITA, Tagged/Pinged in RMS, DM from a member of staff or notice provided on the User’s server by RITA or Member of staff.

If User has not made contact within 24 hours move on to Step 2.

Step 2: Service is Suspended.

RITA Translation and Command service is PAUSED, as defined in Suspension Process.

A Further Notice/Contact Attempt is sent to User. This can be via a Direct Message from RITA, Tagged/Pinged in RMS, DM from a member of staff or notice provided on the User’s server by RITA or Member of staff.

User has not made contact within 48 hours move on to Step 3.

Step 3: RITA is Ejected

As a security measure RITA is able to Self-Eject from a server at any time. This function is executed. This results in no loss of data on the server.

A Further Notice/Contact Attempt is sent to User via a Direct Message from RITA, Tagged/Pinged in RMS, DM from a member of staff or notice provided on the User’s server by RITA or Member of staff.

User has not made contact within 72 hours move on to Step 4.

Step 4: Server is Blacklisted

Server ID is Blacklisted. If User attempts to add RITA back to a server that is blacklisted, RITA will kick herself from the server.

NO Further Notice/Contact Attempt to User is made at this point

User has not made contact within 24 hours move on to Step 5.

Step 5: NO FURTHER CONTACT

No further contact to User will be attempted or made. Matter is classified as closed and no further support will be provided

Suspension

  1. A Suspension of Service can be implemented for a varying number of reasons. This is refer to as Pausing.

  2. Pausing and resuming of service can only be conducted by the following RMS staff levels

    1. RITA

    2. Owners

    3. Admins

    4. Developers

    5. Senior Staff

  3. Service can be Paused under the following conditions

    1. Detection of suspicious activity.

      1. We cannot share what this look like to prevent anti-detection methods

    2. Exceeding Character Limits of Tier (*When Implemented)

      1. This could be Google API Limits or ML Limits

  4. Suspicion that RITA is being used for SPAM or JUNK flooding

  5. Request to Terminate by third party agencyies or companies in line with our Privacy Policy and ToS.

  6. 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.

If Service is Paused, We are not able to offer pro rata refunds for the time the service is paused, inactive or non-operational. This is in line with our Refund Policy.

S.A.L.T.S Policy V3

Last updated: August 15, 2023

S.A.L.T.S Policy - Document Version 3 (In Effect May 01, 2023 > August 20, 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.

Interpretation and Definitions

Subscription

A User subscription follows the below flows. These are different for each subscription platform.

Activation Process

Refer to activation steps below in Activation Section.

Payment & Renewal Dates

Subscriptions are renewed on different days depending on the platform.

  1. Patreon

    1. 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.

ACTIVE - Subscription Tier's and Cost

PROMOTIONAL- Subscription Tier's and Cost

RETIRED - Subscription Tier's and Cost

Tier Cost Changes & Availability

  • 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.

Other Limitation(s)

All Plans/Tiers are subject to other limitations, detailed below.

Activation

  1. User Invites RITA to server >

  2. User Joins RMS Server >

  3. User selects relevant plan provided by Patreon >

  4. User completes payment via platform

    1. Patreon > Payment is handled by Patreon

  5. Upon Confirmation of payment User activates Discord integration through account linking.

  6. 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.

  7. RITA detects role additions and adds relevant and required data to our Subscription Database

  8. Once User has all identifying Roles they are able to see the channel #activate-rita-here.

    1. 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.

  9. 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.

    1. RITA must be in the server before the command is run, else an error will be provided.

  10. RITA is activated and the subscription process is completed.

Limitations

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

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

  1. 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

    • At the start of the next calendar month Implicit Google API Translation is reactivated until breach of soft cap

Machine Learning API

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.

Optimised Languages

Termination

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

Step 1: Contact with User is attempted by RMS staff.

Attempted contact must be made for process to start. Time line starts once receipt of contact is confirmed. Contact can be via Direct Message from RITA, Tagged/Pinged in RMS, DM from a member of staff or notice provided on the User’s server by RITA or Member of staff.

If User has not made contact within 24 hours move on to Step 2.

Step 2: Service is Suspended.

RITA Translation and Command service is PAUSED, as defined in Suspension Process.

A Further Notice/Contact Attempt is sent to User. This can be via a Direct Message from RITA, Tagged/Pinged in RMS, DM from a member of staff or notice provided on the User’s server by RITA or Member of staff.

User has not made contact within 48 hours move on to Step 3.

Step 3: RITA is Ejected

As a security measure RITA is able to Self-Eject from a server at any time. This function is executed. This results in no loss of data on the server.

A Further Notice/Contact Attempt is sent to The User via a Direct Message from RITA, Tagged/Pinged in RMS, DM from a member of staff or notice provided on the User’s server by RITA or Member of staff.

User has not made contact within 72 hours move on to Step 4.

Step 4: Server is Blacklisted

The Server ID is Blacklisted. If the User attempts to add RITA back to a server that is blacklisted, RITA will kick herself from the server.

NO Further Notice/Contact Attempt to The User is made at this point

User has not made contact within 24 hours move on to Step 5.

Step 5: NO FURTHER CONTACT

No further contact to User will be attempted or made. The matter is classified as closed and no further support will be provided

Suspension

  1. A Suspension of Service can be implemented for a varying number of reasons. This is referred to as Pausing.

  2. Pausing and resuming of service can only be conducted by the following RMS staff levels

    1. RITA

    2. Owners

    3. Admins

    4. Developers

    5. Senior Staff

  3. Service can be Paused under the following conditions

    1. Detection of suspicious activity.

      1. We cannot share what this look like to prevent anti-detection methods

    2. Exceeding Character Limits of Tier (*When Implemented)

      1. This could be Google API Limits or ML Limits

  4. Suspicion that RITA is being used for SPAM or JUNK flooding

  5. Request to Terminate by third party agencies or companies in line with our Privacy Policy and ToS.

  6. 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.

If Service is Paused, We are not able to offer pro rata refunds for the time the service is paused, inactive or non-operational. This is in line with our Refund Policy.

The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located .

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

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: .

By visiting this page on our website:

The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located .

Guide for

The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located .

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 for More information.

Plan Name
Cost
Availability

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 for More information.

Plan Name
Cost
Availability

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 for More information.

Plan Name
Cost
Availability

Guide for

Plan Name
Task Limit
Char Limit
Engine Used

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 for more information.

Language
Lang Code
Optimised for ML in Version

The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located .

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.

From the email address related to the Discord account that is affected if accessible. Just send us a descriptive message to

The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located .

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.

From the email address related to the Discord account that is affected if accessible. Just send us a descriptive message to

The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located .

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

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: .

By visiting this page on our website:

The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located .

Plan Name
Cost
Availability
Other Details

Guide for

Guide for

The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located .

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 for More information.

Plan Name
Cost
Availability

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 for More information.

Plan Name
Cost
Availability

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 for More information.

Plan Name
Cost
Availability

Guide for

Plan Name
Task Limit
Char Limit
Engine Used

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 for more information.

Language
Lang Code
Optimised for ML in Version
Here
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_
Cookies by TermsFeed Generator
Privacy Policy V1
Privacy Policy V2
https://discord.gg/invite/7yYUWruQp6
Here
Patreon

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

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

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

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

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 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]

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

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

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

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

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

Ko-Fi
Here
Patreon
Here
payment@ritabot.gg
Here
payment@ritabot.gg
Here
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_
Cookies by TermsFeed Generator
https://discord.gg/invite/7yYUWruQp6
Here
Patreon
Here
Patreon
Tier Cost Changes & Availability
Tier Cost Changes & Availability
Tier Cost Changes & Availability
Machine Learning API
#Activation
#Activation
Tier Cost Changes & Availability
Tier Cost Changes & Availability
Tier Cost Changes & Availability
Machine Learning API

Interpretation & Definitions

The following Interpretations and Definitions apply to the following Policies

Interpretation

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.

Definitions

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.

  • 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.

  • 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.

  • 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).

  • 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.

Right To Exit

Last updated: April 05, 2023

15/08/23 S.A.L.T.S Policy Update

  • Further clarification of changes can be provided upon request.

01/05/23 Privacy & S.A.L.T.S Policy Update

  • Please email dev@ritabot.gg with details of your case/claim and we will review.

    • Please allow 48 hours for a response

  • 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

  • Please email dev@ritabot.gg with details of your case/claim and we will review.

    • Please allow 48 hours for a response

  • Further clarification of changes can be provided upon request.

3rd Party Policys

Refer to the below service and their Respective TOS and Policies

Links provided are for convenience and may not be the sum of all policies and agreements that govern each end user in every region and territory. Please refer to respective services for more information and links to policies that may effect you.

Privacy Policy V2

Last updated: September 27, 2022

Privacy Policy - Document Version 2 (In Effect September 27, 2022 > May 01, 2023)

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.

Interpretation and Definitions

Collecting and Using Your Personal Data

Types of Data Collected

Personal Data

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.

Anonymised Translation Data Collection

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

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.

Tracking Technologies and Cookies

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.

  • 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).

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.

Use of Your Personal Data

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.

Retention of Your Personal Data

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.

Transfer of Your Personal Data

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.

Disclosure of Your Personal Data

Business Transactions

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.

Law enforcement

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).

Other legal requirements

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

Security of Your Personal Data

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.

Children's Privacy

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.

Links to Other Websites

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.

Changes to this Privacy Policy

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.

Contact Us

If you have any questions about this Privacy Policy, You can contact us:

  • By email: dev@ritabot.gg

(TOS)

Policy

Policy

Policy

Privacy Policy as defined .

Refund Policy as defined .

S.A.L.T.S as defined .

TOS/Terms of Service as defined .

Website refers to RitaBot, accessible from

The change to our Policy does not constitute a Right to Exit.

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.

Requesting a chargeback or refund from your payment provider will be managed under our

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.

Requesting a chargeback or refund from your payment provider will be managed under our

Discord
  • Discord Terms of Service:

  • Discord Privacy Policy:

  • Discord Saftey Centre:

  • Discord Community Guidelines:

Policy Portal:

Heroku
  • Heroku and GDPR:

  • Heroku Security, Privacy, and Compliance:

  • Heroku Support Policy:

  • Heroku Security Policy:

  • Heroku Terms of Service:

Policy Portal:

PebbleHost
  • PebbleHost Terms of Service:

PayPal
  • PayPal Paypal Privacy Statement:

  • PayPal Business Payments Agreement:

  • PayPal User Agreement:

  • PayPal Acceptable Use Policy:

  • PayPal Purchase Protection Program:

Policy Portal:

Patreon
  • Patreon Terms of Service:

  • Patreon Privacy Policy:

  • Patreon Security Policy:

Policy Portal:

The words of which the initial letter is capitalized have meanings defined under Interpretations and Definitions, they are located .

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

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: .

By visiting this page on our website:

Terms of Service
S.A.L.T.S
Privacy
Refund
Here
Here
Here
Here
https://ritabot.gg
Privacy
S.A.L.T.S
Privacy
S.A.L.T.S
Refund
Refund Policy
Privacy
S.A.L.T.S
Refund Policy
https://discord.com/terms
https://discord.com/privacy
https://discord.com/safety
https://discord.com/guidelines
https://discord.com/safety/360043709612-our-policies
https://devcenter.heroku.com/articles/gdpr
https://devcenter.heroku.com/articles/security-privacy-compliance
https://www.heroku.com/policy/support
https://www.heroku.com/policy/security
https://www.heroku.com/policy/heroku-elements-terms
https://www.heroku.com/policy/agreements
https://pebblehost.com/legal
https://www.paypal.com/us/legalhub/privacy-full?locale.x=en_US
https://www.paypal.com/us/legalhub/business-payments-agreement?locale.x=en_US
https://www.paypal.com/us/legalhub/useragreement-full?locale.x=en_US
https://www.paypal.com/us/legalhub/acceptableuse-full?locale.x=en_US
https://www.paypal.com/us/legalhub/buyer-protection?locale.x=en_US
https://www.paypal.com/us/legalhub/home
https://www.patreon.com/en-GB/policy/legal
https://privacy.patreon.com/policies/en/
https://www.patreon.com/en-GB/policy/security
https://www.patreon.com/en-GB/policy-en
Here
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_
Cookies by TermsFeed Generator
https://discord.gg/invite/7yYUWruQp6
S.A.L.T.S Policy #Limitations
Slash Command shown in German
Slash Command shown in English
Help Menu shown in German
Help Menu shown in English

03/07/2022

Important Annoucement Shared Via Discord

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

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.

Discord Server