Discord Setup - Streamline-Essentials/StreamlineWiki GitHub Wiki

Table of Content:

Key Information

Below is some much-needed information on things such as file locations and some Streamline terminology.

When we say... We mean...
your plugins folder The plugins folder in your server's main folder.
streamline main folder The StreamlineAPI folder in your plugin's folder.
NOTE: if you use Velocity, the folder will actually be called streamlineapi (lowercase)!
modules folder The modules folder in your streamline main folder.
module resources folder The module-resources folder in your streamline main folder.
<specified> module folder
NOTE: <specified> will be replaced with a module's name
The <specified> folder in your module resources folder
commands folder The commands folder in your streamline main folder
module commands folder The commands folder in your <specified> module folder.
NOTE: <specified> will be replaced with a module's name

Introduction

Ever wanted to link Discord to your Minecraft server or your Minecraft server to Discord? Look no further!

With the StreamlineCore Java Minecraft server plugin (found here) and one of its Modules (found here) called StreamlineDiscord, you can do just that!

Developer Mode

Go to the Advanced tab and enable Developer Mode so you can use the Copy ID feature!

Developer Mode

Installation

  1. Stop your server if it is running.
  2. Put the StreamlineDiscord Module into your modules folder on your server.
  3. Restart your server to assure the module loaded properly.
  4. Stop your server again.
  5. Edit the configurations for the StreamlineDiscord Module to your liking (if you need help, see below).
  6. Start your server again.

Bot Setup

  1. Create a new application by clicking New Application at this link.

Create Application

  1. Choose a name for your bot and click Create.

Create Bot

  1. Under the Settings tab, click Bot. Then click Add Bot and confirm with Yes, do it!
    • Keep PUBLIC BOT unchecked so only you can invite the bot to your server.

Privileged Gateway Intents Privileged Gateway Intents

  1. Under Privileged Gateway Intents in the Bot tab, turn on all three settings.

Privileged Gateway Intents

  1. Copy the Application ID from the application's General Information page.

Copy Application Id

  1. Paste the Application ID after client_id= in the link "https://discord.com/oauth2/authorize?scope=bot&permissions=8&client_id=" in your internet browser.
    • It should now look something like this: https://discord.com/oauth2/authorize?scope=bot&permissions=8&client_id=871103022010277844.
  2. Complete the invitation and allow your bot to join your server.
  3. You have set up the bot!

Plugin Setup

  1. Open the configuration file which can be found in your module resources folder under the streamline-discord folder.
  2. Copy the Token of the bot from the application page.
  3. Paste the token into the config.yml and set bot prefix and activity settings. The activity is what the bot is currently doing (will be displayed when the bot is online), it will look like "Playing... something" or "Streaming... something".
  4. You have set up the plugin!

Default Configuration

# Discord bot settings.
bot:
  # The token of your discord bot.
  token: "<put token here -- DO NOT GIVE THIS TO ANYONE>"
  # The prefix for commands for your discord bot.
  prefix: ">>"
  # Settings for the activity or status of your bot.
  # With default settings, it will say ">>help for help!"
  # under your bot on the sidebar in your Discord server.
  activity:
    # Type can be:
    # CUSTOM
    # COMPETING
    # LISTENING
    # PLAYING
    # STREAMING
    # WATCHING
    type: CUSTOM
    # The value after said setting.
    # If above is "LISTENING" and this is "your suggestions",
    # it will say "Listening to... your suggestions"
    # under your bot.
    value: "**>>help** for help!"

Setting and Removing Channel Routes

A Route is a connection between two types of EndPoints, but for simplicity's sake, just think of it like a tunnel between two different rooms; where the "rooms" are EndPoints, but the tunnel only goes one direction.

Setting.

In Discord, in the channel you want to link with Minecraft, type the command: <prefix><channel-command-alias> set <type> <identifier>

  • <prefix> is the prefix in your config.yml file for the Discord module. By default, it is >>.
  • <channel-command-alias> is an alias of the discord-command with the identifier of channel. By default, you can use ch.
  • <type> is one of the types outlined below.
  • <identifier> is an identifier as described below depending on the <type>.

Removing.

In Discord, in the channel you want to unlink from Minecraft, type the command: <prefix><channel-command-alias> remove <type> <identifier>

  • <prefix> is the prefix in your config.yml file for the Discord module. By default, it is >>.
  • <channel-command-alias> is an alias of the discord-command with the identifier of channel. By default, you can use ch.
  • <type> is one of the types outlined below.
  • <identifier> is an identifier as described below depending on the <type>.
    • This is optional. If left empty, it will remove all channels with the type provided.

EndPoint Types.

Native with Streamline Discord Module

GLOBAL_NATIVE

  • Identifier: none.
  • Global message.

SPECIFIC_NATIVE

  • Identifier: server name.
  • Localized message to one server.

PERMISSION

  • Identifier: permission.
  • Message to everyone on the Minecraft server with a specific permission.

DISCORD_TEXT

  • Identifier: channel id (as stringed long).
  • Message to be sent a specific discord text channel identified by the channel id.

With Streamline Guild Module

GUILD

  • Identifier: guild uuid.
  • Message to everyone in specified guild.

PARTY

  • Identifier: party uuid.
  • Message to everyone in specified party.

With Streamline Messaging Module

SPECIFIC_HANDLED

  • Identifier: chat channel identifier.
  • Message to everyone in specified chat channel.
⚠️ **GitHub.com Fallback** ⚠️