Syncs players Oxide group with Discord roles

Supported Games
depends on
works with

Previously Named DiscordCoreRoles

Features

  • Allows BI Directional syncing of Discord Roles and Oxide Groups.
  • Announcements can be sent out in game chat and discord chat when a sync occurs.

Multi Game Server Support

This plugin can work across multiple game server to one discord server.The only limitation is you cannot have multiple game servers syncing an oxide group to the same discord role.

Discord Link

This plugin supports Discord Link provided by the Discord Extension.This plugin will work with any plugin that provides linked player data through Discord Link.

Getting Your Bot Token

Click Here to learn how to get an Discord Bot Token

Configuration

{
  "Discord Bot Token": "",
  "Discord Server ID (Optional if bot only in 1 guild)": "",
  "Sync Nicknames": false,
  "Sync Clan Tag": false,
  "Update Rate (Seconds)": 2.0,
  "Use AntiSpam On Discord Nickname": false,
  "Action To Perform By Event": {
    "Events To Sync Server Groups -> Discord Roles": {
      "Sync On Plugin Load": true,
      "Sync On Player Connected": true,
      "Sync On Server Group Changed": true,
      "Sync On Discord Role Changed": true,
      "Sync On Discord Nickname Changed": false,
      "Sync On Player Linked / Unlinked": true,
      "Sync On User Join / Leave Discord Server": true
    },
    "Events To Sync Discord Roles -> Server Groups": {
      "Sync On Plugin Load": true,
      "Sync On Player Connected": true,
      "Sync On Server Group Changed": true,
      "Sync On Discord Role Changed": true,
      "Sync On Discord Nickname Changed": false,
      "Sync On Player Linked / Unlinked": true,
      "Sync On User Join / Leave Discord Server": true
    },
    "Events To Sync Discord Nickname": {
      "Sync On Plugin Load": true,
      "Sync On Player Connected": true,
      "Sync On Server Group Changed": false,
      "Sync On Discord Role Changed": false,
      "Sync On Discord Nickname Changed": true,
      "Sync On Player Linked / Unlinked": true,
      "Sync On User Join / Leave Discord Server": false
    }
  },
  "Sync Data": [
    {
      "Server Group": "Default",
      "Discord Role ID": "",
      "Sync Source (Server or Discord)": "Server",
      "Sync Notification Settings": {
        "Send message to Server": false,
        "Send Message To Discord": false,
        "Discord Message Channel ID": "",
        "Send Message When Added": false,
        "Send Message When Removed": false,
        "Server Message Added Override Message": "",
        "Server Message Removed Override Message": "",
        "Discord Message Added Override Message": "",
        "Discord Message Removed Override Message": ""
      }
    },
    {
      "Server Group": "VIP",
      "Discord Role ID": "",
      "Sync Source (Server or Discord)": "Discord",
      "Sync Notification Settings": {
        "Send message to Server": false,
        "Send Message To Discord": false,
        "Discord Message Channel ID": "",
        "Send Message When Added": false,
        "Send Message When Removed": false,
        "Server Message Added Override Message": "",
        "Server Message Removed Override Message": "",
        "Discord Message Added Override Message": "",
        "Discord Message Removed Override Message": ""
      }
    }
  ],
  "Plugin Log Level (None, Error, Warning, Info)": "Warning",
  "Discord Extension Log Level (Verbose, Debug, Info, Warning, Error, Exception, Off)": "Info"
}

Notification Tags

These are the tags that can be used in the notification messages

{player.id} - Player Steam ID
{player.name} Player Name
{discord.id} - Discord User ID
{discord.name} - Discord User Name
{discord.discriminator} - Discord Discriminator
{discord.nickname} - Discord Nickname
{role.id} - Discord Role ID
{role.name} Discord Role Name
{group.name} - Oxide Group Name

Localization

{
  "Chat": "[#BEBEBE][[#de8732]Discord Roles[/#]] {0}[/#]",
  "ServerMessageGroupAdded": "{player.name} has been added to oxide group {group.name}",
  "ServerMessageGroupRemoved": "{player.name} has been removed to oxide group {group.name}",
  "ServerMessageRoleAdded": "{player.name} has been added to discord role {role.name}",
  "ServerMessageRoleRemoved": "{player.name} has been removed to discord role {role.name}",
  "DiscordMessageGroupAdded": "{discord.name} has been added to oxide group {group.name}",
  "DiscordMessageGroupRemoved": "{discord.name} has been removed to oxide group {group.name}",
  "DiscordMessageRoleAdded": "{discord.name} has been added to discord role {role.name}",
  "DiscordMessageRoleRemoved": "{discord.name} has been removed to discord role {role.name}"
}
MIT License

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.