Discord Integration

Discord Integration 2.3.1

Release date
Last update
Initial support
12 months
Renewal price

Feature summary

  • Sync Discord roles with XenForo user groups.
  • View and manage your Discord server from the Admin Control Panel.
  • Send customised alerts to Discord channels.
  • Flexible API and Widget Framework support included.

Product details

Discord Integration allows you to establish a connection and manage your Discord server from the comfort of the XenForo Admin Control Panel.
  • Allows for XenForo user groups to be synced with Discord server roles. Essentially this allows you to automate the giving and removing of Discord server roles based on the groups that a XenForo user is part of. Users can associate their Discord identities with their XenForo usernames to establish a sync.
  • Discord nicknames can also be updated to match forum names.
  • New for XenForo 2.x: Allow the bot to show up as online and display a custom status message.
  • Manage your Discord instance from the ACP.
  • Allow your users to register and sign up via Discord.
  • Send alerts to connected users and channels via the ACP.
  • Automatically post links to threads from XenForo forums to defined Discord channels as soon as they're posted. The user who posted the thread, the thread title, a short snippet and a link to the thread are included in the message.
    • This is set on a per-forum basis allowing you to fine-tune what channels should get the notifications.
  • New for XenForo 2.x: Automatically post links to resources from XenForo Resource Manager to defined Discord channels as soon as they're posted. The user who posted the resource, the resource title, a short snippet and a link to the resource are included in the message.
    • This is set on a per-category basis allowing you to fine-tune what channels should get the notifications.
  • Allow staff members with permission to 'promote' links to threads to Discord channels.
  • Allow users to receive watch notifications from forums and threads they specify (in addition to emails and alerts). They will receive these notifications privately from your configured bot. There are plans for future expansion with 1-to-1 communication with the bot.

  1. Install the add-on through the XenForo admin panel, as normal.
  2. Create a new Discord application by going here.
    1. Set the "Name" to whatever you want your bot to be called and continue. You may optionally set a description and icon for your bot.
    2. Navigate to the OAuth2 section and click "Add Redirect". Ensure you have a Redirect URL set in the form of your board URL followed by connected_account.php. So for example: https://mysite.com/connected_account.php
    3. Navigate to the Bot section, click "Add Bot" and then accept the warning. Ensure 'Public Bot' and 'Require OAuth2 Code Grant' are both unchecked.
  3. Copy the Client ID and Client Secret values for the application from the General Information section and paste them in to the Discord connected provider located in the XenForo admin panel -> Setup -> Connected providers.
  4. Do the same for the Bot token, located under the Bot section and paste it in to the corresponding field in your XenForo admin panel.
  5. You'll also need your Discord Server / Guild ID which can be obtained by following the steps listed here. Once you've done this, save the connected provider.
  6. Navigate to 'Test Discord integration' located at XenForo admin panel -> Tools. This will initially be red and failing. Invite the bot to your server from this page and also click "Open WebSocket" to ensure messages can be sent by the bot.
  7. Re-run the test and you should be all good to go.
Allowing the bot to appear online:
This is a slightly more advanced feature that you'll need to setup yourselves. Eventually, I hope to expand this part of the add-on but until then, here's the run down:
  1. You'll need to install node on your server. Contact your host or sysadmin if you're unsure of how to do this.
  2. Download the add-on's zip file, navigate to the "bot" folder in the zip root and open config.json.
  3. Set the token to the value you copied from your Discord Web API application when you installed the add-on.
  4. Set the status field to anything you want. It'll read "Playing {status}" on your server.
  5. Run the script by executing the following at the command line. You'll want to run this command in a screen or something similar.
    node app.js