flytegg / ls-discord-bot

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

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

Open stephendotgg opened 11 months ago

stephendotgg commented 11 months 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 10 months 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)