package Ġcom . kot l ind is cord . k ord . extensions . commands . slash Ċ Ċ import Ġcom . kot l ind is cord . k ord . extensions . commands . Command Context Ċ import Ġcom . kot l ind is cord . k ord . extensions . commands . parser . Arguments Ċ import Ġdev . k ord . common . annotation . K ord Preview Ċ import Ġdev . k ord . core . behavior .* Ċ import Ġdev . k ord . core . entity . Guild Ċ import Ġdev . k ord . core . entity . channel . Channel Ċ import Ġdev . k ord . core . entity . interaction . Interaction Follow up Ċ import Ġdev . k ord . core . event . interaction . Interaction Create Event Ċ import Ġdev . k ord . rest . builder . interaction . Follow up Message Create Builder Ċ import Ġdev . k ord . rest . builder . interaction . Interaction Application Command Callback Data Builder Ċ Ċ /** Ċ Ġ* ĠCommand Ġcontext Ġobject Ġrepresenting Ġthe Ġcontext Ġgiven Ġto Ġmessage Ġcommands . Ċ Ġ* Ċ Ġ* Ġ@ property Ġinteraction Response ĠInteraction Ġresponse Ġobject , Ġfor Ġfollowing Ġup Ċ Ġ*/ Ċ @ Opt In ( K ord Preview :: class ) Ċ public Ġopen Ġclass ĠSl ash Command Context < T Ġ: ĠArguments >( ĊĠĠĠ Ġprivate Ġval Ġslash Command : ĠSl ash Command < out ĠT >, ĊĠĠĠ Ġevent : ĠInteraction Create Event , ĊĠĠĠ Ġcommand Name : ĠString , ĊĠĠĠ Ġpublic Ġvar Ġinteraction Response : ĠInteraction Response Behavior ? Ġ= Ġnull Ċ ) Ġ: ĠCommand Context ( slash Command , Ġevent , Ġcommand Name , ĠarrayOf ()) Ġ{ ĊĠĠĠ Ġ/** ĠEvent Ġthat Ġtriggered Ġthis Ġcommand Ġexecution . Ġ**/ ĊĠĠĠ Ġpublic Ġval Ġevent : ĠInteraction Create Event Ġget () Ġ= Ġevent Obj Ġas ĠInteraction Create Event ĊĊĠĠĠ Ġ/** ĠChannel Ġthis Ġcommand Ġhappened Ġin . Ġ**/ ĊĠĠĠ Ġpublic Ġopen Ġlateinit Ġvar Ġchannel : ĠChannel ĊĊĠĠĠ Ġ/** ĠGuild Ġthis Ġcommand Ġhappened Ġin . Ġ**/ ĊĠĠĠ Ġpublic Ġopen Ġlateinit Ġvar Ġguild : ĠGuild ĊĊĠĠĠ Ġ/** ĠGuild Ġmember Ġresponsible Ġfor Ġexecuting Ġthis Ġcommand . Ġ**/ ĊĠĠĠ Ġpublic Ġopen Ġlateinit Ġvar Ġmember : ĠMember Behavior ĊĊĠĠĠ Ġ/** ĠUser Ġresponsible Ġfor Ġexecuting Ġthis Ġcommand . Ġ**/ ĊĠĠĠ Ġpublic Ġopen Ġlateinit Ġvar Ġuser : ĠUser Behavior ĊĊĠĠĠ Ġ/** ĠArguments Ġobject Ġcontaining Ġthis Ġcommand 's Ġparsed Ġarguments . Ġ**/ ĊĠĠĠ Ġpublic Ġopen Ġlateinit Ġvar Ġarguments : ĠT ĊĊĠĠĠ Ġoverride Ġval Ġcommand : ĠSl ash Command < out ĠT > Ġget () Ġ= Ġslash Command ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġpopulate () Ġ{ ĊĠĠĠĠĠĠĠ Ġchannel Ġ= Ġget Channel () ĊĠĠĠĠĠĠĠ Ġguild Ġ= Ġget Guild () ĊĠĠĠĠĠĠĠ Ġmember Ġ= Ġget Member () ĊĠĠĠĠĠĠĠ Ġuser Ġ= ĠgetUser () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** Ġ@ suppress ĠInternal Ġfunction Ġ**/ ĊĠĠĠ Ġpublic Ġfun Ġpopulate Args ( args : ĠT ) Ġ{ ĊĠĠĠĠĠĠĠ Ġarguments Ġ= Ġargs ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Channel (): ĠChannel Ġ= Ġevent . interaction . getChannel () ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Guild (): ĠGuild Ġ= Ġevent . interaction . get Guild () ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Member (): ĠMember Behavior Ġ= Ġevent . interaction . member ĊĠĠĠ Ġoverride Ġsuspend Ġfun ĠgetMessage (): ĠMessage Behavior ? Ġ= Ġnull ĊĠĠĠ Ġoverride Ġsuspend Ġfun ĠgetUser (): ĠUser Behavior Ġ= Ġevent . interaction . member ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIf Ġyour Ġcommand Ġhas Ġauto Ack Ġset Ġto Ġ` false `, Ġuse Ġthis Ġto Ġacknowledge Ġthe Ġcommand , Ġoptionally Ġwith Ġa Ġmessage . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠNote Ġthat ĠDiscord Ġonly Ġgives Ġyou Ġ 3 Ġseconds Ġfrom Ġthe Ġinteraction Ġcreate Ġevent Ġto Ġacknowledge Ġa Ġcommand . ĠAfter ĊĠĠĠĠ Ġ* Ġthat , Ġyou Ġwon 't Ġbe Ġable Ġto Ġdo Ġanything Ġwith Ġit Ġ- Ġso Ġit 's Ġbest Ġto Ġacknowledge Ġit Ġas Ġearly Ġas Ġpossible . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġsuspend Ġfun Ġack ( ĊĠĠĠĠĠĠĠ Ġsource : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġcontent : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġbuilder : Ġ( Interaction Application Command Callback Data Builder . () Ġ-> ĠUnit )? Ġ= Ġnull ĊĠĠĠ Ġ): ĠInteraction Response Behavior Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( interaction Response Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinteraction Response Ġ= Ġif Ġ( content Ġ== Ġnull Ġ&& Ġbuilder Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent . interaction . ack nowledge ( source ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent . interaction . respond ( source , Ġbuilder Ġ?: Ġ{ Ġthis . content Ġ= Ġcontent Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġinteraction Response !! ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġerror (" This Ġcommand Ġhas Ġalready Ġbeen Ġacknowled ged .") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠQuick ly Ġsend Ġa Ġreply , Ġmention ing Ġthe Ġuser . Ġ**/ ĊĠĠĠ Ġpublic Ġsuspend Ġfun Ġreply ( ĊĠĠĠĠĠĠĠ Ġbuilder : Ġsuspend ĠFollow up Message Create Builder . () Ġ-> ĠUnit ĊĠĠĠ Ġ): ĠInteraction Follow up Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinner Builder : Ġsuspend ĠFollow up Message Create Builder . () Ġ-> ĠUnit Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ= Ġ"${ member . mention } Ġ${ content Ġ?: Ġ"" }" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġfollow Up ( inner Builder ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠQuick ly Ġsend Ġa Ġstring Ġreply , Ġmention ing Ġthe Ġuser . Ġ**/ ĊĠĠĠ Ġpublic Ġsuspend Ġfun Ġreply ( text : ĠString ): ĠInteraction Follow up Ġ= Ġreply Ġ{ Ġcontent Ġ= Ġtext Ġ} ĊĊĠĠĠ Ġ/** ĠQuick Ġaccess Ġto Ġthe Ġ` follow Up ` Ġfunction Ġon Ġthe Ġinteraction Ġresponse Ġobject . Ġ**/ ĊĠĠĠ Ġpublic Ġsuspend Ġfun Ġfollow Up ( builder : Ġsuspend ĠFollow up Message Create Builder . () Ġ-> ĠUnit ): ĠInteraction Follow up Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( interaction Response Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror (" You Ġmust Ġacknowledge Ġthis Ġcommand Ġbefore Ġsending Ġa Ġfollow - up Ġmessage .") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġinteraction Response !!. follow Up Ġ{ Ġbuilder () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠQuick Ġaccess Ġto Ġthe Ġ` follow Up ` Ġfunction Ġon Ġthe Ġinteraction Ġresponse Ġobject , Ġjust Ġfor Ġa Ġstring Ġmessage . Ġ**/ ĊĠĠĠ Ġpublic Ġsuspend Ġinline Ġfun Ġfollow Up ( content : ĠString ): ĠInteraction Follow up Ġ= Ġfollow Up Ġ{ Ġthis . content Ġ= Ġcontent Ġ} Ċ } Ċ