package Ġme . me li jn . me lij nb ot . commands . utility Ċ Ċ import Ġme . me li jn . me lij nb ot . internals . command . Abstract Command Ċ import Ġme . me li jn . me lij nb ot . internals . command . Command Category Ċ import Ġme . me li jn . me lij nb ot . internals . command . IC ommand Context Ċ import Ġme . me li jn . me lij nb ot . internals . translation . MESSAGE _ UNKNOWN _ TIME ZONE Ċ import Ġme . me li jn . me lij nb ot . internals . utils . getObject From Arg N Message Ċ import Ġme . me li jn . me lij nb ot . internals . utils . message . send Rsp Ċ import Ġme . me li jn . me lij nb ot . internals . utils . with Safe Variable Ċ import Ġjava . util .* Ċ Ċ class ĠSet Private TimeZone Command Ġ: ĠAbstract Command (" command . set private timezone ") Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġ 1 3 7 ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġ" set Private TimeZone " ĊĠĠĠĠĠĠĠ Ġaliases Ġ= ĠarrayOf (" s pt z ", Ġ" set Private TZ ") ĊĠĠĠĠĠĠĠ Ġcommand Category Ġ= ĠCommand Category . UT ILITY ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġexecute ( context : ĠICommand Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( context . args . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend TimeZone ( context ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset TimeZone ( context ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġsend TimeZone ( context : ĠICommand Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdao Ġ= Ġcontext . dao Manager . time Zone Wrapper ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġdao . getTime Zone ( context . author Id ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmsg Ġ= Ġcontext . get Translation ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( id . isBlank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ root . show . unset " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ root . show . set " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ). with Safe Variable (" zone ", Ġid ) ĊĊĠĠĠĠĠĠĠ Ġsend Rsp ( context , Ġmsg ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġset TimeZone ( context : ĠICommand Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġshould Unset Ġ= Ġ" null ". equals ( context . command Parts [ 2 ], Ġtrue ) ĊĊĠĠĠĠĠĠĠ Ġval Ġzone Ġ= Ġif Ġ( should Unset ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetObject From Arg N Message ( context , Ġ 0 , Ġ{ Ġs Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTime Zone . getTime Zone ( s ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( t : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĠMESSAGE _ UNKNOWN _ TIME ZONE ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġdao Ġ= Ġcontext . dao Manager . time Zone Wrapper ĊĠĠĠĠĠĠĠ Ġif Ġ( zone Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdao . remove TimeZone ( context . author Id ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdao . set TimeZone ( context . author Id , Ġzone ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġpossible Ġ= Ġif Ġ( should Unset ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" un " ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġmsg Ġ= Ġcontext . get Translation ("$ root .${ possible } set ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Safe Variable (" zone ", Ġzone ?. id Ġ?: Ġ"") ĊĊĠĠĠĠĠĠĠ Ġsend Rsp ( context , Ġmsg ) ĊĠĠĠ Ġ} Ċ }