Better Chat

Customize chat colors, formatting, prefix and more

Total Downloads: 16,017 - First Release: Apr 21, 2015 - Last Update: Jan 11, 2017 at 8:12 AM

4.98529/5, 68 likes
> Installation:

Better Chat is installed like very other plugin.
Download the BetterChat.cs file from the overview and drop it into your plugins folder (.../oxide/plugins).
Once in the plugin folder, it will be automaticly loaded.


> Configuration:

Once Better Chat is installed, a config file will be generated (.../oxide/config/BetterChat.json).
It's recommended to use a JSON Editor for editing the config to prevent syntax errors. Online JSON Editor: JSON Editor Online - view, edit and format JSON online
Otherwise you can open the file with a code/text editor as Notepad++ and then validate the syntax using this website: JSONLint - The JSON Validator.
The file should look like this (in a code/text editor):

Code (Javascript):
{
    "Maximal Titles": 3
  }
}
Every setting looks like this: "Key": Value
The key is the name/description of the setting while the value is the actual value you want to set it to.
For example, to enable the word filter, you see under/inside "Word Filter" { ... } there is "Enabled": false,
To enable it, you change it to "Enabled": true,

Below, there are all the given settings explained:

THESE CONFIG OPTIONS ARE CURRENTLY NOT AVAILABLE:
General

  • Enable Player Tagging - if set to true, players can be tagged by using @PlayerName[/*]
  • Minimal Characters - minimal characters in a chat message[/*]
  • Reverse Title Order - if set to true, the order of the titles is reversed[/*]
Anti Flood
  • Enabled - if set to true, anti-flood is enabled[/*]
  • Seconds - seconds before being able to chat again[/*]
Word Filter
  • Enabled - if set to true, the word filter will check each word in chat messages for bad words[/*]
  • Replacement - each character of a bad word is replaced with this (only applies if "Use Custom Replacement" is false)[/*]
  • Use Custom Replacement - if set to true, Custom Replacement will be used to replace the whole bad word instead of Replacement replacing each character[/*]
  • Custom Replacement - word to be used to replace the whole bad word instead of Replacement replacing each character (only applies if "Use Custom Character" is true)[/*]
  • Phrases - list of bad words to filter[/*]
> Setting up a group:

For setting groups up, we use the command 'chat'.
If you want to set it up in the chat, you need to grant yourself the permission 'betterchat.admin' and prefix the command with a slash (/).
You can grant yourself the permission by typing following command into the server console where you replace <Your name or ID> with your username or ID (Steam ID for most games):
'oxide.grant user <Your name or ID> betterchat.admin'
Now you can use the command '/chat' in the chat.

First of all, we create the group we want.
We do this with the example of an admin group.
Remember, if you are setting your groups up in the chat, you need to prefix the command with a slash (/).
To create a command, we type:

Code (Text):
chat group add admin
We should also set the priority of the group it is very important for the plugin. The priority is basicly the rank of the group and tells Better Chat which group should be prefered if you are in multiple groups.
The lower the number, the higher the actual priority, meaning 0 > 1.
As admin is currently our highest priority group, we set it to 0, if we have a moderator group too, we'd most likely set it to 1 there.

Code (Text):
chat group set admin priority 0
Now as the group was created and we can add ourselves to it.
Some games as for example Rust which have admins and moderator levels already, automaticly apply you to the "admin" or "moderator" group if you have that admin or moderator level.
To manually add us to the group, we use:

Code (Text):
chat user add <Your name or ID> admin
Now as we are in the group, we can give ourselves a nice looking title.

Code (Text):
chat group set admin title [Admin]
We can also change the color of the title, lets change it to red:

Code (Text):
chat group set admin titlecolor red
It's a nice [Admin] now.

The colors can be any HEX-Code color or a spelled HTML-Color.

The same with our name:

Code (Text):
chat group set admin namecolor red
 
To finish it, we should change the priority of the default group which was automaticly generated before, to 1 to be a lower priority than admin.

Code (Text):
chat group set default priority 1
There are many other group settings which can be set by using the 'chat group set' command:

  • Priority - rank of the group which tells the plugin which group to prefer if you are in multiple (the lower the number the higher the actual priority!)
  • TitleHiddenIfNotPrimary - if set to true, the title of the group is hidden, if the group is not the one which the highest priority of the groups you are in
  • Title - the groups title
  • TitleColor - the color of the title
  • TitleSize - the size of the title
  • TitleHidden - if set to true, the title of the group will never be shown
  • UsernameColor - the color of the username
  • UsernameSize - the size of the username
  • MessageColor - the color of the message
  • MessageSize - the size of the message
  • ChatFormat - the format/order of the chat message
  • ConsoleFormat - the format/order of the chat message when displayed in console or logs
There are also settings which can NOT be setup using the command. Those need to be edited by editing the groups file (.../oxide/data/BetterChat/Groups.json)
Here the same rules of editing apply as for the config file.

The standard group file should look like this:

Code (Text):
[
  {
    "GroupName": "default",
    "Priority": 0,
    "Title": {
      "Hidden": false,
      "HideIfNotHighestPriority": false,
      "Size": 15,
      "Color": "#9EC326",
      "Text": "[Player]"
    },
    "PlayerName": {
      "Size": 15,
      "Color": "#9EC326",
      "ClanTagFormat": "[{Clan}] {Name}"
    },
    "Message": {
      "Size": 15,
      "Color": "white"
    },
    "Formatting": {
      "Console": "{Title} {Name}: {Message}",
      "Chat": "{Title} {Name}: {Message}"
    }
  }
]
If you still have questions, you can ask them in the support thread.