PiekJ / jambot

Discord bot for playing music in voice channels.
https://jambot.red
MIT License
4 stars 1 forks source link

RestAction gives failure and results in a endless bot is thinking state #99

Open carstenflokstra opened 1 month ago

carstenflokstra commented 1 month ago
2024-07-30T16:45:27.449+02:00  INFO 6 --- [jambot] [inWS-ReadThread] dev.joopie.jambot.JambotListener         : [Diamanic's Hardstyle Hub:diamanic] Requested command `search` with options: [OptionMapping[STRING](name=artist, value=Guru Donald Byrd), OptionMapping[STRING](name=songname, value=Loungin')]
2024-07-30T16:45:27.843+02:00 ERROR 6 --- [jambot] [inWS-ReadThread] n.dv8tion.jda.api.requests.RestAction    : RestAction queue returned failure

java.lang.IllegalStateException: This interaction has already been acknowledged or replied to. You can only reply or acknowledge an interaction once!
        at net.dv8tion.jda.internal.requests.restaction.interactions.InteractionCallbackImpl.tryAck(InteractionCallbackImpl.java:87) ~[JDA-5.0.1.jar!/:5.0.1]
        at net.dv8tion.jda.internal.requests.restaction.interactions.InteractionCallbackImpl.queue(InteractionCallbackImpl.java:94) ~[JDA-5.0.1.jar!/:5.0.1]
        at net.dv8tion.jda.api.requests.RestAction.queue(RestAction.java:573) ~[JDA-5.0.1.jar!/:5.0.1]
        at net.dv8tion.jda.api.requests.RestAction.queue(RestAction.java:539) ~[JDA-5.0.1.jar!/:5.0.1]
        at java.base/java.util.Optional.ifPresent(Optional.java:178) ~[na:na]
        at dev.joopie.jambot.JambotListener.onSlashCommandInteraction(JambotListener.java:112) ~[!/:0.0.1-SNAPSHOT]
        at net.dv8tion.jda.api.hooks.ListenerAdapter.onEvent(ListenerAdapter.java:456) ~[JDA-5.0.1.jar!/:5.0.1]
        at net.dv8tion.jda.api.hooks.InterfacedEventManager.handle(InterfacedEventManager.java:98) ~[JDA-5.0.1.jar!/:5.0.1]
        at net.dv8tion.jda.internal.hooks.EventManagerProxy.handleInternally(EventManagerProxy.java:88) ~[JDA-5.0.1.jar!/:5.0.1]
        at net.dv8tion.jda.internal.hooks.EventManagerProxy.handle(EventManagerProxy.java:70) ~[JDA-5.0.1.jar!/:5.0.1]
        at net.dv8tion.jda.internal.JDAImpl.handleEvent(JDAImpl.java:169) ~[JDA-5.0.1.jar!/:5.0.1]
        at net.dv8tion.jda.internal.handle.InteractionCreateHandler.handleCommand(InteractionCreateHandler.java:112) ~[JDA-5.0.1.jar!/:5.0.1]
        at net.dv8tion.jda.internal.handle.InteractionCreateHandler.handleInternally(InteractionCreateHandler.java:83) ~[JDA-5.0.1.jar!/:5.0.1]
        at net.dv8tion.jda.internal.handle.SocketHandler.handle(SocketHandler.java:39) ~[JDA-5.0.1.jar!/:5.0.1]
        at net.dv8tion.jda.internal.requests.WebSocketClient.onDispatch(WebSocketClient.java:1009) ~[JDA-5.0.1.jar!/:5.0.1]
        at net.dv8tion.jda.internal.requests.WebSocketClient.onEvent(WebSocketClient.java:892) ~[JDA-5.0.1.jar!/:5.0.1]
        at net.dv8tion.jda.internal.requests.WebSocketClient.handleEvent(WebSocketClient.java:870) ~[JDA-5.0.1.jar!/:5.0.1]
        at net.dv8tion.jda.internal.requests.WebSocketClient.onBinaryMessage(WebSocketClient.java:1048) ~[JDA-5.0.1.jar!/:5.0.1]
        at com.neovisionaries.ws.client.ListenerManager.callOnBinaryMessage(ListenerManager.java:385) ~[nv-websocket-client-2.14.jar!/:na]
        at com.neovisionaries.ws.client.ReadingThread.callOnBinaryMessage(ReadingThread.java:276) ~[nv-websocket-client-2.14.jar!/:na]
        at com.neovisionaries.ws.client.ReadingThread.handleBinaryFrame(ReadingThread.java:996) ~[nv-websocket-client-2.14.jar!/:na]
        at com.neovisionaries.ws.client.ReadingThread.handleFrame(ReadingThread.java:755) ~[nv-websocket-client-2.14.jar!/:na]
        at com.neovisionaries.ws.client.ReadingThread.main(ReadingThread.java:108) ~[nv-websocket-client-2.14.jar!/:na]
        at com.neovisionaries.ws.client.ReadingThread.runMain(ReadingThread.java:64) ~[nv-websocket-client-2.14.jar!/:na]
        at com.neovisionaries.ws.client.WebSocketThread.run(WebSocketThread.java:45) ~[nv-websocket-client-2.14.jar!/:na]

Maybe we also need to create our own timeout after a while. Something to lookout for

carstenflokstra commented 1 month ago

I think this is being tackled by #103. Need to check though