package Ġcom . xb aim iao . ch atch annel Ċ Ċ import Ġcom . xb aim iao . mir ai . config . WebSocket Bot Config Ċ import Ġcom . xb aim iao . mir ai . message . component . impl . Plain Text Ċ import Ġcom . xb aim iao . mir ai . packet . impl . websocket . WebSocket Bot Ċ import Ġme . clip . placeholder api . Placeholder API Ċ import Ġorg . bukkit . entity . Player Ċ import Ġtab ool ib . common . env . Runtime Dependency Ċ import Ġtab ool ib . common . platform . Plugin Ċ import Ġtab ool ib . common . platform . command . Permission Default Ċ import Ġtab ool ib . common . platform . command . command Ċ import Ġtab ool ib . common . platform . function . submit Ċ import Ġtab ool ib . module . chat . un colored Ċ import Ġtab ool ib . module . configuration . Config Ċ import Ġtab ool ib . module . configuration . ConfigFile Ċ import Ġtab ool ib . module . nms . send Map Ċ import Ġtab ool ib . platform . Bu kkit Plugin Ċ import Ġjava . net . URL Ċ import Ġjavax . image io . Image IO Ċ Ċ @ Runtime Dependency ( ĊĠĠĠ Ġvalue Ġ= Ġ"! org . jetbrains . kotlin : kotlin - stdlib : 1 . 5 . 3 1 " Ċ ) Ċ object ĠChat Channel Ġ: ĠPlugin () Ġ{ ĊĊĠĠĠ Ġ@ Config ( value Ġ= Ġ" config . yml ") ĊĠĠĠ Ġlateinit Ġvar Ġconfig : ĠConfig File ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġval Ġplugin Ġby Ġlazy Ġ{ ĠBu kkit Plugin . getInstance () Ġ} ĊĊĠĠĠ Ġlateinit Ġvar Ġbot : ĠWebSocket Bot ĊĊĠĠĠ Ġoverride Ġfun Ġon Disable () Ġ{ ĊĠĠĠĠĠĠĠ Ġbot . event Ch ancel . unregister Listener ( Group Events ) ĊĠĠĠĠĠĠĠ Ġbot . disable () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Enable () Ġ{ ĊĠĠĠĠĠĠĠ Ġbot Ġ= ĠWebSocket Bot ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWebSocket Bot Config ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig . getString (" url ") !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig . getLong (" qq "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig . getString (" auth Key ") !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġbot . connect () ĊĠĠĠĠĠĠĠ Ġbot . event Ch ancel . register Listener ( Group Events ) ĊĠĠĠĠĠĠĠ Ġcommand ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" qq ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpermission Default Ġ= ĠPermission Default . TRUE ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġliteral (" look ", Ġoptional Ġ= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdynamic Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecute < Player > Ġ{ Ġsender , Ġcontext , Ġargument Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubmit ( async Ġ= Ġtrue ) Ġ{ Ġsender . send Map ( Image IO . read ( URL ( argument ))) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġliteral (" send ", Ġoptional Ġ= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdynamic Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecute < Player > Ġ{ Ġsender , Ġcontext , Ġargument Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmessage Ġ= ĠPlace holder API . set Place holders ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsender , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig . getString (" Game To Group ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġmessage . replace ("% msg %", Ġargument . un colored ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsender . chat ( argument ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbot . get Groups (). then Accept Async Ġ{ Ġlist Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . first OrNull Ġ{ Ġit . id Ġ== Ġ 4 1 8 8 8 8 1 3 4 L Ġ} ?. sendMessage ( Plain Text ( message )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }