- Tested Minecraft Versions:
- Source Code:
This plugin is a gateway between Discord and Minecraft using Discords built-in API.
- /discord logout - Log out of Discord
- /discord login - Log into Discord
- /discord lookup <user> - Lookup information about <user>
- /discord send - Send a test payload to see if channels are working
- /discord debug - Upload debug information to hastebin.com
- /discord toggle - Toggle functionalities for the user running the command
There is a few things to do before you can use this plugin.
First, visit the applications page and create a new app. Make sure you’re logged into your personal account! Fill in the information and click create.
Now, simply click “Add Bot User.”
Next, we need to add the bot to a server. Visit this page: https://discordapp.com/oauth2/authorize?&client_id=CLIENT_ID&scope=bot replacing “CLIENT_ID” with your client ID provided on the app page. Select the server you want to add it to (Note: You need the MANAGE_SERVER permission in a server to be able to add a bot to it) and then click Authorize.
You will see a Token under "APP BOT USER" which you have to enter in your configuration file
Congratulations! One part is done, your Discord guild now has a bot added.
Now go into your config.yml of DiscordMC and change the settings you wish. Important are the following:
"minecraft_to_discord" are the names of channels to which Minecraft messages are being sent.
"discord_to_minecraft" are the names of channels where messages you send from discord get send to Minecraft.
Please bare in mind that after successfully setting things up, a server restart is necessary to complete the installation.
- discordmc.chat - required permission to get minecraft chat, joins, leaves and deaths delivered to discord
- discordmc.admin - admin permission, update notifications
- discordmc.command.<argument> - Replacing <argument> with the actual subcommand
If you like what I do, please consider leaving a donation <3
A Discord to Minecraft Chat Gateway for Spigot
Awesome Resource. Works very well on my network. I have a few suggestions that would be great.
 - Add account linking. (/discord link <username>)
This will then tell you to type a 6 digit code into a channel to confirm its you.
 /discord <username> // this will tell you there username on discord
 /discord public <true/false> // this refers to  so if you want to let me know your username on discord publically.
 Sync emojis so if you type :) in minecraft, it puts the emoji in the discord chat.
Viewing mc messages in discord works, but when i try to send messages back from discord i get error: [sx.blah.discord.Discord4J] Unhandled exception caught dispatching event MessageReceivedEvent
java.lang.IllegalArgumentException: Path cannot be null
at org.apache.commons.lang.Validate.notNull(Validate.java:192) ~[paperspigot.jar:git-Paper-1335]
at org.bukkit.configuration.MemorySection.get(MemorySection.java:210) ~[paperspigot.jar:git-Paper-1335]
at eu.manuelgu.discordmc.MessageAPI.getFormattedMessage(MessageAPI.java:54) ~[?:?]
at eu.manuelgu.discordmc.MessageAPI.sendToMinecraft(MessageAPI.java:32) ~[?:?]
at eu.manuelgu.discordmc.listener.DiscordEventListener.userChat(DiscordEventListener.java:87) ~[?:?]
at sx.blah.discord.api.events.EventDispatcher$MethodEventHandler.handle(EventDispatcher.java:680) ~[?:?]
at sx.blah.discord.api.events.EventDispatcher.lambda$null$17(EventDispatcher.java:610) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_161]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_161]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_161]