package Ġorg . qu ilt mc . community Ċ Ċ import Ġcom . kot l ind is cord . k ord . extensions . checks .* Ċ import Ġcom . kot l ind is cord . k ord . extensions . checks . types . Check Context Ċ import Ġcom . kot l ind is cord . k ord . extensions . utils . has Permission Ċ import Ġcom . kot l ind is cord . k ord . extensions . utils . translate Ċ import Ġdev . k ord . common . entity . Permission Ċ import Ġmu . Kotlin Logging Ċ import Ġorg . qu ilt mc . community . database . collections . Server Settings Collection Ċ Ċ suspend Ġfun ĠCheck Context <* >. in Community () Ġ{ ĊĠĠĠ Ġany Guild () ĊĊĠĠĠ Ġif Ġ(! passed ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġlogger Ġ= ĠKotlin Logging . logger (" org . qu ilt mc . community . in Community ") ĊĊĠĠĠ Ġval Ġcollection Ġ= Ġget K oin (). get < Server Settings Collection >() ĊĠĠĠ Ġval Ġsettings Ġ= Ġcollection . get Community () ĊĊĠĠĠ Ġif Ġ( settings Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . failed (" Community Ġserver Ġhasn 't Ġbeen Ġconfigured Ġyet .") ĊĠĠĠĠĠĠĠ Ġfail (" Community Ġserver Ġhasn 't Ġbeen Ġconfigured Ġyet .") ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġin Guild ( settings ._ id ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ suspend Ġfun ĠCheck Context <* >. in Tool chain () Ġ{ ĊĠĠĠ Ġany Guild () ĊĊĠĠĠ Ġif Ġ(! passed ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġlogger Ġ= ĠKotlin Logging . logger (" org . qu ilt mc . community . in Community ") ĊĊĠĠĠ Ġval Ġcollection Ġ= Ġget K oin (). get < Server Settings Collection >() ĊĠĠĠ Ġval Ġsettings Ġ= Ġcollection . get Tool chain () ĊĊĠĠĠ Ġif Ġ( settings Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . failed (" Tool chain Ġserver Ġhasn 't Ġbeen Ġconfigured Ġyet .") ĊĠĠĠĠĠĠĠ Ġfail (" Tool chain Ġserver Ġhasn 't Ġbeen Ġconfigured Ġyet .") ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġin Guild ( settings ._ id ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ suspend Ġfun ĠCheck Context <* >. has Permission In Main Guild ( perm : ĠPermission ) Ġ{ ĊĠĠĠ Ġany Guild () ĊĊĠĠĠ Ġif Ġ(! passed ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġlogger Ġ= ĠKotlin Logging . logger (" org . qu ilt mc . community . has Permission In Main Guild ") ĊĠĠĠ Ġval Ġuser Ġ= Ġuser For ( event ) ĊĊĠĠĠ Ġif Ġ( user Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . failed (" Event Ġdid Ġnot Ġconcern Ġa Ġuser .") ĊĠĠĠĠĠĠĠ Ġfail () ĊĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġguild Ġ= Ġevent . k ord . get Guild ( MAIN _ GU ILD ) !! ĊĠĠĠ Ġval Ġmember Ġ= Ġguild . get Member OrNull ( user . id ) ĊĊĠĠĠ Ġif Ġ( member Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . failed (" User Ġis Ġnot Ġon Ġthe Ġmain Ġguild .") ĊĊĠĠĠĠĠĠĠ Ġfail ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtranslate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" checks . in Guild . failed ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreplacement s Ġ= ĠarrayOf ( guild . name ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( member . has Permission ( perm )) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . passed () ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . failed (" User Ġdoes Ġnot Ġhave Ġpermission : Ġ$ perm ") ĊĠĠĠĠĠĠĠ Ġfail (" Must Ġhave Ġpermission Ġ** ${ perm . translate ( locale )} ** Ġon Ġ** ${ guild . name }** ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ suspend Ġfun ĠCheck Context <* >. in Qu ilt Guild () Ġ{ ĊĠĠĠ Ġif Ġ(! passed ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġlogger Ġ= ĠKotlin Logging . logger (" org . qu ilt mc . community . in Qu ilt Guild ") ĊĠĠĠ Ġval Ġguild Ġ= Ġguild For ( event ) ĊĊĠĠĠ Ġif Ġ( guild Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . null Guild ( event ) ĊĊĠĠĠĠĠĠĠ Ġfail (" Must Ġbe Ġin Ġone Ġof Ġthe ĠQu ilt Ġservers ") ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( guild . id Ġ! in ĠGU IL DS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfail (" Must Ġbe Ġin Ġone Ġof Ġthe ĠQu ilt Ġservers ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ suspend Ġfun ĠCheck Context <* >. has Base Mod erator Role () Ġ{ ĊĠĠĠ Ġif Ġ(! passed ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġin Qu ilt Guild () ĊĊĠĠĠ Ġif Ġ( this . passed ) Ġ{ Ġ Ġ// ĠThey 're Ġon Ġa ĠQu ilt Ġguild ĊĠĠĠĠĠĠĠ Ġval Ġlogger Ġ= ĠKotlin Logging . logger (" org . qu ilt mc . community . has Base Mod erator Role ") ĊĠĠĠĠĠĠĠ Ġval Ġmember Ġ= Ġmember For ( event )?. as Member OrNull () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( member Ġ== Ġnull ) Ġ{ Ġ Ġ// ĠShould n 't Ġhappen , Ġbut Ġyou Ġnever Ġknow ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . null Member ( event ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfail () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! member . role Ids . any Ġ{ Ġit Ġin ĠMO DER ATOR _ RO LES Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . failed (" Member Ġdoes Ġnot Ġhave Ġa ĠQu ilt Ġbase Ġmod erator Ġrole ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfail (" Must Ġbe Ġa ĠQu ilt Ġmod erator , Ġwith Ġthe Ġ` Mod erators ` Ġrole ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ suspend Ġfun ĠCheck Context <* >. not Has Base Mod erator Role () Ġ{ ĊĠĠĠ Ġif Ġ(! passed ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġlogger Ġ= ĠKotlin Logging . logger (" org . qu ilt mc . community . not Has Base Mod erator Role ") ĊĠĠĠ Ġval Ġmember Ġ= Ġmember For ( event )?. as Member OrNull () ĊĊĠĠĠ Ġif Ġ( member Ġ== Ġnull ) Ġ{ Ġ Ġ// ĠNot Ġon Ġa Ġguild , Ġfail . ĊĠĠĠĠĠĠĠ Ġlogger . null Member ( event ) ĊĊĠĠĠĠĠĠĠ Ġfail () ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( member . role Ids . any Ġ{ Ġit Ġin ĠMO DER ATOR _ RO LES Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . failed (" Member Ġhas Ġa ĠQu ilt Ġbase Ġmod erator Ġrole ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfail (" Must Ġ** not ** Ġbe Ġa ĠQu ilt Ġmod erator ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ