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 . embed . Embed der Ċ import Ġme . me li jn . me lij nb ot . internals . utils . as Epoch Millis To DateTime Ċ import Ġme . me li jn . me lij nb ot . internals . utils . message . send Embed Rsp Ċ import Ġme . me li jn . me lij nb ot . internals . utils . message . send In Guild Ċ import Ġme . me li jn . me lij nb ot . object Mapper Ċ import Ġnet . dv 8 tion . j da . api . entities . Message Embed Ċ import Ġkotlin . random . Random Ċ Ċ class ĠMe me Command Ġ: ĠAbstract Command (" command . meme ") Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġ 2 0 4 ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġ" meme " ĊĠĠĠĠĠĠĠ Ġaliases Ġ= ĠarrayOf (" d ank meme ") ĊĠĠĠĠĠĠĠ Ġcommand Category Ġ= ĠCommand Category . UT ILITY ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsub redd its Ġ= ĠarrayOf (" d ank me mes ", Ġ" me mes ", Ġ" fun ny ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġexecute ( context : ĠICommand Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsub reddit Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( context . command Parts [ 0 ] Ġ== Ġ" d ank meme ") Ġ" d ank me mes " Ġelse Ġsub redd its [ Random . nextInt ( sub redd its . size )] ĊĊĠĠĠĠĠĠĠ Ġval Ġrandom Result Ġ= ĠRed dit Command . getRandom Red dit Result N Message ( context , Ġsub reddit , Ġ" hot ", Ġ" day ") Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġembed der Ġ= ĠEmbed der ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle ( random Result . title . take ( 2 5 6 ), Ġ" https :// reddit . com " Ġ+ Ġrandom Result . url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setImage ( if Ġ( random Result . just Text ) Ġnull Ġelse Ġrandom Result . img ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Thumbnail ( if Ġ( random Result . just Text ) Ġ" https :// static . me li jn . com / text - icon . png " Ġelse Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Footer ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ uD 8 3 D \ u DD 3 C Ġ${ random Result . ups } Ġ| Ġ" Ġ+ Ġ( random Result . created Ġ* Ġ 1 0 0 0 ). as Epoch Millis To DateTime ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . getTime Zone Id () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( random Result . thumb . isNotBlank () Ġ&& Ġrandom Result . thumb Ġ!= Ġ" self " Ġ&& Ġrandom Result . just Text ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġembed der . set Thumbnail ( random Result . thumb ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( t : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( random Result . just Text ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġembed der . setTitle ( null , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setDescription ( random Result . title . take ( Message Embed . TEXT _ MAX _ LENGTH Ġ- Ġ 2 5 6 ) Ġ+ Ġ"\ n [ link ]( https :// reddit . com ${ random Result . url }) ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend Embed Rsp ( context , Ġembed der . build ()) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( t : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt . send In Guild ( context , Ġextra Ġ= ĠobjectMapper . writeValue AsString ( random Result )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }