package Ġnet . developer den . dev den bot . extensions . commands Ċ Ċ import Ġcom . j ag ro sh . j da utilities . command . Command Event Ċ import Ġnet . developer den . dev den bot . discord . await Then Delete Ċ import Ġnet . developer den . dev den bot . extensions . await Ċ import Ġnet . dv 8 tion . j da . api . entities . Message Ċ import Ġnet . dv 8 tion . j da . api . entities . Message Embed Ċ import Ġnet . dv 8 tion . j da . api . entities . User Ċ import Ġnet . dv 8 tion . j da . api . requests . rest action . Message Action Ċ import Ġkotlin . coroutines . resume Ċ import Ġkotlin . coroutines . resume With Exception Ċ import Ġkotlin . coroutines . suspend Coroutine Ċ import Ġkotlin . time . Duration Ċ import Ġkotlin . time . Experimental Time Ċ Ċ /** Ċ Ġ* Ġ@ author ĠAlex ander ĠW ood Ġ( B ri ster Mit ten ) Ċ Ġ*/ ĊĊ Ċ suspend Ġinline Ġfun ĠCommand Event . await Reply ( message : ĠString ): ĠMessage Ġ{ ĊĠĠĠ Ġreturn Ġsuspend Coroutine Ġ{ Ġcont Ġ-> ĊĠĠĠĠĠĠĠ Ġthis . reply ( message , Ġ{ Ġcont . resume ( it ) Ġ}, Ġ{ Ġcont . resume With Exception ( it ) Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ Ċ inline Ġfun ĠCommand Event . prepare Reply ( function : Ġ( Kotlin Embed Builder ). () Ġ-> ĠUnit ): ĠMessage Action Ġ{ ĊĠĠĠ Ġval Ġbuilder Ġ= ĠKotlin Embed Builder (). apply ( function ) ĊĊĠĠĠ Ġreturn Ġevent . channel . sendMessage Embed s ( builder . build ()) Ċ } Ċ Ċ @ Experimental Time Ċ suspend Ġfun ĠCommand Event . temp Reply ( message : ĠString , Ġcool down : ĠDuration Ġ= ĠDuration . seconds ( 5 )) Ġ= ĊĠĠĠ Ġchannel . sendMessage ( message ) ĊĠĠĠĠĠĠĠ Ġ. await Then Delete ( co old own ) Ċ Ċ @ Experimental Time Ċ suspend Ġfun ĠCommand Event . temp Reply ( message : ĠMessage Embed , Ġcool down : ĠDuration Ġ= ĠDuration . seconds ( 5 )) Ġ= ĊĠĠĠ Ġchannel . sendMessage Embed s ( message ) ĊĠĠĠĠĠĠĠ Ġ. await Then Delete ( co old own ) Ċ Ċ @ Opt In ( Experimental Time :: class ) Ċ suspend Ġfun ĠCommand Event . temp Reply ( message : ĠCollection < Message Embed >, Ġcool down : ĠDuration Ġ= ĠDuration . seconds ( 5 )) Ġ= ĊĠĠĠ Ġchannel . sendMessage Embed s ( message ) ĊĠĠĠĠĠĠĠ Ġ. await Then Delete ( co old own ) ĊĊ Ċ val Ġmention Regex Ġ= ĠRegex (""" < @ ! ? (\ d + )> """) Ċ val Ġid Regex Ġ= ĠRegex (""" \ d { 1 7 , } """) Ċ Ċ suspend Ġfun ĠCommand Event . getUser (): ĠUser ? Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ( args . isBlank ()) Ġevent . author Ġelse ĊĠĠĠĠĠĠĠ Ġmention Regex . find ( args )?. groups ?. get ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġguild . retrieve Member ById ( it . value , Ġfalse ). await () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ?. user ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġid Regex . find ( args )?. groups ?. get ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġguild . retrieve Member ById ( it . value , Ġfalse ). await () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ?. user ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġguild . retrieve Members By Prefix ( args , Ġ 1 ). await () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. first OrNull () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . take If Ġ{ Ġit . user . name Ġ== Ġargs Ġ|| Ġit . nickname Ġ== Ġargs Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . user Ċ Ċ } Ċ