/* Ċ Ġ* ĠĠ ĠCopyright Ġ( c ) Ġ 2 0 1 7 - 2 0 1 9 ĠY ui Ċ Ġ* Ċ Ġ* ĠĠ ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ċ Ġ* ĠĠ Ġobtaining Ġa Ġcopy Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ċ Ġ* ĠĠ Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ġin Ġthe ĠSoftware Ġwithout Ċ Ġ* ĠĠ Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ġto Ġuse , Ċ Ġ* ĠĠ Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* ĠĠ Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe Ċ Ġ* ĠĠ ĠSoftware Ġis Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ċ Ġ* ĠĠ Ġconditions : Ċ Ġ* Ċ Ġ* ĠĠ ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ċ Ġ* ĠĠ Ġincluded Ġin Ġall Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠĠ ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , Ċ Ġ* ĠĠ ĠEXPRESS ĠOR ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES Ċ Ġ* ĠĠ ĠOF ĠMERCHANTABILITY , ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND Ċ Ġ* ĠĠ ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE ĠAUTHORS ĠOR ĠCOPYRIGHT Ċ Ġ* ĠĠ ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER ĠLIABILITY , Ċ Ġ* ĠĠ ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING Ċ Ġ* ĠĠ ĠFROM , ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR Ċ Ġ* ĠĠ ĠOTHER ĠDEALINGS ĠIN ĠTHE ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġmo e . ky ub ey . ak ats uki . commands Ċ Ċ import Ġio . sentry . S entry Ċ import Ġmo e . ky ub ey . ak ats uki . annotations . Argument Ċ import Ġmo e . ky ub ey . ak ats uki . annotations . Load Ċ import Ġmo e . ky ub ey . ak ats uki . entities . Command Ċ import Ġmo e . ky ub ey . ak ats uki . entities . Context Ċ import Ġmo e . ky ub ey . ak ats uki . utils . Http Ċ import Ġmo e . ky ub ey . ak ats uki . utils . I 1 8 n Ċ import Ġnet . dv 8 tion . j da . core . Embed Builder Ċ import Ġokhttp 3 . Http Url Ċ import Ġorg . json . JSONArray Ċ Ċ @ Load Ċ @ Argument (" tags ", Ġ" string ") Ċ class ĠDan bo oru Ġ: ĠCommand () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġdesc Ġ= Ġ" Search Ġfor Ġimages Ġon Ġdan bo oru ." ĊĠĠĠ Ġoverride Ġval Ġn sf w Ġ= Ġtrue ĊĊĠĠĠ Ġoverride Ġfun Ġrun ( ctx : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġctx . args [" tags "] Ġas ĠString ĊĊĠĠĠĠĠĠĠ Ġif Ġ( query . indexOf (" lo li ") Ġ> Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġctx . send ( I 1 8 n . parse ( ctx . lang . getString (" lo li _ is _ il legal "), Ġmap Of (" username " Ġto Ġctx . author . name ))) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠHttp . get ( Http Url . Builder (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscheme (" https ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhost (" dan bo oru . don ma i . us ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Path Segment (" posts . json ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd QueryParameter (" limit ", Ġ" 1 0 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd QueryParameter (" random ", Ġ" true ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd QueryParameter (" tags ", Ġquery ) ĊĠĠĠĠĠĠĠ Ġ}. build ()). then Accept Ġ{ Ġres Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Arr Ġ= ĠJSONArray ( res . body () !!. string ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( json Arr . count () Ġ== Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ then Accept Ġctx . send ( I 1 8 n . parse ( ctx . lang . getString (" no _ images _ found "), Ġmap Of (" username " Ġto Ġctx . author . name ))) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġjson Arr . getJSONObject ( Math . floor ( Math . random () Ġ* Ġjson Arr . count ()). toInt ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( json . getString (" tag _ string "). indexOf (" lo li ") Ġ> Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ then Accept Ġctx . send ( I 1 8 n . parse ( ctx . lang . getString (" lo li _ is _ il legal "), Ġmap Of (" username " Ġto Ġctx . author . name ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġembed Ġ= ĠEmbed Builder (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Image (" https :// dan bo oru . don ma i . us ${ json . getString (" file _ url ") }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġctx . send ( embed . build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres . close () ĊĠĠĠĠĠĠĠ Ġ}. then Apply Ġ{} . exception ally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġctx . logger . error (" Error Ġwhile Ġtrying Ġto Ġget Ġpost Ġfrom Ġdan bo oru ", Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġctx . send Error ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS entry . capture ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }