@ file : Jvm Name (" Settings Over load Example ") Ċ Ċ package Ġdev . aug u . n ino . but ter fly . examples Ċ Ċ import Ġclub . min n ced . j da . reactor . Reactive Event Manager Ċ import Ġdev . aug u . n ino . but ter fly . B utter fly Client Ċ import Ġdev . aug u . n ino . but ter fly . Guild Settings Ċ import Ġdev . aug u . n ino . but ter fly . Guild Settings Loader Ċ import Ġdev . aug u . n ino . but ter fly . command . Command Ċ import Ġdev . aug u . n ino . but ter fly . command . Command Context Ċ import Ġnet . dv 8 tion . j da . api . J DA Builder Ċ import Ġnet . dv 8 tion . j da . api . entities . Guild Ċ Ċ /** Ċ Ġ* ĠCustom Ġsettings Ċ Ġ* Ċ Ġ* Ġ@ property Ġprefix Ġthe Ġguild Ġprefix Ċ Ġ* Ġ@ property Ġcounter Ġcounts Ġthe Ġnumber Ġof Ġcommand Ġcalls Ġfor Ġeach Ġguild . Ċ Ġ*/ Ċ private Ġclass ĠCustom Settings ( override Ġvar Ġprefix : ĠString ?, Ġvar Ġcounter : ĠInt ) Ġ: ĠGuild Settings ( prefix , Ġnull ) Ġ{ ĊĠĠĠ Ġsuspend Ġfun Ġsave () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠSave Ġto Ġa Ġdatabase ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠCustom Ġsettings Ġloader Ċ Ġ*/ Ċ private Ġobject ĠCustom Settings Loader Ġ: ĠGuild Settings Loader < Custom Settings > Ġ{ ĊĠĠĠ Ġval Ġmap Ġ= Ġmutable Map Of < String , ĠCustom Settings >() ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġload ( guild : ĠGuild ): ĠCustom Settings Ġ= ĊĠĠĠĠĠĠĠ Ġmap . get Or Put ( guild . id , Ġ{ ĠCustom Settings ( prefix Ġ= Ġnull , Ġcounter Ġ= Ġ 0 ) Ġ}) Ċ Ċ } Ċ Ċ private Ġclass ĠAdd Command Ġ: ĠCommand (" add ", Ġ" simple ", Ġ" ++ ", Ġguild Only Ġ= Ġtrue ) Ġ{ ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġexecute ( ctx : ĠCommand Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġctx . settings < Custom Settings >() !!. counter ++ ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġclass ĠPrint Command Ġ: ĠCommand (" print ", Ġ" simple ", Ġ" print count ", Ġ" value ", Ġguild Only Ġ= Ġtrue ) Ġ{ ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġexecute ( ctx : ĠCommand Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġctx . reply (" The Ġvalue Ġis : Ġ${ ctx . settings < Custom Settings >() !!. counter }") ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġclass ĠClear Command Ġ: ĠCommand (" clear ", Ġ" simple ", Ġguild Only Ġ= Ġtrue ) Ġ{ ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġexecute ( ctx : ĠCommand Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġctx . settings < Custom Settings >() !!. counter Ġ= Ġ 0 ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġobject ĠSettings Over load Ġ{ ĊĠĠĠ Ġfun Ġlaunch () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġj da Ġ= ĠJ DA Builder ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create Default ( System . getenv (" TOKEN ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Event Manager ( Reactive Event Manager ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġval Ġclient Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠB utter fly Client . builder ( j da , ĠarrayOf (" 2 3 9 7 9 0 3 6 0 7 2 8 0 4 3 5 2 0 "), Ġguild Settings Loader Ġ= ĠCustom Settings Loader ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Commands ( Add Command (), ĠPrint Command (), ĠClear Command ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Prefixes (" test !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġmain () Ġ{ ĊĠĠĠ ĠSettings Over load . launch () Ċ }