package Ġj k ly . slack . rtm Ċ Ċ import Ġcom . google . gson . Gson Ċ import Ġokhttp 3 . MediaType Ċ import Ġokhttp 3 . RequestBody Ċ import Ġokhttp 3 . ws . WebSocket Ċ import Ġjava . util . concurrent . atomic . Atomic Long Ċ Ċ class ĠMessage Sender ( val Ġsocket : ĠWebSocket ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar ĠmessageId Ġ= ĠAtomic Long ( 0 L ) ĊĠĠĠ Ġval Ġgson Ġ= ĠGson () ĊĊĠĠĠ Ġfun Ġsend ( channel : String , Ġmessage : String ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠRequest Body . create ( WebSocket . TEXT , Ġgson . toJson ( Message ( message Id . increment AndGet (), Ġchannel , Ġmessage ))) ĊĠĠĠĠĠĠĠ Ġsocket . sendMessage ( request ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠMED IA _ TYPE Ġ= ĠMediaType . parse (" application / json ") ĊĠĠĠ Ġ} Ċ } Ċ