package Ġme . ab err ant fox . hot bot . services Ċ Ċ import Ġnet . dv 8 tion . j da . core . entities . Member Ċ import Ġnet . dv 8 tion . j da . core . entities . Message Ċ Ċ private Ġval Ġthanks Ġ= Ġset Of (" thanks ", Ġ" th ank Ġyou ", Ġ" ty ") Ċ Ċ sealed Ġclass ĠK arma Result Ċ Ċ object ĠNegative Ġ: ĠK arma Result () Ċ data Ġclass ĠPositive ( val Ġmember : ĠMember ) Ġ: ĠK arma Result () ĊĊ Ċ class ĠK arma Service Ġ{ ĊĠĠĠ Ġfun Ġis K arma Message ( message : ĠMessage ): ĠK arma Result Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġmessage . content Raw . trim (). toLowerCase () ĊĊĠĠĠĠĠĠĠ Ġif ( message . mention ed Members . size Ġ!= Ġ 1 ) Ġreturn ĠNegative ĊĊĠĠĠĠĠĠĠ Ġif ( message . mentions Every one ()) Ġreturn ĠNegative ĊĊĠĠĠĠĠĠĠ Ġif ( message . mention ed Roles . size Ġ> Ġ 0 ) Ġreturn ĠNegative ĊĊĠĠĠĠĠĠĠ Ġval Ġtarget Ġ= Ġmessage . mention ed Members . first () ĊĊĠĠĠĠĠĠĠ Ġif ( target . user Ġ== Ġmessage . author ) Ġreturn ĠNegative ĊĊĠĠĠĠĠĠĠ Ġval Ġtrimmed Content Ġ= Ġcontent . replace ( target . as Mention , Ġ""). trim () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Ġ! thanks . contains ( trimmed Content ) Ġ) Ġreturn ĠNegative ĊĊĠĠĠĠĠĠĠ Ġif ( target . user . is Bot ) Ġreturn ĠNegative ĊĊĠĠĠĠĠĠĠ Ġreturn ĠPositive ( target ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġgrant K arma ( member : ĠMember , Ġamount : ĠInt ) Ġ{ ĊĊĠĠĠ Ġ} Ċ }