A bot and server plugin to allow server logs to be sent to Discord channels, and for server commands to be run via the Discord bot.
Node.js 14.16.0+
EXILED 2.1.30+
- Extract
DiscordIntegration.dlland its dependencies fromPlugin.tar.gz, then extractDiscordIntegration.Bot.tar.gzin any folder you want. - Place
DiscordIntegration.dllinside the EXILEDPluginsfolder like any other plugin and its dependencies in thePlugins/dependenciesfolder.
- Download Node.js from https://nodejs.org/en/.
- Open the executable file you just downloaded and install it.
- Check your Node.js and npm versions with PowerShell or command prompt with
node -vandnpm -vcommands to check if you installed both of them correctly.
- Open this link.
- Select your linux distro.
- Follow instructions.
- Open PowerShell or command prompt.
- Run
cd path\to\botreplacingpath\to\botwith the path of where the extracted bot is located, make surediscordIntegration.jsandpackage.jsonare in the same folder. - Run
npm install.
- Run
cd path/to/botreplacingpath/to/botwith the path of where the extracted bot is located, make surediscordIntegration.jsandpackage.jsonare in the same folder. - Run
npm install.
Open the bot once to let it automatically generate config.yml and synced-roles.yml files. Remember to always wrap configs with quotation marks, even if it's not necessary for strings.
- Open PowerShell or command prompt.
- Run
cd path\to\botreplacingpath\to\botwith the path of where the extracted bot is located. - Run
node discordIntegration.js.
- Run
cd path/to/botreplacingpath/to/botwith the path of where the extracted bot is located. - Run
node discordIntegration.js.
- Run
npm install -g n. - Run
n latestto install the latest version orn stableto install the stable version.
- Open your bot
config.ymlfile. - Add to the
commandconfig, channel IDs in which commands are allowed to be executed.
channels:
command:
- "channel-id-1"
- "channel-id-2"
- "channel-id-3"- Add role IDs and list every command they can exeute. You can use
.*to permit to that role ID to use all game commands without restrictions.
commands:
"role-1":
- "di"
- "discordintegration"
"role-2":
- ".*"- Never duplicate commands. Higher roles on your Discord server will be able to use lower roles commands as well, based on the position of the roles.
| Command | Description | Arguments | Permission | Example |
|---|---|---|---|---|
| di add role | Adds a role-group pair to the SyncedRole list. | [RoleID] [Group name] | di.add.role | di add role 656673336402640902 helper |
| di add user | Adds an userID-discordID pair to the SyncedRole list. | [UserID] [DiscordID] | di.add.user | di add user 76561198023272004@steam 219862538844635136 |
| di remove role | Removes a role-group pair from the SyncedRole list. | [RoleID] | di.remove.role | di remove role 656673336402640902 |
| di remove user | Removes an userID-discordID pair from the SyncedRole list. | [UserID] | di.remove.user | di remove user 76561198023272004@steam |
| di reload | Reloads bot syncedroles and configs if connected, reloads plugin language. | di.reload | di reload | |
| di reload configs | Reloads bot configs if connected. | di.reload.configs | di reload configs | |
| di reload language | Reloads plugin language. | di.reload.language | di reload language | |
| di reload syncedroles | Reloads bot syncedroles if connected. | di.reload.syncedroles | di reload syncedroles | |
| di playerlist | Gets the list of players in the server. | di.playerlist | di playerlist | |
| di stafflist | Gets the list of staffers in the server. | di.stafflist | di stafflist |