Discord integration DLC
Disclaimer
The Discord integration for Ember is not endorsed or created by Discord.
Preparation
Ensure you have the latest version of the web instance installed.
Download the Discord integration files from GmodStore. Extract the downloaded ZIP archive to a convenient location.
Module installation
Uploading the files
Open up the extracted archive. Move the discord-integration subdirectory to the modules directory within the directory in which you installed Ember.
modules
└── discord-integration
PHP configuration
Enter a bot URL to the host field and a sync token to the sync_token field in web/modules/discord/config.php. The token will later be assigned to the Discord bot using slash commands.
- when hosting the bot yourself - enter the public URL of the bot to the hostfield- the format should be similar to http://<IP>:3000
 
- the format should be similar to 
- create your own secure token for the sync_tokenfield- do not use the one in shared_sync_token.txtas it's stored on a backend server
 
- do not use the one in 
 
- enter the public URL of the bot to the 
- when using the shared bot - enter https://ember-discord.kekalainen.meto thehostfield
- enter the token supplied in shared_sync_token.txtto thesync_tokenfield
 
- enter 
Adding the bot to a server
Hosting the bot yourself
To run the bot, you'll need Node.js and npm installed. Additionally, node-gyp is required for compiling the dependencies.
- Move the botsubfolder to a convenient location.
- Navigate inside of it using the command line and type npm cito install the dependencies.
- Set up a bot application on Discord and add it to your Discord server. - Click on the New Application button, enter a name and click on the Create button.
- Select the Bot tab from the navigation on the left side of the page.
- Click on the Add Bot button and confirm the bot's creation.
- Click on the Copy button under the TOKEN label in the Build-A-Bot section and paste the value to the discord_bot_tokenfield of the bot'sconfig.jsonfile.
- Scroll down and enable the SERVER MEMBERS INTENT under Privileged Gateway Intents.
- Add the bot to your server by navigating to the following URLreplacing the number after thehttps://discordapp.com/api/oauth2/authorize?client_id=536911178446667779&scope=applications.commands%20bot&permissions=268435456client_idparameter with your bot's CLIENT ID found on the General Information tab.
 
After completing the steps above, you can use node index.js to run the bot.
Adding the shared bot
WARNING
By design the shared bot requires permissions to assign, create and remove roles on Discord, and by extension all Ember instances and game servers running Ember it's connected to. In case of a data breach all connected servers are vulnerable. For that reason, only use the shared bot at your own risk and preferably host your own instance instead.
If you'd prefer to use the shared bot regardless of the warning above, click here to add it to your Discord server.
Role hierarchy
Once added to a server, Discord should create a role for the bot automatically. Make sure to move it to the top of the role hierarchy so that the bot can manage all roles on the server.
Configuration
Bot
The bot can be configured within Discord using slash commands. Type / to discover them.
Roles can be synced after running /setsynctoken with the sync token assigned earlier and /seturl with your Ember installation's URL.
Module
The module can be configured from Admin > Discord in the web interface.
TIP
Only mapped roles are synced. Automatic mapping does not apply to preexisting roles.