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 enableDeveloper Mode
so you can use theCopy ID
feature!
Installation
- Stop your server if it is running.
- Put the
StreamlineDiscord
Module
into your modules folder on your server. - Restart your server to assure the module loaded properly.
- Stop your server again.
- Edit the configurations for the
StreamlineDiscord
Module
to your liking (if you need help, see below). - Start your server again.
Bot Setup
- Create a new application by clicking New Application at this link.
- Choose a name for your bot and click Create.
- 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.
- Keep
- Under
Privileged Gateway Intents
in the Bot tab, turn on all three settings.
- Copy the
Application ID
from the application'sGeneral Information
page.
- Paste the
Application ID
afterclient_id=
in the link "https://discord.com/oauth2/authorize?scope=bot+applications.commands&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=1365212211661234448314
.
- It should now look something like this:
- Complete the invitation and allow your bot to join your server.
- You have set up the bot!
Plugin Setup
- Open the configuration file which can be found in your module resources folder under the
streamline-discord
folder. - Copy the
Token
of the bot from the application page. - 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". - 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 EndPoint
s, but for simplicity's sake, just think of it like a tunnel between two different rooms; where the "rooms" are EndPoint
s, 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 yourconfig.yml
file for the Discord module. By default, it is>>
.<channel-command-alias>
is an alias of the discord-command with the identifier ofchannel
. By default, you can usech
.<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 yourconfig.yml
file for the Discord module. By default, it is>>
.<channel-command-alias>
is an alias of the discord-command with the identifier ofchannel
. By default, you can usech
.<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.