code: def send_over_websocket(self, *, payload: dict):
          
          if self._websocket is None or self._event_loop is None:
              raise client_err.SlackClientNotConnectedError(
                  "Websocket connection is closed."
              )
          if "id" not in payload:
              payload["id"] = self._next_msg_id()
          asyncio.ensure_future(
              self._websocket.send_str(json.dumps(payload)), loop=self._event_loop
          )
docs: Sends a message to Slack over the WebSocket connection.
  
          Note:
              The RTM API only supports posting simple messages formatted using
              our default message formatting mode. It does not support
              attachments or other message formatting modes. For this reason
              we recommend users send messages via the Web API methods.
              e.g. web_client.chat_postMessage()
  
              If the message "id" is not specified in the payload, it'll be added.
  
          Args:
              payload (dict): The message to send over the wesocket.
              e.g.
              {
                  "id": 1,
                  "type": "typing",
                  "channel": "C024BE91L"
              }
  
          Raises:
              SlackClientNotConnectedError: Websocket connection is closed.