flytegg / ls-discord-bot

The Discord bot powering the LearnSpigot.com support server.
https://learnspigot.com/discord
21 stars 19 forks source link

[Verification flow] Message does not get moved to approval/rejection state on long profile URL #195

Open stephendotgg opened 1 year ago

stephendotgg commented 1 year ago

Explain the issue.

I fixed this problem for the other buttons (which also store data in the id same as this), but it appears to have not been fixed foor the Undo field. I recommend seeing what we can do to reduce this data. Should be easy fix when in code base.

java.lang.IllegalArgumentException: Id may not be longer than 100 characters! Provided: "v|undo|https://www.udemy.com/user/SUOER-DUPER-LONG-NAME-HERE|912557567295766538|196505313099120640" at net.dv8tion.jda.internal.utils.Checks.check(Checks.java:69) at net.dv8tion.jda.internal.utils.Checks.notLonger(Checks.java:175) at net.dv8tion.jda.api.interactions.components.buttons.Button.danger(Button.java:474) at com.learnspigot.bot.verification.VerificationListener.onButtonInteraction(VerificationListener.kt:185) at net.dv8tion.jda.api.hooks.ListenerAdapter.onEvent(ListenerAdapter.java:442) at net.dv8tion.jda.api.hooks.InterfacedEventManager.handle(InterfacedEventManager.java:96) at net.dv8tion.jda.internal.hooks.EventManagerProxy.handleInternally(EventManagerProxy.java:88) at net.dv8tion.jda.internal.hooks.EventManagerProxy.handle(EventManagerProxy.java:70) at net.dv8tion.jda.internal.JDAImpl.handleEvent(JDAImpl.java:176) at net.dv8tion.jda.internal.handle.InteractionCreateHandler.handleAction(InteractionCreateHandler.java:148) at net.dv8tion.jda.internal.handle.InteractionCreateHandler.handleInternally(InteractionCreateHandler.java:100) at net.dv8tion.jda.internal.handle.SocketHandler.handle(SocketHandler.java:39) at net.dv8tion.jda.internal.requests.WebSocketClient.onDispatch(WebSocketClient.java:1014) at net.dv8tion.jda.internal.requests.WebSocketClient.onEvent(WebSocketClient.java:900) at net.dv8tion.jda.internal.requests.WebSocketClient.handleEvent(WebSocketClient.java:878) at net.dv8tion.jda.internal.requests.WebSocketClient.onBinaryMessage(WebSocketClient.java:1053) at com.neovisionaries.ws.client.ListenerManager.callOnBinaryMessage(ListenerManager.java:385) at com.neovisionaries.ws.client.ReadingThread.callOnBinaryMessage(ReadingThread.java:276) at com.neovisionaries.ws.client.ReadingThread.handleBinaryFrame(ReadingThread.java:996) at com.neovisionaries.ws.client.ReadingThread.handleFrame(ReadingThread.java:755) at com.neovisionaries.ws.client.ReadingThread.main(ReadingThread.java:108) at com.neovisionaries.ws.client.ReadingThread.runMain(ReadingThread.java:64) at com.neovisionaries.ws.client.WebSocketThread.run(WebSocketThread.java:45)

How to recreate?

No response

Anything else?

No response

joshbker commented 1 year ago

instead of relying on storing data in the button, could we instantly put the udemy url into their profile, and add a new boolean for verified (then use that boolean to determine verification rather than just a not null udemy url)