S-IAF

Sapphire - Imagine a framework

old-application-commands-and-interactions

Join Server

Interaction Handlers!!

VVladdy10/5/2021
Hello peeps!

I know, I know, allllll of you (myself included) are just basically begging me for application commands in Sapphire (and they're coming, don't you worry πŸ˜‰), but we have to start slow. For now, I have some proper "documentation" on interaction handlers! πŸŽ‰

Are you ready to be HYPED?! (I hope.. please.. I'm trying my best here ;w;)

Have a read: https://vladfrangu.notion.site/Handling-Interactions-not-Application-Commands-in-Sapphire-92e307005b9f4e3b849663ea43c57701

I'll also turn this message in a thread, so leave alll your feedback, thoughts and whatnot in it! πŸ™ πŸ₯Ί
22410/5/2021
This is what I kinda wished I had- separate verification versus running. This is awesome.
22410/5/2021
or the ability to have separate things :)
UUUnknown User10/5/2021
Message Not Public
Sign In & Join Server To View
VVladdy10/5/2021
is the edit better?
UUUnknown User10/5/2021
Message Not Public
Sign In & Join Server To View
VVladdy10/5/2021
πŸ‘
VVladdy10/5/2021
Also notion.so? God bless whoever made it
22410/5/2021
if this is your first time on notion
22410/5/2021
πŸš€ you're going to the moon
UUUnknown User10/5/2021
3 Messages Not Public
Sign In & Join Server To View
VVladdy10/5/2021
RIGHT
Kkaname-png10/5/2021
damn, very good guide
VVladdy10/5/2021
Thats something I forgot to write
VVladdy10/5/2021
LOL
UUUnknown User10/5/2021
Message Not Public
Sign In & Join Server To View
22410/5/2021
Could you outline an example using both parse and run returning custom data?

I think this could be incredible to share data between the validation state and the running state, and seeing an example could help people understand the usage of this.
UUUnknown User10/5/2021
Message Not Public
Sign In & Join Server To View
VVladdy10/5/2021
Added the section for what the fuck are these
VVladdy10/5/2021
Hope that helps
VVladdy10/5/2021
Technically, both examples in the parse section show how parse and run interact together
UUUnknown User10/5/2021
3 Messages Not Public
Sign In & Join Server To View
22410/5/2021
Ah, ok. I missed that entirely somehow. Thanks.
VVladdy10/5/2021
:angery:
22410/5/2021
(I didn't see the type πŸ‘€)
22410/5/2021
Would this result in type completion, or would we need to type stuff ourselves?
22410/5/2021
(I will assume the latter)
Kkaname-png10/5/2021
@Vladdy could you do the guide on the other sapphire stuff? is that you do it very well
Kkaname-png10/5/2021
:mishascared:
AAinoMinako10/5/2021
don’t make vlad do anything else. we’re just now getting all this out of the way. the guides will come in 10 years lol
22410/5/2021
Link to the docs.
VVladdy10/5/2021
What type? @24
Kkaname-png10/5/2021
It's true
Kkaname-png10/5/2021
:pepeSweat:
22410/5/2021
What you place in this.some
UUUnknown User10/5/2021
Message Not Public
Sign In & Join Server To View
VVladdy10/5/2021
eslint rule :shrug:
UUUnknown User10/5/2021
Message Not Public
Sign In & Join Server To View
VVladdy10/5/2021
you can have private constructors you know
VVladdy10/5/2021
ANYWAYS
UUUnknown User10/5/2021
5 Messages Not Public
Sign In & Join Server To View
VVladdy10/5/2021
hope it helps
22410/5/2021
ok all my questions are answered.
UUUnknown User10/5/2021
Message Not Public
Sign In & Join Server To View
VVladdy10/5/2021
Maybeℒ️
22410/5/2021
ok so
22410/5/2021
we have it
22410/5/2021
1 down, 4 to go
VVladdy10/5/2021
4??
22410/5/2021
yeah I got one already
VVladdy10/5/2021
wait what
VVladdy10/5/2021
confused
22410/5/2021
thanos reference
VVladdy10/5/2021
AH
VVladdy10/5/2021
:KEKW:
VVladdy10/5/2021
Also the answer is sadly no, you'll have to manually specify the type in the run function, just like you have to do in commands with the args class
22410/5/2021
I accept that responsibility.
22410/5/2021
Thank you.
TThatGuyJamal10/5/2021
looks interesting
VVladdy10/5/2021
I deadass wrote 992 words for this
VVladdy10/5/2021
Wow
UUUnknown User10/5/2021
Message Not Public
Sign In & Join Server To View
VVladdy10/5/2021
well ok i'm the demand for nicer button handlers then
VVladdy10/5/2021
:KEKW:
UUUnknown User10/5/2021
2 Messages Not Public
Sign In & Join Server To View
LLioness10010/6/2021
Yeah honestly, I know that they can mean different things, but I can't help my brain from wanting interactions over interaction-handlers (and also tasks over scheduled-tasks)
LLioness10010/6/2021
It just looks so much cleaner
VVladdy10/6/2021
In this case, interactions are what you receive, and you need a handler for it. I know it's a long name, you can blame the rest for it not being camelCase, but I doubt it'll change
YUGENY U G E N10/6/2021
Can we enforce the type of the result pass in this.some?
YUGENY U G E N10/6/2021
It's fun to type it in run but as long as this.some is not typed, the type in run has little usecase as this.some could still pass something very different
YUGENY U G E N10/6/2021
also @Vladdy I am working right now, I wouldn't dissapoint you not doing this while working
VVladdy10/6/2021
Even if I made it a generic on the class level it wouldn't help. This is why our event classes don't infer the types received in the run method when you set the event in the class generic. If we'd make the run method a class field..that might work but that's not something I'm gonna do
VVladdy10/6/2021
So it's up to the user to type their things right, and if they're using typescript that won't be hard
VVladdy10/6/2021
And js users just don't have to bother with this πŸ˜‚
VVladdy10/6/2021
πŸ˜‚πŸ˜‚πŸ˜‚ up to you
VVladdy10/6/2021
HOWEVER
VVladdy10/6/2021
I might be able to make a utility in the namespace
VVladdy10/7/2021
@Y U G E Ni have a present for you
VVladdy10/7/2021
let me just document it in notion
YUGENY U G E N10/7/2021
I know
YUGENY U G E N10/7/2021
I read it
YUGENY U G E N10/7/2021
in #old-coding-den
YUGENY U G E N10/7/2021
And I love you for it
VVladdy10/7/2021
You asked, I provided
VVladdy10/7/2021
Because I agree it's nice to have