/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 7 / 2 0 1 9 Ġe - voy age urs Ġtechnologies Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġai . to ck . bot . admin . message Ċ Ċ import Ġai . to ck . bot . connector . Connector Message Ċ import Ġai . to ck . bot . engine . action . Action Ċ import Ġai . to ck . bot . engine . action . Send Sentence Ċ import Ġai . to ck . bot . engine . event . EventType Ċ import Ġai . to ck . bot . engine . user . Player Id Ċ import Ġai . to ck . shared . error Ċ import Ġai . to ck . translator . I 1 8 n Label Value Ċ import Ġai . to ck . translator . User Interface Type Ċ import Ġmu . Kotlin Logging Ċ import Ġjava . util . Locale Ċ Ċ /** Ċ Ġ* ĠCould Ġbe Ġa Ġsimple Ġtext , Ġor Ġa Ġcomplex Ġmessage Ġusing Ġ[ Connector Message ] Ġconstructor . Ċ Ġ*/ Ċ data Ġclass ĠSentence Configuration ( ĊĠĠĠ Ġval Ġtext : ĠI 1 8 n Label Value ?, ĊĠĠĠ Ġval Ġmessages : ĠMutable List < Sentence Element Configuration > Ġ= Ġmutable ListOf (), ĊĠĠĠ Ġoverride Ġval Ġdelay : ĠLong Ġ= Ġ 0 Ċ ) Ġ: ĠMessage Configuration Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠKotlin Logging . logger Ġ{} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval ĠeventType : ĠEventType Ġ= ĠEventType . sentence ĊĊĠĠĠ Ġoverride Ġfun Ġto Action ( player Id : ĠPlayer Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrecipient Id : ĠPlayer Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocale : ĠLocale , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser Interface Type : ĠUser Interface Type ): ĠAction Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSend Sentence ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrecipient Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessages . map NotNull Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . find Connector Message () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. to Mutable List ()) ĊĠĠĠ Ġ} Ċ Ċ }