Hey all, I'm making a discord bot that interacts with my mc server... after some bugtesting I've come to realize that I can't execute server commands (even ones in functions) from a "synchronous event" which vixio's "on guild message receive" event seems to be. Loading the script results in no errors, however I am greeted with a stacktrace in the console whenever I send a message in the discord channel I specify, and "execute console command" fails to run. I can't figure out how to even go about fixing this, or if this is some kind of bug in vixio or skript. I'm using bensku's fork, dev-25, and version 1.1.2 of vixio (I know there's a new version out, I'll try updating later). Thanks
[doublepost=1496146588,1496094608][/doublepost]update: I tried this with Vixio 1.1.3 and it's still broken. As an example here's the kind of code that can generate this error.
here's the error this will produce:
To give an idea of what i'm trying to accomplish, I'm basically just trying to run a /tellraw command on the mc server using json.sk that contains a formatted version of the text sent in discord. My discord bot calls a few functions to handle text formatting, including json.sk . It trips up on the final step in the process which is json.sk because it includes "execute console command "/tellraw %{_to}% %{_msg}%".
Any help would be appreciated, thank you
EDIT AGAIN: nevermind i figured it out myself lmao. I just used $ thread (from skquery) before the function call and it worked. However there are still errors in the console. What can I do to fix them?
[doublepost=1496146588,1496094608][/doublepost]update: I tried this with Vixio 1.1.3 and it's still broken. As an example here's the kind of code that can generate this error.
code_language.skript:
on guild message receive seen by "bot":
execute console command "/say hi"
here's the error this will produce:
30.05 08:08:54 [Server] WARN java.lang.IllegalStateException: ServerCommandEvent cannot be triggered asynchronously from inside synchronized code. 30.05 08:08:54 [Server] WARN at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:494) 30.05 08:08:54 [Server] WARN at ch.njol.skript.Skript.dispatchCommand(Skript.java:1084) 30.05 08:08:54 [Server] WARN at ch.njol.skript.effects.EffCommand.execute(EffCommand.java:86) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.Effect.run(Effect.java:54) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:65) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:93) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.Trigger.execute(Trigger.java:53) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.ScriptFunction.execute(ScriptFunction.java:91) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.Function.execute(Function.java:109) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.FunctionReference.execute(FunctionReference.java:191) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.EffFunctionCall.execute(EffFunctionCall.java:55) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.Effect.run(Effect.java:54) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:65) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:93) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.Trigger.execute(Trigger.java:53) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.ScriptFunction.execute(ScriptFunction.java:91) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.Function.execute(Function.java:109) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.FunctionReference.execute(FunctionReference.java:191) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.EffFunctionCall.execute(EffFunctionCall.java:55) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.Effect.run(Effect.java:54) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:65) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:93) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.Trigger.execute(Trigger.java:53) 30.05 08:08:54 [Server] WARN at ch.njol.skript.SkriptEventHandler.check(SkriptEventHandler.java:152) 30.05 08:08:54 [Server] WARN at ch.njol.skript.SkriptEventHandler$1.execute(SkriptEventHandler.java:112) 30.05 08:08:54 [Server] WARN at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) 30.05 08:08:54 [Server] WARN at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) 30.05 08:08:54 [Server] WARN at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) 30.05 08:08:54 [Server] WARN at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502) 30.05 08:08:54 [Server] WARN at me.iblitzkriegi.vixio.jdaEvents.GuildMessageReceived.onGuildMessageReceived(GuildMessageReceived.java:32) 30.05 08:08:54 [Server] WARN at net.dv8tion.jda.core.hooks.ListenerAdapter.onEvent(ListenerAdapter.java:349) 30.05 08:08:54 [Server] WARN at net.dv8tion.jda.core.hooks.InterfacedEventManager.handle(InterfacedEventManager.java:84) 30.05 08:08:54 [Server] WARN at net.dv8tion.jda.core.handle.MessageCreateHandler.handleDefaultMessage(MessageCreateHandler.java:97) 30.05 08:08:54 [Server] WARN at net.dv8tion.jda.core.handle.MessageCreateHandler.handleInternally(MessageCreateHandler.java:50) 30.05 08:08:54 [Server] WARN at net.dv8tion.jda.core.handle.SocketHandler.handle(SocketHandler.java:38) 30.05 08:08:54 [Server] WARN at net.dv8tion.jda.core.requests.WebSocketClient.handleEvent(WebSocketClient.java:738) 30.05 08:08:54 [Server] WARN at net.dv8tion.jda.core.requests.WebSocketClient.onTextMessage(WebSocketClient.java:475) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.ListenerManager.callOnTextMessage(ListenerManager.java:352) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.ReadingThread.callOnTextMessage(ReadingThread.java:260) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.ReadingThread.callOnTextMessage(ReadingThread.java:238) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.ReadingThread.handleTextFrame(ReadingThread.java:963) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.ReadingThread.handleFrame(ReadingThread.java:746) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.ReadingThread.main(ReadingThread.java:108) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.ReadingThread.runMain(ReadingThread.java:64) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.WebSocketThread.run(WebSocketThread.java:45) 30.05 08:08:54 [Server] WARN java.lang.IllegalStateException: ServerCommandEvent cannot be triggered asynchronously from inside synchronized code. 30.05 08:08:54 [Server] WARN at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:494) 30.05 08:08:54 [Server] WARN at ch.njol.skript.Skript.dispatchCommand(Skript.java:1084) 30.05 08:08:54 [Server] WARN at ch.njol.skript.effects.EffCommand.execute(EffCommand.java:86) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.Effect.run(Effect.java:54) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:65) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:93) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.Trigger.execute(Trigger.java:53) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.ScriptFunction.execute(ScriptFunction.java:91) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.Function.execute(Function.java:109) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.FunctionReference.execute(FunctionReference.java:191) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.EffFunctionCall.execute(EffFunctionCall.java:55) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.Effect.run(Effect.java:54) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:65) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:93) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.Trigger.execute(Trigger.java:53) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.ScriptFunction.execute(ScriptFunction.java:91) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.Function.execute(Function.java:109) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.FunctionReference.execute(FunctionReference.java:191) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.EffFunctionCall.execute(EffFunctionCall.java:55) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.Effect.run(Effect.java:54) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:65) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:93) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.Trigger.execute(Trigger.java:53) 30.05 08:08:54 [Server] WARN at ch.njol.skript.SkriptEventHandler.check(SkriptEventHandler.java:152) 30.05 08:08:54 [Server] WARN at ch.njol.skript.SkriptEventHandler$1.execute(SkriptEventHandler.java:112) 30.05 08:08:54 [Server] WARN at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) 30.05 08:08:54 [Server] WARN at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) 30.05 08:08:54 [Server] WARN at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) 30.05 08:08:54 [Server] WARN at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502) 30.05 08:08:54 [Server] WARN at me.iblitzkriegi.vixio.jdaEvents.GuildMessageReceived.onGuildMessageReceived(GuildMessageReceived.java:32) 30.05 08:08:54 [Server] WARN at net.dv8tion.jda.core.hooks.ListenerAdapter.onEvent(ListenerAdapter.java:349) 30.05 08:08:54 [Server] WARN at net.dv8tion.jda.core.hooks.InterfacedEventManager.handle(InterfacedEventManager.java:84) 30.05 08:08:54 [Server] WARN at net.dv8tion.jda.core.handle.MessageCreateHandler.handleDefaultMessage(MessageCreateHandler.java:97) 30.05 08:08:54 [Server] WARN at net.dv8tion.jda.core.handle.MessageCreateHandler.handleInternally(MessageCreateHandler.java:50) 30.05 08:08:54 [Server] WARN at net.dv8tion.jda.core.handle.SocketHandler.handle(SocketHandler.java:38) 30.05 08:08:54 [Server] WARN at net.dv8tion.jda.core.requests.WebSocketClient.handleEvent(WebSocketClient.java:738) 30.05 08:08:54 [Server] WARN at net.dv8tion.jda.core.requests.WebSocketClient.onTextMessage(WebSocketClient.java:475) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.ListenerManager.callOnTextMessage(ListenerManager.java:352) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.ReadingThread.callOnTextMessage(ReadingThread.java:260) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.ReadingThread.callOnTextMessage(ReadingThread.java:238) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.ReadingThread.handleTextFrame(ReadingThread.java:963) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.ReadingThread.handleFrame(ReadingThread.java:746) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.ReadingThread.main(ReadingThread.java:108) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.ReadingThread.runMain(ReadingThread.java:64) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.WebSocketThread.run(WebSocketThread.java:45) 30.05 08:08:54 [Server] WARN java.lang.IllegalStateException: ServerCommandEvent cannot be triggered asynchronously from inside synchronized code. 30.05 08:08:54 [Server] WARN at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:494) 30.05 08:08:54 [Server] WARN at ch.njol.skript.Skript.dispatchCommand(Skript.java:1084) 30.05 08:08:54 [Server] WARN at ch.njol.skript.effects.EffCommand.execute(EffCommand.java:86) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.Effect.run(Effect.java:54) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:65) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:93) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.Trigger.execute(Trigger.java:53) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.ScriptFunction.execute(ScriptFunction.java:91) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.Function.execute(Function.java:109) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.FunctionReference.execute(FunctionReference.java:191) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.EffFunctionCall.execute(EffFunctionCall.java:55) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.Effect.run(Effect.java:54) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:65) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:93) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.Trigger.execute(Trigger.java:53) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.ScriptFunction.execute(ScriptFunction.java:91) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.Function.execute(Function.java:109) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.FunctionReference.execute(FunctionReference.java:191) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.function.EffFunctionCall.execute(EffFunctionCall.java:55) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.Effect.run(Effect.java:54) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:65) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:93) 30.05 08:08:54 [Server] WARN at ch.njol.skript.lang.Trigger.execute(Trigger.java:53) 30.05 08:08:54 [Server] WARN at ch.njol.skript.SkriptEventHandler.check(SkriptEventHandler.java:152) 30.05 08:08:54 [Server] WARN at ch.njol.skript.SkriptEventHandler$1.execute(SkriptEventHandler.java:112) 30.05 08:08:54 [Server] WARN at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) 30.05 08:08:54 [Server] WARN at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) 30.05 08:08:54 [Server] WARN at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) 30.05 08:08:54 [Server] WARN at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502) 30.05 08:08:54 [Server] WARN at me.iblitzkriegi.vixio.jdaEvents.GuildMessageReceived.onGuildMessageReceived(GuildMessageReceived.java:32) 30.05 08:08:54 [Server] WARN at net.dv8tion.jda.core.hooks.ListenerAdapter.onEvent(ListenerAdapter.java:349) 30.05 08:08:54 [Server] WARN at net.dv8tion.jda.core.hooks.InterfacedEventManager.handle(InterfacedEventManager.java:84) 30.05 08:08:54 [Server] WARN at net.dv8tion.jda.core.handle.MessageCreateHandler.handleDefaultMessage(MessageCreateHandler.java:97) 30.05 08:08:54 [Server] WARN at net.dv8tion.jda.core.handle.MessageCreateHandler.handleInternally(MessageCreateHandler.java:50) 30.05 08:08:54 [Server] WARN at net.dv8tion.jda.core.handle.SocketHandler.handle(SocketHandler.java:38) 30.05 08:08:54 [Server] WARN at net.dv8tion.jda.core.requests.WebSocketClient.handleEvent(WebSocketClient.java:738) 30.05 08:08:54 [Server] WARN at net.dv8tion.jda.core.requests.WebSocketClient.onTextMessage(WebSocketClient.java:475) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.ListenerManager.callOnTextMessage(ListenerManager.java:352) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.ReadingThread.callOnTextMessage(ReadingThread.java:260) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.ReadingThread.callOnTextMessage(ReadingThread.java:238) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.ReadingThread.handleTextFrame(ReadingThread.java:963) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.ReadingThread.handleFrame(ReadingThread.java:746) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.ReadingThread.main(ReadingThread.java:108) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.ReadingThread.runMain(ReadingThread.java:64) 30.05 08:08:54 [Server] WARN at com.neovisionaries.ws.client.WebSocketThread.run(WebSocketThread.java:45)
To give an idea of what i'm trying to accomplish, I'm basically just trying to run a /tellraw command on the mc server using json.sk that contains a formatted version of the text sent in discord. My discord bot calls a few functions to handle text formatting, including json.sk . It trips up on the final step in the process which is json.sk because it includes "execute console command "/tellraw %{_to}% %{_msg}%".
Any help would be appreciated, thank you
EDIT AGAIN: nevermind i figured it out myself lmao. I just used $ thread (from skquery) before the function call and it worked. However there are still errors in the console. What can I do to fix them?
Last edited: