# V1.3.0

{% hint style="info" %}
If you need help at any point join our [**Discord Server**](https://discord.gg/mgNR64R) and someone will help you.
{% endhint %}

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