package Ġme . ab err ant fox . war mb ot . pre conditions Ċ Ċ import Ġme . ab err ant fox . war mb ot . services .* Ċ import Ġme . j ake j mat t son . k utils . api . dsl . command . Command Event Ċ import Ġme . j ake j mat t son . k utils . api . dsl . pre conditions .* Ċ import Ġme . j ake j mat t son . k utils . api . extensions . j da .* Ċ Ċ class ĠMacro Precondition Ġ: ĠPre condition () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġevaluate ( event : ĠCommand Event < *> ): ĠPre condition Result Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcommand Ġ= Ġevent . command ĊĠĠĠĠĠĠĠ Ġval Ġcommand Name Ġ= Ġevent . raw Inputs . command Name . toLowerCase () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( command Ġ!= Ġnull ) Ġreturn ĠPass ĊĊĠĠĠĠĠĠĠ Ġval Ġmacro Service Ġ= Ġevent . discord . get Injection Objects ( Macro Service :: class ) ĊĠĠĠĠĠĠĠ Ġval Ġmacro Ġ= Ġmacro Service . get Guild Macros ( event . guild !! ). first OrNull Ġ{ Ġit . name . toLowerCase () Ġ== Ġcommand Name Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn ĠFail () ĊĊĠĠĠĠĠĠĠ Ġevent . respond Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġreport Ġ= Ġevent . channel . to Live Report () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( report Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreport . user . send Private Message ( macro . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Field (" Macro ĠSent Ġ(${ event . author . fullName () })", Ġmacro . message , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuccess Color ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Field (" Macro ĠText Ġ( Not ĠSent )", Ġmacro . message , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinfo Color ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠFail () ĊĠĠĠ Ġ} Ċ Ċ }