package Ġh iny ari čĊč Ċ import Ġcom . sun . j na . platform . win 3 2 . COM . util . Factory č Ċ import Ġh iny ari . cs . I Service Control č Ċ import Ġjava . awt . MenuItem č Ċ import Ġjava . awt . PopupMenu č Ċ import Ġjava . awt . System Tray č Ċ import Ġjava . awt . Tray Icon č Ċ import Ġjava . io . File č Ċ import Ġjava . io . FileInputStream č Ċ import Ġjava . io . FileNotFoundException č Ċ import Ġjava . io . InputStream Reader č Ċ import Ġjava . lang . reflect . Un declared Throwable Exception č Ċ import Ġjava . util .* č Ċ import Ġjavax . image io . Image IO čĊč Ċ fun Ġmain ( args Ġ: ĠArray < String >) Ġ{ čĊčĊĠĠĠ Ġlateinit Ġvar Ġc ev ib ot Ġ: ĠBot Main čĊĠĠĠ Ġval Ġc cs Ġ= ĠFactory (). createObject ( I Service Control :: class . java ) čĊčĊĠĠĠ Ġ// ---------- ãĤ¿ ãĤ¹ ãĤ¯ãĥĪ ãĥ¬ ãĤ¤ ãĤ¢ ãĤ¤ ãĤ³ãĥ³ ä½ľæĪĲ ---------- čĊĠĠĠ Ġval Ġimage Ġ= ĠImage IO . read ( File (" ce v ib ot / icon . png ")) čĊčĊĠĠĠ Ġval Ġexit App Ġ= ĠMenuItem (" çµĤ äºĨ ") čĊčĊĠĠĠ Ġexit App . addActionListener Ġ{ čĊĠĠĠĠĠĠĠ Ġtry Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġc ev ib ot . exit () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġc cs . Close Host ( 0 ) čĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex Ġ: ĠException ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// çĦ¡ è¦ĸ čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ ĠSystem . exit ( 0 ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġval Ġmenu Ġ= ĠPopup Menu () čĊĠĠĠ Ġmenu . add ( exit App ) čĊčĊĠĠĠ Ġval Ġicon Ġ= ĠTr ay Icon ( image , Ġ" ce v ib ot ", Ġmenu ) čĊĠĠĠ Ġicon . is Image AutoSize Ġ= Ġtrue čĊčĊĠĠĠ Ġval Ġtr ay Ġ= ĠSystem Tray . getSystem Tray () čĊĠĠĠ Ġtr ay . add ( icon ) čĊčĊĠĠĠ Ġ// ---------- ãĤ³ãĥ³ ãĥķãĤ£ ãĤ° ãĥķãĤ¡ãĤ¤ãĥ« ãģ® èªŃãģ¿ è¾¼ ãģ¿ ---------- čĊĠĠĠ Ġval Ġprop Ġ= ĠProperties () čĊĠĠĠ Ġlateinit Ġvar Ġfis Ġ: ĠFileInputStream čĊĠĠĠ Ġlateinit Ġvar Ġis r Ġ: ĠInputStreamReader čĊčĊĠĠĠ Ġtry Ġ{ čĊĠĠĠĠĠĠĠ Ġfis Ġ= ĠFileInputStream (" ce v ib ot / config . txt ") čĊĠĠĠĠĠĠĠ Ġis r Ġ= ĠInputStreamReader ( fis ) čĊĠĠĠĠĠĠĠ Ġprop . load ( isr ) čĊĠĠĠ Ġ} Ġcatch Ġ( ex Ġ: ĠFileNotFoundException ) Ġ{ čĊĠĠĠĠĠĠĠ Ġicon . display Message (" ce v ib ot ", Ġ" ãĤ³ãĥ³ ãĥķãĤ£ ãĤ° ãĥķãĤ¡ãĤ¤ãĥ« ãģĮ è¦ĭ ãģ¤ ãģĭ ãĤĬ ãģ¾ãģĽãĤĵ ãģ§ ãģĹãģŁ ${ System . line Separator ()} 5 ç§Ĵ å¾Į ãģ« ãĤ¢ãĥĹãĥª ãĤĴ çµĤ äºĨ ãģĹãģ¾ãģĻ ", ĠTr ay Icon . MessageType . ERROR ) čĊĠĠĠĠĠĠĠ ĠThread . sleep ( 5 0 0 0 ) čĊĠĠĠĠĠĠĠ ĠSystem . exit ( 0 ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfis . close () čĊĠĠĠ Ġis r . close () čĊčĊĠĠĠ Ġval Ġtoken Ġ= Ġprop . getProperty (" token ") čĊĠĠĠ Ġval Ġmain Ch Id Ġ= Ġprop . getProperty (" main Ch Id ") čĊĠĠĠ Ġval Ġprefix Ġ= Ġprop . getProperty (" prefix ") čĊĠĠĠ Ġval Ġjoin VC Id Ġ= Ġprop . getProperty (" join VC Id ") čĊĠĠĠ Ġval Ġtarget Ch Id Ġ= Ġprop . getProperty (" target Ch Id ") čĊčĊĠĠĠ Ġprop . clear () čĊčĊĠĠĠ Ġ// ---------- CS éĸĭå§ĭ ---------- čĊĠĠĠ Ġtry Ġ{ čĊĠĠĠĠĠĠĠ Ġc cs . Start Host ( false ) čĊĠĠĠ Ġ} Ġcatch Ġ( ex Ġ: ĠUndeclared Throwable Exception ) Ġ{ čĊĠĠĠĠĠĠĠ Ġ// çĦ¡ è¦ĸ čĊĠĠĠ Ġ} Ġcatch Ġ( ex Ġ: ĠException ) Ġ{ čĊĠĠĠĠĠĠĠ Ġicon . display Message (" ce v ib ot ", Ġ" CS ãģĮ æŃ£å¸¸ ãģ« éĸĭå§ĭ ãģĹãģ¾ ãģĽãĤĵ ãģ§ ãģĹãģŁ ${ System . line Separator ()} æīĭ åĭķ ãģ§ CS ãĤĴ èµ· åĭķ ãģĹãģ¦ãģıãģłãģķãģĦ ", ĠTr ay Icon . MessageType . ERROR ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġ// ---------- Bot èµ· åĭķ ---------- čĊĠĠĠ Ġtry Ġ{ čĊĠĠĠĠĠĠĠ Ġc ev ib ot Ġ= ĠBot Main ( icon , Ġtoken , Ġmain Ch Id , Ġprefix , Ġjoin VC Id , Ġtarget Ch Id ) čĊĠĠĠĠĠĠĠ Ġc ev ib ot . login () čĊĠĠĠ Ġ} Ġcatch Ġ( ex Ġ: ĠException ) Ġ{ čĊĠĠĠĠĠĠĠ Ġicon . display Message (" ce v ib ot ", Ġ" Bot ãģ® èµ· åĭķ ãģ« å¤± æķ Ĺ ãģĹãģ¾ãģĹãģŁ ${ System . line Separator ()} 5 ç§Ĵ å¾Į ãģ« ãĤ¢ãĥĹãĥª ãĤĴ çµĤ äºĨ ãģĹãģ¾ãģĻ ", ĠTr ay Icon . MessageType . ERROR ) čĊĠĠĠĠĠĠĠ ĠThread . sleep ( 5 0 0 0 ) čĊĠĠĠĠĠĠĠ ĠSystem . exit ( 0 ) čĊĠĠĠ Ġ} č Ċ }