topi314 / SponsorBlock-Plugin

Lavalink SponsorBlock Plugin
Apache License 2.0
21 stars 2 forks source link

Exception thrown and not caught when video does not have any sponsor block segments #3

Closed Redhawk18 closed 1 year ago

Redhawk18 commented 1 year ago

example video https://www.youtube.com/watch?v=Kh2JI18ByvU

this is the sponsor block page for the video https://sponsor.ajay.app/api/skipSegments?videoID=Kh2JI18ByvU

java.io.FileNotFoundException: https://sponsor.ajay.app/api/skipSegments?videoID=Kh2JI18ByvU&categories=%5B%22music_offtopic%22%2C+%22preview%22%2C+%22selfpromo%22%2C+%22sponsor%22%2C+%22interaction%22%5D
        at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1993) ~[na:na]
        at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589) ~[na:na]
        at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224) ~[na:na]
        at com.github.topisenpai.plugin.sponsorblock.SponsorBlockPlugin.retrieveVideoSegments(SponsorBlockPlugin.java:93) ~[jar:file:C:\Users\crang\Documents\Code\Bongo-Bot\lavalink\.\plugins\sponsorblock-plugin-v1.0.3.jar!/:na]
        at com.github.topisenpai.plugin.sponsorblock.SponsorBlockPlugin$1.onTrackStart(SponsorBlockPlugin.java:71) ~[jar:file:C:\Users\crang\Documents\Code\Bongo-Bot\lavalink\.\plugins\sponsorblock-plugin-v1.0.3.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.player.event.AudioEventAdapter.onEvent(AudioEventAdapter.java:72) ~[lavaplayer-1.3.98.4.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayer.dispatchEvent(DefaultAudioPlayer.java:360) ~[lavaplayer-1.3.98.4.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayer.startTrack(DefaultAudioPlayer.java:113) ~[lavaplayer-1.3.98.4.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayer.playTrack(DefaultAudioPlayer.java:76) ~[lavaplayer-1.3.98.4.jar!/:na]
        at lavalink.server.player.Player.play(Player.java:73) ~[classes!/:na]
        at lavalink.server.io.WebSocketHandler.play(WebSocketHandler.kt:101) ~[classes!/:na]
        at lavalink.server.io.WebSocketHandler.access$play(WebSocketHandler.kt:16) ~[classes!/:na]
        at lavalink.server.io.WebSocketHandler$handlers$2.invoke(WebSocketHandler.kt:30) ~[classes!/:na]
        at lavalink.server.io.WebSocketHandler$handlers$2.invoke(WebSocketHandler.kt:16) ~[classes!/:na]
        at lavalink.server.io.WebSocketHandler.handle(WebSocketHandler.kt:49) ~[classes!/:na]
        at lavalink.server.io.SocketServer.handleTextMessageSafe(SocketServer.kt:169) ~[classes!/:na]
        at lavalink.server.io.SocketServer.handleTextMessage(SocketServer.kt:149) ~[classes!/:na]
        at org.springframework.web.socket.handler.AbstractWebSocketHandler.handleMessage(AbstractWebSocketHandler.java:43) ~[spring-websocket-5.3.17.jar!/:5.3.17]
        at org.springframework.web.socket.handler.WebSocketHandlerDecorator.handleMessage(WebSocketHandlerDecorator.java:75) ~[spring-websocket-5.3.17.jar!/:5.3.17]
        at org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator.handleMessage(LoggingWebSocketHandlerDecorator.java:56) ~[spring-websocket-5.3.17.jar!/:5.3.17]
        at org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator.handleMessage(ExceptionWebSocketHandlerDecorator.java:58) ~[spring-websocket-5.3.17.jar!/:5.3.17]
        at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.handleTextMessage(StandardWebSocketHandlerAdapter.java:114) ~[spring-websocket-5.3.17.jar!/:5.3.17]
        at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.access$000(StandardWebSocketHandlerAdapter.java:43) ~[spring-websocket-5.3.17.jar!/:5.3.17]
        at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter$3.onMessage(StandardWebSocketHandlerAdapter.java:85) ~[spring-websocket-5.3.17.jar!/:5.3.17]
        at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter$3.onMessage(StandardWebSocketHandlerAdapter.java:82) ~[spring-websocket-5.3.17.jar!/:5.3.17]
        at io.undertow.websockets.jsr.FrameHandler$7.run(FrameHandler.java:288) ~[undertow-websockets-jsr-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.jsr.ServerWebSocketContainer$1.call(ServerWebSocketContainer.java:170) ~[undertow-websockets-jsr-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.jsr.ServerWebSocketContainer$1.call(ServerWebSocketContainer.java:167) ~[undertow-websockets-jsr-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) ~[undertow-servlet-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.jsr.ServerWebSocketContainer.invokeEndpointMethod(ServerWebSocketContainer.java:610) ~[undertow-websockets-jsr-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.jsr.ServerWebSocketContainer.invokeEndpointMethod(ServerWebSocketContainer.java:600) ~[undertow-websockets-jsr-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.jsr.FrameHandler.invokeTextHandler(FrameHandler.java:268) ~[undertow-websockets-jsr-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.jsr.FrameHandler.onFullTextMessage(FrameHandler.java:319) ~[undertow-websockets-jsr-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.core.AbstractReceiveListener$2.complete(AbstractReceiveListener.java:156) ~[undertow-core-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.core.AbstractReceiveListener$2.complete(AbstractReceiveListener.java:152) ~[undertow-core-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.core.BufferedTextMessage.read(BufferedTextMessage.java:105) ~[undertow-core-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.core.AbstractReceiveListener.readBufferedText(AbstractReceiveListener.java:152) ~[undertow-core-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.core.AbstractReceiveListener.bufferFullMessage(AbstractReceiveListener.java:90) ~[undertow-core-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.jsr.FrameHandler.onText(FrameHandler.java:184) ~[undertow-websockets-jsr-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.core.AbstractReceiveListener.handleEvent(AbstractReceiveListener.java:44) ~[undertow-core-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.core.AbstractReceiveListener.handleEvent(AbstractReceiveListener.java:33) ~[undertow-core-2.2.16.Final.jar!/:2.2.16.Final]
        at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) ~[xnio-api-3.8.6.Final.jar!/:3.8.6.Final]
        at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent(AbstractFramedChannel.java:955) ~[undertow-core-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent(AbstractFramedChannel.java:935) ~[undertow-core-2.2.16.Final.jar!/:2.2.16.Final]
        at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) ~[xnio-api-3.8.6.Final.jar!/:3.8.6.Final]
        at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66) ~[xnio-api-3.8.6.Final.jar!/:3.8.6.Final]
        at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:89) ~[xnio-nio-3.8.6.Final.jar!/:3.8.6.Final]
        at org.xnio.nio.WorkerThread.run(WorkerThread.java:591) ~[xnio-nio-3.8.6.Final.jar!/:3.8.6.Final]

2022-12-07 18:01:50.473 ERROR 13192 --- [  XNIO-1 I/O-11] c.s.d.lavaplayer.player.AudioPlayer      : Handler of event com.sedmelluq.discord.lavaplayer.player.event.TrackStartEvent@28db7167 threw an exception.

org.json.JSONException: A JSONArray text must start with '[' at 0 [character 1 line 1]
        at org.json.JSONTokener.syntaxError(JSONTokener.java:505) ~[json-20180813.jar!/:na]
        at org.json.JSONArray.<init>(JSONArray.java:109) ~[json-20180813.jar!/:na]
        at org.json.JSONArray.<init>(JSONArray.java:162) ~[json-20180813.jar!/:na]
        at com.github.topisenpai.plugin.sponsorblock.SponsorBlockPlugin.retrieveVideoSegments(SponsorBlockPlugin.java:106) ~[jar:file:C:\Users\crang\Documents\Code\Bongo-Bot\lavalink\.\plugins\sponsorblock-plugin-v1.0.3.jar!/:na]
        at com.github.topisenpai.plugin.sponsorblock.SponsorBlockPlugin$1.onTrackStart(SponsorBlockPlugin.java:71) ~[jar:file:C:\Users\crang\Documents\Code\Bongo-Bot\lavalink\.\plugins\sponsorblock-plugin-v1.0.3.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.player.event.AudioEventAdapter.onEvent(AudioEventAdapter.java:72) ~[lavaplayer-1.3.98.4.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayer.dispatchEvent(DefaultAudioPlayer.java:360) ~[lavaplayer-1.3.98.4.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayer.startTrack(DefaultAudioPlayer.java:113) ~[lavaplayer-1.3.98.4.jar!/:na]
        at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayer.playTrack(DefaultAudioPlayer.java:76) ~[lavaplayer-1.3.98.4.jar!/:na]
        at lavalink.server.player.Player.play(Player.java:73) ~[classes!/:na]
        at lavalink.server.io.WebSocketHandler.play(WebSocketHandler.kt:101) ~[classes!/:na]
        at lavalink.server.io.WebSocketHandler.access$play(WebSocketHandler.kt:16) ~[classes!/:na]
        at lavalink.server.io.WebSocketHandler$handlers$2.invoke(WebSocketHandler.kt:30) ~[classes!/:na]
        at lavalink.server.io.WebSocketHandler$handlers$2.invoke(WebSocketHandler.kt:16) ~[classes!/:na]
        at lavalink.server.io.WebSocketHandler.handle(WebSocketHandler.kt:49) ~[classes!/:na]
        at lavalink.server.io.SocketServer.handleTextMessageSafe(SocketServer.kt:169) ~[classes!/:na]
        at lavalink.server.io.SocketServer.handleTextMessage(SocketServer.kt:149) ~[classes!/:na]
        at org.springframework.web.socket.handler.AbstractWebSocketHandler.handleMessage(AbstractWebSocketHandler.java:43) ~[spring-websocket-5.3.17.jar!/:5.3.17]
        at org.springframework.web.socket.handler.WebSocketHandlerDecorator.handleMessage(WebSocketHandlerDecorator.java:75) ~[spring-websocket-5.3.17.jar!/:5.3.17]
        at org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator.handleMessage(LoggingWebSocketHandlerDecorator.java:56) ~[spring-websocket-5.3.17.jar!/:5.3.17]
        at org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator.handleMessage(ExceptionWebSocketHandlerDecorator.java:58) ~[spring-websocket-5.3.17.jar!/:5.3.17]
        at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.handleTextMessage(StandardWebSocketHandlerAdapter.java:114) ~[spring-websocket-5.3.17.jar!/:5.3.17]
        at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.access$000(StandardWebSocketHandlerAdapter.java:43) ~[spring-websocket-5.3.17.jar!/:5.3.17]
        at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter$3.onMessage(StandardWebSocketHandlerAdapter.java:85) ~[spring-websocket-5.3.17.jar!/:5.3.17]
        at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter$3.onMessage(StandardWebSocketHandlerAdapter.java:82) ~[spring-websocket-5.3.17.jar!/:5.3.17]
        at io.undertow.websockets.jsr.FrameHandler$7.run(FrameHandler.java:288) ~[undertow-websockets-jsr-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.jsr.ServerWebSocketContainer$1.call(ServerWebSocketContainer.java:170) ~[undertow-websockets-jsr-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.jsr.ServerWebSocketContainer$1.call(ServerWebSocketContainer.java:167) ~[undertow-websockets-jsr-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) ~[undertow-servlet-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.jsr.ServerWebSocketContainer.invokeEndpointMethod(ServerWebSocketContainer.java:610) ~[undertow-websockets-jsr-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.jsr.ServerWebSocketContainer.invokeEndpointMethod(ServerWebSocketContainer.java:600) ~[undertow-websockets-jsr-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.jsr.FrameHandler.invokeTextHandler(FrameHandler.java:268) ~[undertow-websockets-jsr-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.jsr.FrameHandler.onFullTextMessage(FrameHandler.java:319) ~[undertow-websockets-jsr-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.core.AbstractReceiveListener$2.complete(AbstractReceiveListener.java:156) ~[undertow-core-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.core.AbstractReceiveListener$2.complete(AbstractReceiveListener.java:152) ~[undertow-core-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.core.BufferedTextMessage.read(BufferedTextMessage.java:105) ~[undertow-core-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.core.AbstractReceiveListener.readBufferedText(AbstractReceiveListener.java:152) ~[undertow-core-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.core.AbstractReceiveListener.bufferFullMessage(AbstractReceiveListener.java:90) ~[undertow-core-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.jsr.FrameHandler.onText(FrameHandler.java:184) ~[undertow-websockets-jsr-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.core.AbstractReceiveListener.handleEvent(AbstractReceiveListener.java:44) ~[undertow-core-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.websockets.core.AbstractReceiveListener.handleEvent(AbstractReceiveListener.java:33) ~[undertow-core-2.2.16.Final.jar!/:2.2.16.Final]
        at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) ~[xnio-api-3.8.6.Final.jar!/:3.8.6.Final]
        at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent(AbstractFramedChannel.java:955) ~[undertow-core-2.2.16.Final.jar!/:2.2.16.Final]
        at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent(AbstractFramedChannel.java:935) ~[undertow-core-2.2.16.Final.jar!/:2.2.16.Final]
        at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) ~[xnio-api-3.8.6.Final.jar!/:3.8.6.Final]
        at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66) ~[xnio-api-3.8.6.Final.jar!/:3.8.6.Final]
        at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:89) ~[xnio-nio-3.8.6.Final.jar!/:3.8.6.Final]
        at org.xnio.nio.WorkerThread.run(WorkerThread.java:591) ~[xnio-nio-3.8.6.Final.jar!/:3.8.6.Final]
topi314 commented 1 year ago

see if 7c1cae6 fixes that for you

Redhawk18 commented 1 year ago

how would i use this? What would i put in my applications.yaml? this is what i currently have

  plugins:
    - dependency: "com.github.topisenpai:sponsorblock-plugin:v1.0.3" # replace v1.0.3 with the latest release tag!
      repository: "https://jitpack.io"
topi314 commented 1 year ago

you just throw the short commit in instead of v1.0.3 like this: com.github.topisenpai:sponsorblock-plugin:7c1cae6

Redhawk18 commented 1 year ago

that fixes it, lmk when you make a new release

topi314 commented 1 year ago

fixed in https://github.com/TopiSenpai/Sponsorblock-Plugin/releases/tag/1.0.5