sendMessage method

Future<DynamiteResponse<ChatSendMessageResponseApplicationJson, ChatChatSendMessageHeaders>> sendMessage({
  1. required String message,
  2. required String token,
  3. String? actorDisplayName,
  4. String? referenceId,
  5. int? replyTo,
  6. ChatSendMessageSilent? silent,
  7. ChatSendMessageApiVersion? apiVersion,
  8. bool? oCSAPIRequest,
})

Sends a new chat message to the given room.

The author and timestamp are automatically set to the current user/guest and time.

Returns a Future containing a DynamiteResponse with the status code, deserialized body and headers. Throws a DynamiteApiException if the API call does not return an expected status code.

Parameters:

  • message the message to send.
  • actorDisplayName for guests. Defaults to "".
  • referenceId for the message to be able to later identify it again. Defaults to "".
  • replyTo Parent id which this message is a reply to. Defaults to 0.
  • silent If sent silent the chat message will not create any notifications. Defaults to 0.
  • apiVersion Defaults to "v1".
  • token
  • oCSAPIRequest Required to be true for the API request to pass. Defaults to true.

Status codes:

  • 201: Message sent successfully
  • 400: Sending message is not possible
  • 404: Actor not found
  • 413: Message too long
  • 429: Mention rate limit exceeded (guests only)

See:

Implementation

Future<_i1.DynamiteResponse<ChatSendMessageResponseApplicationJson, ChatChatSendMessageHeaders>> sendMessage({
  required String message,
  required String token,
  String? actorDisplayName,
  String? referenceId,
  int? replyTo,
  ChatSendMessageSilent? silent,
  ChatSendMessageApiVersion? apiVersion,
  bool? oCSAPIRequest,
}) async {
  final _request = $sendMessage_Request(
    message: message,
    token: token,
    actorDisplayName: actorDisplayName,
    referenceId: referenceId,
    replyTo: replyTo,
    silent: silent,
    apiVersion: apiVersion,
    oCSAPIRequest: oCSAPIRequest,
  );
  final _response = await _rootClient.httpClient.send(_request);

  final _serializer = $sendMessage_Serializer();
  final _rawResponse =
      await _i1.ResponseConverter<ChatSendMessageResponseApplicationJson, ChatChatSendMessageHeaders>(_serializer)
          .convert(_response);
  return _i1.DynamiteResponse.fromRawResponse(_rawResponse);
}