package Ġxyz . er oto . bot Ċ Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ import Ġcom . fasterxml . jackson . data format . yaml . YAML Factory Ċ import Ġcom . fasterxml . jackson . module . kotlin . Kotlin Module Ċ import Ġcom . fasterxml . jackson . module . kotlin . readValue Ċ import Ġxyz . er oto . bot . entities . API Config Ċ import Ġjava . io . File Ċ import Ġxyz . er oto . bot . entities . Config Ċ import Ġxyz . er oto . bot . entities . Postgres Config Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġval Ġmapper Ġ= ĠObjectMapper ( YAML Factory ()) ĊĊĠĠĠ Ġmapper . register Module ( Kotlin Module ()) ĊĊĠĠĠ Ġval Ġconfig Ġ= Ġif Ġ( System . getenv (" USE _ ENV ") Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ ĠConfig ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . getenv (" BOT _ TOKEN ") Ġ?: Ġreturn Ġprintln (" Token Ġnot Ġfound ! "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . getenv (" BOT _ PREFIX ES "). split (" :: "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . getenv (" BOT _ SH AR DS ") ?. toInt () Ġ?: Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . getenv (" BOT _ FIRST _ SH ARD ") ?. toInt () Ġ?: Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . getenv (" BOT _ LAST _ SH ARD ") ?. toInt () Ġ?: Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPostgres Config ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . getenv (" POST GRES _ HOST ") Ġ?: Ġ" localhost ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . getenv (" POST GRES _ USER ") Ġ?: ĠSystem . getenv (" USERNAME ") Ġ?: Ġreturn Ġprintln (" No Ġuser Ġconfigured ! "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . getenv (" POST GRES _ PASSWORD ") Ġ?: Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . getenv (" POST GRES _ DATABASE ") Ġ?: Ġ" er oto " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAPI Config ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . getenv (" W EE B SH _ TOKEN ") Ġ?: Ġreturn Ġprintln (" No Ġwe eb sh Ġtoken Ġgiven !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġmapper . readValue ( File (" config . yml ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġbot Ġ= ĠE roto ( config ) ĊĊĠĠĠ Ġbot . run () Ċ } Ċ