/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 ĠVS CT Ċ Ġ* Ċ Ġ* Ġ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 Ġfr . vs ct . to ck . bot . connector . business chat Ċ Ċ import Ġfr . vs ct . to ck . bot . connector . business chat . model . common . MessageType Ċ import Ġfr . vs ct . to ck . bot . connector . business chat . model . common . Received Model Ċ import Ġfr . vs ct . to ck . bot . connector . business chat . model . input . Business Chat Connector Message Ċ import Ġfr . vs ct . to ck . bot . connector . business chat . model . input . Business Chat Connector Text Message Ċ import Ġfr . vs ct . to ck . bot . engine . Bot Bus Ċ import Ġfr . vs ct . to ck . bot . engine . action . Action Ċ import Ġfr . vs ct . to ck . bot . engine . action . Send Sentence Ċ import Ġfr . vs ct . to ck . bot . engine . event . Event Ċ import Ġfr . vs ct . to ck . bot . engine . event . Pass Thread Control Event Ċ import Ġfr . vs ct . to ck . bot . engine . user . Player Id Ċ import Ġfr . vs ct . to ck . bot . engine . user . Player Type Ċ Ċ internal Ġobject ĠMessage Converter Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠConverts Ġa Ġ[ Bot Bus ] Ġ[ Action ] Ġto Ġa Ġ[ Business Chat Connector Message ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Message ( action : ĠAction ): ĠBusiness Chat Connector Message ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( action Ġis ĠSend Sentence ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( action . text Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction . messages . first () Ġas ? ĠBusiness Chat Connector Message ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse ĠBusiness Chat Connector Text Message ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource Id Ġ= Ġaction . player Id . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdestination Id Ġ= Ġaction . recipient Id . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbody Ġ= Ġaction . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠConverts Ġa Ġmessage Ġto Ġa Ġ[ Event ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġto Event ( message : ĠReceived Model , Ġconnector Id : ĠString , Ġbusiness Chat Client : ĠC SP Business Chat Client ): ĠEvent ? Ġ= ĊĠĠĠĠĠĠĠ Ġwhen Ġ( message . type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMessageType . text Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSend Sentence ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Id Ġ= Ġconnector Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer Id Ġ= ĠPlayer Id ( message . source Id , ĠPlayer Type . user ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrecipient Id Ġ= ĠPlayer Id ( message . destination Id , ĠPlayer Type . bot ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġmessage . body ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMessageType . interactive Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Picker Choice Ġ= Ġbusiness Chat Client . receive List Picker Choice ( message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( list Picker Choice Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSend Sentence ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Id Ġ= Ġconnector Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer Id Ġ= ĠPlayer Id ( message . source Id , ĠPlayer Type . user ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrecipient Id Ġ= ĠPlayer Id ( message . destination Id , ĠPlayer Type . bot ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġlist Picker Choice . text ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMessageType . pass _ thread _ control Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( message . hand over Data ?. new Owner AppId Ġ!= Ġnull Ġ&& Ġmessage . hand over Data . metadata Ġ== Ġ" al c me on - secondary - done ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPass Thread Control Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrecipient Id Ġ= ĠPlayer Id ( message . destination Id , ĠPlayer Type . user ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= ĠPlayer Id ( message . destination Id , ĠPlayer Type . user ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Id Ġ= Ġconnector Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Owner AppId Ġ= Ġmessage . hand over Data . new Owner AppId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmetadata Ġ= Ġmessage . hand over Data . metadata ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ċ } ĊĊ