code: func (rtm *RTM) sendOutgoingMessage(msg OutgoingMessage) {
  	rtm.Debugln("Sending message:", msg)
  	if len([]rune(msg.Text)) > MaxMessageTextLength {
  		rtm.IncomingEvents <- RTMEvent{"outgoing_error", &MessageTooLongEvent{
  			Message:   msg,
  			MaxLength: MaxMessageTextLength,
  		}}
  		return
  	}
  
  	if err := rtm.sendWithDeadline(msg); err != nil {
  		rtm.IncomingEvents <- RTMEvent{"outgoing_error", &OutgoingErrorEvent{
  			Message:  msg,
  			ErrorObj: err,
  		}}
  		// TODO force ping?
  	}
  }
docs: // sendOutgoingMessage sends the given OutgoingMessage to the slack websocket.
  //
  // It does not currently detect if a outgoing message fails due to a disconnect
  // and instead lets a future failed 'PING' detect the failed connection.