the-obsidian / discordbridge Goto Github PK
View Code? Open in Web Editor NEW:speech_balloon: Chat bridge between Minecraft and Discord
License: Other
:speech_balloon: Chat bridge between Minecraft and Discord
License: Other
nation and town chat can that be hidden?? if not can it be added??
Hey Jacob,
Thanks a lot for updating the plugin and implementing a majority of people's feature requests, always great to have a developer which responds to feedback.
I have just downloaded your latest version of the plugin in the hopes of getting the bot back online but unfortunately the plugin is failing to enable with the following error:
[19:59:45] [Server thread/ERROR]: Error occurred while enabling DiscordBridge v1.4.0 (Is it up to date?) java.lang.NoSuchMethodError: org.apache.commons.logging.LogFactory.getClassLoader(Ljava/lang/Class;)Ljava/lang/ClassLoader; at org.apache.commons.logging.impl.LogFactoryImpl.getClassLoader(LogFactoryImpl.java:392) ~[?:?] at org.apache.commons.logging.impl.LogFactoryImpl.initDiagnostics(LogFactoryImpl.java:420) ~[?:?] at org.apache.commons.logging.impl.LogFactoryImpl.<init>(LogFactoryImpl.java:87) ~[?:?] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_66] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_66] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_66] at java.lang.reflect.Constructor.newInstance(Constructor.java:422) ~[?:1.8.0_66] at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_66] at org.apache.commons.logging.LogFactory$2.run(LogFactory.java:531) ~[?:?] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_66] at org.apache.commons.logging.LogFactory.newFactory(LogFactory.java:517) ~[?:?] at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:316) ~[?:?] at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351) ~[?:?] at org.apache.http.conn.ssl.AbstractVerifier.<init>(AbstractVerifier.java:89) ~[?:?] at org.apache.http.conn.ssl.AllowAllHostnameVerifier.<init>(AllowAllHostnameVerifier.java:40) ~[?:?] at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:126) ~[?:?] at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.getDefaultRegistry(PoolingHttpClientConnectionManager.java:98) ~[?:?] at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:105) ~[?:?] at com.mashape.unirest.http.options.Options.refresh(Options.java:72) ~[?:?] at com.mashape.unirest.http.options.Options.<clinit>(Options.java:46) ~[?:?] at com.mashape.unirest.http.HttpClientHelper.prepareRequest(HttpClientHelper.java:151) ~[?:?] at com.mashape.unirest.http.HttpClientHelper.request(HttpClientHelper.java:131) ~[?:?] at com.mashape.unirest.request.BaseRequest.asString(BaseRequest.java:56) ~[?:?] at net.dv8tion.jda.requests.Requester.toObject(Requester.java:97) ~[?:?] at net.dv8tion.jda.requests.Requester.post(Requester.java:51) ~[?:?] at net.dv8tion.jda.entities.impl.JDAImpl.login(JDAImpl.java:143) ~[?:?] at net.dv8tion.jda.JDABuilder.build(JDABuilder.java:231) ~[?:?] at gg.obsidian.discordbridge.DiscordConnection.<init>(DiscordConnection.kt:8) ~[?:?] at gg.obsidian.discordbridge.Plugin.onEnable(Plugin.kt:13) ~[?:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[spigot.jar:git-Spigot-db6de12-18fbb24] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340) [spigot.jar:git-Spigot-db6de12-18fbb24] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot.jar:git-Spigot-db6de12-18fbb24] at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:357) [spigot.jar:git-Spigot-db6de12-18fbb24] at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:317) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:414) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:378) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:333) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:263) [spigot.jar:git-Spigot-db6de12-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525) [spigot.jar:git-Spigot-db6de12-18fbb24] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_66]
I've fiddled for hours with trying to get YAML parsing and writing to work properly on the new core branch, but I can't seem to get it to behave.
Attempting to confirm a link alias request, for example, throws this stack trace when attempting to save and reload the usernames.yml
config. Objects are not properly serialized by snakeyaml and instead save empty.
I've managed to get around this issue with the other user defined types by having them read in as HashMaps and deserialized manually, but the UserAlias class needs to be done both ways.
Whenever somebody types in the game chat,
The Bot will put that message into the discord channel.
Although when it does, the message the bot put into chat then goes to Minecraft.
To clarify:
1.) In Minecraft chat I say "Hi"
2.) Instantly the bot puts my game message into the text channel on Discord.
3.) The bot message in that channel is then sent into Minecraft chat.
Super simple idea, already a thing for other IRC-Minecraft bridge plugins.
Something easy like %w will do. Possibly also a list of other tags that could be useful?
Sorry I think this is on the wrong place, but I don't know how to work with github.
Is possible to have some command to talk to discord? And perms to see the messages? Like as a member /staff doesn't work and I can't see staff chat, but with Moderator /staff (message) post the message do discord and I can see discord chat.
Hey there,
Recently got your plugin setup - nice job by the way.
However, it seems to repeat the messages someone sends in game and put them back into the chat. Is there a way this can be altered?
Example: https://puu.sh/tb943/70a4d993a4.png
As of 10/26/2016, whenever if_vanished is set to
chat: true
join: false
leave: false
death: false
chat does not come through to the Discord server. It will be sent from Discord to Minecraft, but not the other way around.
(This is going only by the last time a message was sent from Minecraft to Discord or back, it could have happened in just the last few days, but I hadn't noticed until today that chat wasn't working correctly [I did change the channel name, recently, from "minecraft" to "minecraft chat;" if that makes any difference])
I have turned on debug mode, but get no errors, only typical output - It's as if players are being flagged as vanished, but even then the chat should still come through, and there's absolutely no reason for them to be seen as vanished, to begin with.
I'm not sure if this is a bug with the plugin or an issue with the server itself but there have been no changes to configs, in the last month. I did move the server to a different VPS, however, this was done via sftp between the two VPSs on 10/24 and, as you can see on the following link, the move did not effect Discord Bridge's performace.
http://pastebin.com/xEmuxuwP
::Edit::
Using the most recent version - 1.7.1
Hi there!
Great work on the plugin so far - this is a solid piece of work!
Yesterday, about 16 hours ago, I was running DiscordBridge with no problems. Our designated bot was sending and receiving Discord and Minecraft chat with no dramas - happily ever after and all that jazz.
About 2 hours ago, upon coming back to the server, the Discord bot was logged out and chat wasn't sending. This is normal and has happened multiple times before. I normally fix it with a restart - which of course I tried immediately. The bot remained offline. I now get the following message on repeat:
DiscordAPI: Attempting go log in <again?>!
DiscordAPI: Shutting down!
DiscordAPI: Attempting to login!
DiscordAPI: Logged in and starting session!
DiscordAPI: Token: <very long alphanumeric string here, made of three dotted decimal sections - the first two of which are always the same, the third of which changes with each 'attempt'.>
WARN: Internal client error!
This occurs in the space of about 2 seconds for a loop, with about 25-30 seconds between 'attempts'.
The server is running on 1.8 Spigot with v1.3.0 DiscordBridge.
I have tried:
Multiple restarts.
Removing DiscordBridge and letting it generate a new config.yml.
Logging into my Discord bot account manually (works as normal).
Banging my head on the desk (sadly no results).
I will also add that nothing on the server was changed from the time DiscordBridge worked to the time it didn't. No players were online, no updates were performed. Nothing.
Thanks for taking the time to read this and looking forward to hearing a solution!
Hey Jacob,
Got another problem now we have another Discord update haha.
Reading the error it looks like it might be specific to Linux, but I have yet to try on Windows yet. Not sure what exactly this file is it's trying to open, but I'm guessing it wasn't required in the previous version of the API you were using.
I'm going to try on my local Windows test server now and will post feedback.
[22:32:13] [Server thread/INFO]: [DiscordBridge] Enabling DiscordBridge v1.4.2 [22:32:13] [Server thread/ERROR]: Error occurred while enabling DiscordBridge v1.4.2 (Is it up to date?) java.lang.UnsatisfiedLinkError: /tmp/libopus6170821543746543181.so: /lib/x86_64-linux-gnu/libc.so.6: version
GLIBC_2.14' not found (required by /tmp/libopus6170821543746543181.so)
at java.lang.ClassLoader$NativeLibrary.load(Native Method) ~[?:1.8.0_66]
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938) ~[?:1.8.0_66]
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1821) ~[?:1.8.0_66]
at java.lang.Runtime.load0(Runtime.java:809) ~[?:1.8.0_66]
at java.lang.System.load(System.java:1086) ~[?:1.8.0_66]
at net.dv8tion.jda.utils.NativeUtils.loadLibraryFromJar(NativeUtils.java:121) ~[?:?]
at net.dv8tion.jda.managers.AudioManager.(AudioManager.java:311) ~[?:?]
at net.dv8tion.jda.entities.impl.JDAImpl.(JDAImpl.java:62) ~[?:?]
at net.dv8tion.jda.JDABuilder.buildAsync(JDABuilder.java:235) ~[?:?]
at net.dv8tion.jda.JDABuilder.build(JDABuilder.java:209) ~[?:?]
at gg.obsidian.discordbridge.DiscordConnection.(DiscordConnection.kt:8) ~[?:?]
at gg.obsidian.discordbridge.Plugin.onEnable(Plugin.kt:13) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[spigot.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340) [spigot.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:357) [spigot.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:317) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:414) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:378) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:333) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:263) [spigot.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525) [spigot.jar:git-Spigot-db6de12-18fbb24]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_66]`
Hi,
Is it possible for you to do a fix for accents ? In Discord they appears with "?" and that's not easy to read...
Thanks,
Peter !
I have a bot called MC-Manager.
Witch is currently has only server-status command and ip command
i wish that i had this minecraft chat thing but I don't know if i can get this code.
we can also collaborate and merge the bot.
or I can get this code.
Thanks,
Doron
When the plugin is unloaded or disabled, messages from the discord channel are still being sent to the minecraft server.
I know, I know. Not good for servers.
It's fairly annoying to have to restart the entire server to see if an edit works or not, or even to reconnect to the discord chat if they've done updates or the connection has gone wonky; especially if you're running a lot of mods, as well.
After finally getting this working (thanks guys!) I've noticed that colours aren't being stripped, although I know you added this in one of the updates. See example below:
[Minecraft] Pawned: ?8[?2L?8] [?4Founder?8]?f Pawned?4:?f Pawnbot has been fixed ๐
Also was just thinking it would maybe be good to hook into Discord's join/afk/leave events too (if that's possible with the current API) and post that in Minecraft?
Also when you do @person in Discord it displays at @uuid in Minecraft. Any way this can just stay as @person or is this a limit in the API?
Everytime you reload the server, the plugin builds up a new connection but doesn't close the old one.
What happens, is, that after every reload it adds one more line.
Without a reload:
[Discord] DiscordUser123: Hi.
With 1 reload:
[Discord] DiscordUser123: Hi.
[Discord] DiscordUser123: Hi.
With 2 reloads:
[Discord] DiscordUser123: Hi.
[Discord] DiscordUser123: Hi.
[Discord] DiscordUser123: Hi.
And so on! Please fix that. ๐
pls make a update for 1.12
Everything is working fine til you do /discord reload
If you talk something on chat, you recieve it on chat, but it doesnt send.
Hello,
First of all thanks a lot for making this plugin, it's pretty awesome.
I have one issue though in that chat from Minecraft isn't being output in Discord.
The bot connects to the Discord channel no problem and messages from Discord are output in Minecraft, but for some reason Minecraft messages aren't going into Discord.
There are no error messages shown in the console to indicate why this wouldn't be working...
Hi, I'm not really sure where to ask but I was wondering if there was a forge version of this mod? My server is not using bukkit/spigot because it was causing some really weird issues with our pack but we'd really like to connect our discord chat and our mc chat. Even something as simple as relaying all the chat in a channel back and forth would be great.
A popular plugin for may Spigot / Craftbukkit servers is the plugin called VanishNoPacket. It makes moderating a server much easier and allows players with the right permissions to be invisible in-game and on the server list. Currently this plugin will end up showing when vanished players join the server in Discord. Would it be possible to integrate with VanishNoPacket's API to not send join and leave messages for vanished players? Their github is here: https://github.com/mbax/VanishNoPacket
Love the plugin, but unfortunately it was a deal breaker that messages from discord to the minecraft server can be seen in every minecraft chat channel. Furthermore, chat within private chat channels on the server are displayed in discord.
If an option can be be added to choose which minecraft chat channel the plugin relays messages to and from, that would be enough to keep DiscordBridge.
We currently use this chat channels plugin:
http://dev.bukkit.org/bukkit-plugins/simplechatchannels/
I think this may be an issue with the plugin not closing connections on reload.
Just installed, but it's throwing this error every time I launch. It's configured according to instructions as far as I can see!
Here's the config file with personal information blacked-out. I did notice that the single quotes are lacking from some (and present in the installation), but I tried adding them and they were removed when I next rebooted.
Thanks!
Isnt sending messages neither recieving from discord.
Should be fairly simple. Currently death messages aren't shown in Discord and it's sometimes relevant to the the discussion.
Hi,
Currently the plugin relays all chat messages. This is a problem if we want to cancel a chat message because it contains bad language, is spam, goes to a private channel, or a variety of other reasons.
I think it'd be wise to allow users to configure whether cancelled chat events get relayed. This way those using no channel system but some filtering (spam prevention, etc) can still cancel the message, while those using a channel system which cancel all messages can continue to use the bridge.
Essentially what I am proposing is a config option for relaying cancelled messages. If this sounds fine, I'll open up a PR
I have a suggestion. If a user in Discord loads up a picture into the discord chat, ingame only a empty message from the user with this picture appears (if in discord is no message for this picture). But is it possible to post the link (maybe shorten) to the picture ingame?
Hi,
Messages will not get forwarded to within the discord from in game. I would attempt to fix this myself, but I am just starting in plugin coding. I am getting the error as follows:
18.06 21:38:32 [Server] INFO [DiscordBridge] Received a chat event from SheepPuncher651: yes please
18.06 21:38:32 [Server] INFO [DiscordBridge] Sending message to Discord - yes please
18.06 21:38:32 [Server] ERROR Could not pass event AsyncPlayerChatEvent to DiscordBridge v1.7.1
18.06 21:38:32 [Server] INFO org.bukkit.event.EventException
18.06 21:38:32 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[PaperSpigot-1.8.8.jar:git-PaperSpigot-"8b18730"]
18.06 21:38:32 [Server] INFO at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) ~[PaperSpigot-1.8.8.jar:git-PaperSpigot-"8b18730"]
18.06 21:38:32 [Server] INFO at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[PaperSpigot-1.8.8.jar:git-PaperSpigot-"8b18730"]
18.06 21:38:32 [Server] INFO at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [PaperSpigot-1.8.8.jar:git-PaperSpigot-"8b18730"]
18.06 21:38:32 [Server] INFO at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:483) [PaperSpigot-1.8.8.jar:git-PaperSpigot-"8b18730"]
18.06 21:38:32 [Server] INFO at net.minecraft.server.v1_8_R3.PlayerConnection.chat(PlayerConnection.java:1111) [PaperSpigot-1.8.8.jar:git-PaperSpigot-"8b18730"]
18.06 21:38:32 [Server] INFO at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1026) [PaperSpigot-1.8.8.jar:git-PaperSpigot-"8b18730"]
18.06 21:38:32 [Server] INFO at net.minecraft.server.v1_8_R3.PacketPlayInChat$1.run(PacketPlayInChat.java:39) [PaperSpigot-1.8.8.jar:git-PaperSpigot-"8b18730"]
18.06 21:38:32 [Server] INFO at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_91]
18.06 21:38:32 [Server] INFO at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_91]
18.06 21:38:32 [Server] INFO at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_91]
18.06 21:38:32 [Server] INFO at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_91]
18.06 21:38:32 [Server] INFO at java.lang.Thread.run(Thread.java:745) [?:1.8.0_91]
18.06 21:38:32 [Server] INFO Caused by: net.dv8tion.jda.exceptions.PermissionException: Cannot preform action due to a lack of Permission. Missing permission: MESSAGE_WRITE
18.06 21:38:32 [Server] INFO at net.dv8tion.jda.entities.impl.TextChannelImpl.sendMessage(TextChannelImpl.java:152) ~[?:?]
18.06 21:38:32 [Server] INFO at net.dv8tion.jda.entities.impl.TextChannelImpl.sendMessage(TextChannelImpl.java:144) ~[?:?]
18.06 21:38:32 [Server] INFO at gg.obsidian.discordbridge.DiscordConnection.send(DiscordConnection.kt:30) ~[?:?]
18.06 21:38:32 [Server] INFO at gg.obsidian.discordbridge.Plugin.sendToDiscord(Plugin.kt:30) ~[?:?]
18.06 21:38:32 [Server] INFO at gg.obsidian.discordbridge.EventListener.onChat(EventListener.kt:39) ~[?:?]
18.06 21:38:32 [Server] INFO at sun.reflect.GeneratedMethodAccessor527.invoke(Unknown Source) ~[?:?]
18.06 21:38:32 [Server] INFO at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_91]
18.06 21:38:32 [Server] INFO at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_91]
18.06 21:38:32 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:300) ~[PaperSpigot-1.8.8.jar:git-PaperSpigot-"8b18730"]
18.06 21:38:32 [Server] INFO ... 12 more
Send
For example;
Before DiscordBridge is loaded:
password: 05478
After DiscordBridge is loaded:
password: 5478.0
This results in an error.
Error connecting to Discord: javax.security.auth.login.LoginException: The provided email / password combination was incorrect. Please provide valid details.
Hello,
Just wanted to say great plugin it works perfect on my own private server hosted right from my computer. I am having some issues getting it to connect on a dedicated server hosted with Intreppid.
I know this issue is on my end with my host but I was wondering if you could shed some insight on what is needed to allow communication through. Ports, security, etc.
Thanks so much!
I have an 1.8.9 and i can't use Sponge, then, can someone create a mod of this in future?
Messages sent to a channel with the discord bot should not appear formatted in the Minecraft server.
What's currently wrong:
Hey that was very nice to update it for Login with Token, but i created a Discord Bot with the official API and need now to login with a token.
Regards Kiyo
I'm adding jar to server and rebooting server and shutting it down again and putting config in and rebooting and the configs changing to this I have set this up on another server and its fine
config getting from server.txt
config upload to the server.txt
Can you setup the plugin to detect when the server is closing and have it sent to the Discord channel also create a way to send commands to users that have permissions from discord, And have it so the bot can talk in multiple channels? (Kinda like PurpleIRC) just a suggestion ill try and work on it myself but i may come up short im very inexperienced with Java Coding
(Feature request)
Chat at times seems confusing and those just on Discord can miss out on context without death messages.
If possible i want to know if there is a way to push console commands from discord
IE
Discord User <prefix> time set day Console output: <Discord Username> Executed <Command>
or something similar i can see where this would create issues with attempting to sync minecraft usernames with discord usernames but it would make it easier to moderate my server on the go without having to either go in game or use something like minechat
Nickname mods are popular, nicks are what people are actually known by on a server. Displaying someone's Minecraft nickname on Discord would be helpful for identifying who is who. Obviously keep the option of displaying someone's real username as well.
[01:36:31 INFO]: [DiscordBridge] Enabling DiscordBridge v1.7.0
[01:36:31 ERROR]: Error occurred while enabling DiscordBridge v1.7.0 (Is it up to date?)
java.lang.IllegalStateException: plugin.config.getString("settings.token") must not be null
at gg.obsidian.discordbridge.Configuration.load(Configuration.kt:43) ~[?:?]
at gg.obsidian.discordbridge.Plugin.updateConfig(Plugin.kt:53) ~[?:?]
at gg.obsidian.discordbridge.Plugin.onEnable(Plugin.kt:11) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:292) ~[spigot-1.9.2.jar:git-Spigot-5a40365-b70058a]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340) [spigot-1.9.2.jar:git-Spigot-5a40365-b70058a]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot-1.9.2.jar:git-Spigot-5a40365-b70058a]
at org.bukkit.craftbukkit.v1_9_R1.CraftServer.loadPlugin(CraftServer.java:361) [spigot-1.9.2.jar:git-Spigot-5a40365-b70058a]
at org.bukkit.craftbukkit.v1_9_R1.CraftServer.enablePlugins(CraftServer.java:321) [spigot-1.9.2.jar:git-Spigot-5a40365-b70058a]
at net.minecraft.server.v1_9_R1.MinecraftServer.t(MinecraftServer.java:411) [spigot-1.9.2.jar:git-Spigot-5a40365-b70058a]
at net.minecraft.server.v1_9_R1.MinecraftServer.l(MinecraftServer.java:376) [spigot-1.9.2.jar:git-Spigot-5a40365-b70058a]
at net.minecraft.server.v1_9_R1.MinecraftServer.a(MinecraftServer.java:331) [spigot-1.9.2.jar:git-Spigot-5a40365-b70058a]
at net.minecraft.server.v1_9_R1.DedicatedServer.init(DedicatedServer.java:269) [spigot-1.9.2.jar:git-Spigot-5a40365-b70058a]
at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:527) [spigot-1.9.2.jar:git-Spigot-5a40365-b70058a]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_77]
An added 'command' or occasional status message to tally the number of players online and / or a list of their names.
".players
Online (3/64): MockingBae PandasCantRun Tribaly"
Getting the following error upon starting the server (xxxxxx's in place of server id)
[18:23:18 INFO]: Done (5.481s)! For help, type "help" or "?" [18:23:18 WARN]: Got an unexpected Json-parse error. Please redirect following message to the devs: [18:23:18 WARN]: JSONObject["muted_channels"] not found. [18:23:18 WARN]: READY -> {"user_settings":{"inline_embed_media":true,"render_embeds":true,"inline_attachment_media":true,"show_current_game":true,"theme":"light","enable_tts_command":true,"locale":"en-US","convert_emoticons":true,"message_display_compact":false},"read_state":[{"last_message_id":"150378756211605515","mention_count":0,"id":"xxxxxxxxx"}],"guilds":[{"emojis":[],"large":false,"owner_id":"147064481174913024","roles":[{"color":0,"permissions":36916224,"managed":false,"name":"@everyone","position":-1,"id":"147064712914272256","hoist":false},{"color":3447003,"permissions":36953089,"managed":false,"name":"@member","position":1,"id":"147070029945372672","hoist":false},{"color":10181046,"permissions":66321471,"managed":false,"name":"@admin","position":2,"id":"147070369830797312","hoist":true},{"color":1752220,"permissions":32767039,"managed":false,"name":"@bot","position":3,"id":"147782444890718208","hoist":true}],"icon":"03316366db64017ece188b6570b41477","afk_timeout":300,"joined_at":"2016-02-12T18:28:45.808000+00:00","features":[],"verification_level":0,"presences":[{"game":{"name":"Minecraft"},"user":{"id":"146393892600807424"},"status":"online"},{"game":null,"user":{"id":"147064481174913024"},"status":"online"},{"game":null,"user":{"id":"147453396251574273"},"status":"idle"},{"game":null,"user":{"id":"147769503931957248"},"status":"online"}],"channels":[{"permission_overwrites":[],"last_message_id":"150379663598944257","name":"general","topic":"","position":0,"id":"147064712914272256","type":"text"},{"permission_overwrites":[{"allow":0,"deny":0,"id":"147064712914272256","type":"role"}],"last_message_id":null,"name":"General","bitrate":64000,"position":0,"id":"147064712914272257","type":"voice"}],"afk_channel_id":null,"members":[{"joined_at":"2016-02-10T22:01:19.555000+00:00","roles":["147070029945372672"],"deaf":false,"mute":false,"user":{"id":"146393892600807424","avatar":null,"username":"Wiseman333","discriminator":"5954"}},{"joined_at":"2016-02-10T19:46:47.024000+00:00","roles":["147070029945372672"],"deaf":false,"mute":false,"user":{"id":"146460644563091457","avatar":null,"username":"deadpixel88","discriminator":"2017"}},{"joined_at":"2016-02-10T19:42:39.891000+00:00","roles":["147070369830797312"],"deaf":false,"mute":false,"user":{"id":"147064481174913024","avatar":"717ee368c3dc66cf8f4f1858c43a9211","username":"Sivalion","discriminator":"3642"}},{"joined_at":"2016-02-13T02:26:45.833000+00:00","roles":["147070029945372672"],"deaf":false,"mute":false,"user":{"id":"147453396251574273","avatar":"cb07b68d624ec4465bd7cb7fd0c41fcf","username":"Ashzilla","discriminator":"1425"}},{"joined_at":"2016-02-12T04:48:06.449000+00:00","roles":["147070029945372672"],"deaf":false,"mute":false,"user":{"id":"147562981063000065","avatar":null,"username":"Hades4614","discriminator":"0335"}},{"joined_at":"2016-02-12T18:28:45.808000+00:00","roles":["147782444890718208"],"deaf":false,"mute":false,"user":{"id":"147769503931957248","avatar":null,"username":"kupocraft","discriminator":"5285"}},{"joined_at":"2016-02-15T05:25:08.241000+00:00","roles":["147070029945372672"],"deaf":false,"mute":false,"user":{"id":"148655754084220928","avatar":null,"username":"zuroko","discriminator":"8682"}}],"name":"Kupocraft Chat","voice_states":[{"self_deaf":false,"user_id":"147064481174913024","deaf":false,"session_id":"5310caebd0c51b2e233170c7dd8ffc54","mute":false,"suppress":false,"self_mute":true,"channel_id":"147064712914272257"}],"id":"147064712914272256","region":"us-east","member_count":7,"splash":null}],"v":3,"user_guild_settings":[],"session_id":"89a4dfd6def4935e795bb52ceab14dc5","private_channels":[],"tutorial":null,"user":{"verified":true,"id":"147769503931957248","avatar":null,"email":"[email protected]","username":"kupocraft","discriminator":"5285"},"heartbeat_interval":41250}
and then I get the following error when someone attempts to type from the discord app (nothing happens when they type in minecraft).
[18:34:26 WARN]: JDA encountered an internal error. [18:34:26 WARN]: java.lang.IllegalArgumentException: Could not find Private Channel of id xxxxxxxxxxxxx [18:34:26 WARN]: at net.dv8tion.jda.handle.EntityBuilder.createMessage(EntityBuilder.java:349) [18:34:26 WARN]: at net.dv8tion.jda.handle.MessageReceivedHandler.handle(MessageReceivedHandler.java:42) [18:34:26 WARN]: at net.dv8tion.jda.requests.WebSocketClient.onTextMessage(WebSocketClient.java:141) [18:34:26 WARN]: at com.neovisionaries.ws.client.ListenerManager.callOnTextMessage(ListenerManager.java:352) [18:34:26 WARN]: at com.neovisionaries.ws.client.ReadingThread.callOnTextMessage(ReadingThread.java:233) [18:34:26 WARN]: at com.neovisionaries.ws.client.ReadingThread.callOnTextMessage(ReadingThread.java:211) [18:34:26 WARN]: at com.neovisionaries.ws.client.ReadingThread.handleTextFrame(ReadingThread.java:910) [18:34:26 WARN]: at com.neovisionaries.ws.client.ReadingThread.handleFrame(ReadingThread.java:693) [18:34:26 WARN]: at com.neovisionaries.ws.client.ReadingThread.main(ReadingThread.java:102) [18:34:26 WARN]: at com.neovisionaries.ws.client.ReadingThread.run(ReadingThread.java:61)
If a player sends a message in the Minecraft chat, it will correctly show up in Discord. The bot will also pick its own message up and relay it back to Minecraft again, essentially duplicating every message.
Perhaps it would be possible to have a list of ignored usernames from the Discord side?
I installed the 3.0.0 plugin last night, and it appears to run just fine. However, message relay is hit-or-miss. Fully half the messages don't get passed in either direction. Here's an example error message from the log.
[02:57:46] [Craft Scheduler Thread - 13/INFO]: [DiscordBridge] Entered relay. event: wait what y tho
[02:58:04] [ReadingThread/INFO]: [DiscordBridge] Entered relay. event: Idk he just went "wait wAITWAITWAITGO BACK"
[02:58:04] [ReadingThread/WARN]: [02:58:04] [Fatal] [JDA]: One of the EventListeners had an uncaught exception
[02:58:04] [ReadingThread/WARN]: [02:58:04] [Fatal] [JDA]: Encountered an exception:
[02:58:04] [ReadingThread/WARN]: [02:58:04] [Fatal] [JDA]: java.lang.IllegalStateException: Asynchronous entity track!
at org.spigotmc.AsyncCatcher.catchOp(AsyncCatcher.java:14)
at net.minecraft.server.v1_12_R1.EntityTracker.addEntity(EntityTracker.java:108)
at net.minecraft.server.v1_12_R1.EntityTracker.track(EntityTracker.java:82)
at net.minecraft.server.v1_12_R1.WorldManager.a(WorldManager.java:21)
at net.minecraft.server.v1_12_R1.World.b(World.java:1093)
at net.minecraft.server.v1_12_R1.WorldServer.b(WorldServer.java:1160)
at net.minecraft.server.v1_12_R1.WorldServer.a(WorldServer.java:1125)
at net.minecraft.server.v1_12_R1.Chunk.addEntities(Chunk.java:753)
at org.bukkit.craftbukkit.v1_12_R1.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:45)
at org.bukkit.craftbukkit.v1_12_R1.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:1)
at org.bukkit.craftbukkit.v1_12_R1.util.AsynchronousExecutor.skipQueue(AsynchronousExecutor.java:337)
at org.bukkit.craftbukkit.v1_12_R1.util.AsynchronousExecutor.getSkipQueue(AsynchronousExecutor.java:295)
at org.bukkit.craftbukkit.v1_12_R1.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:16)
at net.minecraft.server.v1_12_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:137)
at net.minecraft.server.v1_12_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:120)
at net.minecraft.server.v1_12_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:116)
at net.minecraft.server.v1_12_R1.World.getChunkAt(World.java:331)
at net.minecraft.server.v1_12_R1.World.getChunkAtWorldCoords(World.java:327)
at net.minecraft.server.v1_12_R1.World.getType(World.java:808)
at net.minecraft.server.v1_12_R1.TileEntityCommand$1.i(TileEntityCommand.java:33)
at net.minecraft.server.v1_12_R1.CommandBlockListenerAbstract.sendMessage(CommandBlockListenerAbstract.java:331)
at org.bukkit.craftbukkit.v1_12_R1.command.CraftBlockCommandSender.sendMessage(CraftBlockCommandSender.java:27)
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.broadcast(CraftServer.java:1268)
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.broadcastMessage(CraftServer.java:451)
at gg.obsidian.discordbridge.Plugin.sendToMinecraft(Plugin.kt:112)
at gg.obsidian.discordbridge.commands.controllers.BotControllerManager.relay(BotControllerManager.kt:390)
at gg.obsidian.discordbridge.commands.controllers.BotControllerManager.dispatchMessage(BotControllerManager.kt:149)
at gg.obsidian.discordbridge.discord.Listener.onMessageReceived(Listener.kt:39)
at net.dv8tion.jda.core.hooks.ListenerAdapter.onEvent(ListenerAdapter.java:327)
at net.dv8tion.jda.core.hooks.InterfacedEventManager.handle(InterfacedEventManager.java:64)
at net.dv8tion.jda.core.handle.MessageCreateHandler.handleDefaultMessage(MessageCreateHandler.java:129)
at net.dv8tion.jda.core.handle.MessageCreateHandler.handleInternally(MessageCreateHandler.java:51)
at net.dv8tion.jda.core.handle.SocketHandler.handle(SocketHandler.java:38)
at net.dv8tion.jda.core.requests.WebSocketClient.handleEvent(WebSocketClient.java:688)
at net.dv8tion.jda.core.requests.WebSocketClient.onTextMessage(WebSocketClient.java:437)
at com.neovisionaries.ws.client.ListenerManager.callOnTextMessage(ListenerManager.java:352)
at com.neovisionaries.ws.client.ReadingThread.callOnTextMessage(ReadingThread.java:262)
at com.neovisionaries.ws.client.ReadingThread.callOnTextMessage(ReadingThread.java:240)
at com.neovisionaries.ws.client.ReadingThread.handleTextFrame(ReadingThread.java:965)
at com.neovisionaries.ws.client.ReadingThread.handleFrame(ReadingThread.java:748)
at com.neovisionaries.ws.client.ReadingThread.main(ReadingThread.java:110)
at com.neovisionaries.ws.client.ReadingThread.run(ReadingThread.java:66)
Messages in Minecraft display just fine but any messages typed in Discord don't show up on the server. Did I miss something?
Using the latest Spigot release (1.12.2) with the latest Multiverse-Core release (2.5.0) and DiscordBridge (3.1.0) results in a failure to send messages to Discord when these messages contain a multiverse world name (using "%w"). Chatting in the base world works as expected. Steps to reproduce:
1.) /mv create test normal
2.) /mv tp test
3.) Type and send a message such as: "Test message"
The relevant line in config.yml looks like:
chat-message: <%u@server:%w> %m
This formerly worked in previous versions. The following stack trace is also produced each time a message is sent from a multiverse world:
[23:05:41] [Server thread/INFO]: JonDough issued server command: /mv create test normal
[23:05:41] [Server thread/INFO]: JonDough: Starting creation of world 'test'...
[23:06:09] [Server thread/INFO]: [Multiverse-Core] New Spawn for 'test' is located at: test:65.50,68.00,236.50:0.00:0.00
[23:06:10] [Server thread/INFO]: JonDough: Complete!
[23:07:43] [Server thread/INFO]: JonDough issued server command: /mv tp test
[23:07:57] [Async Chat Thread - #9/INFO]: [test]<JonDough> test message!
[23:07:57] [Craft Scheduler Thread - 111/WARN]: [DiscordBridge] Plugin DiscordBridge v3.1.0-dev1 generated an exception while executing task 5311
java.lang.NullPointerException: null
at sun.reflect.GeneratedMethodAccessor158.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.8.0_151]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_151]
at gg.obsidian.discordbridge.commands.controllers.BotControllerManager.relay(BotControllerManager.kt:429) ~[?:?]
at gg.obsidian.discordbridge.commands.controllers.BotControllerManager.dispatchMessage(BotControllerManager.kt:130) ~[?:?]
at gg.obsidian.discordbridge.minecraft.EventListener$onChat$1.run(EventListener.kt:73) ~[?:?]
at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:71) ~[spigot-1.12.2.jar:git-Spigot-109b080-ab09b27]
at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52) [spigot-1.12.2.jar:git-Spigot-109b080-ab09b27]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_151]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_151]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
Occasionally the account (bot) I have setup to relay minecraft chat to discord will go offline in discord. However it continues to transmit minecraft chat from Minecraft to Discord but you can't see any chat from Discord into Minecraft without rebooting the server (and thus restarting the bot)
Can you also add a /db reload command?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.