Interface Messages

This interface is used to interact with messages in a chat room: subscribing to new messages, fetching history, or sending messages.

Get an instance via Room.messages.

interface Messages {
    get channel(): RealtimeChannel;
    delete(message: Message, deleteMessageParams?: DeleteMessageParams): Promise<Message>;
    get(options: QueryOptions): Promise<PaginatedResult<Message>>;
    onDiscontinuity(listener: DiscontinuityListener): OnDiscontinuitySubscriptionResponse;
    send(params: SendMessageParams): Promise<Message>;
    subscribe(listener: MessageListener): MessageSubscriptionResponse;
    unsubscribeAll(): void;
    update(message: Message, update: UpdateMessageParams, details?: ActionDetails): Promise<Message>;
}

Hierarchy

  • EmitsDiscontinuities
    • Messages

Accessors

Methods

  • Delete a message in the chat room.

    This method uses the Ably Chat API REST endpoint for deleting messages. It performs a soft delete, meaning the message is marked as deleted.

    Note that the Promise may resolve before OR after the message is deleted from the realtime channel. This means you may see the message that was just deleted in a callback to subscribe before the returned promise resolves.

    Should you wish to restore a deleted message, and providing you have the appropriate permissions, you can simply send an update to the original message. Note: This is subject to change in future versions, whereby a new permissions model will be introduced and a deleted message may not be restorable in this way.

    Parameters

    • message: Message

      The message to delete.

    • OptionaldeleteMessageParams: DeleteMessageParams

      Optional details to record about the delete action.

    Returns Promise<Message>

    A promise that resolves when the message was deleted.

  • Get messages that have been previously sent to the chat room, based on the provided options.

    Parameters

    Returns Promise<PaginatedResult<Message>>

    A promise that resolves with the paginated result of messages. This paginated result can be used to fetch more messages if available.

  • Send a message in the chat room.

    This method uses the Ably Chat API endpoint for sending messages.

    Note that the Promise may resolve before OR after the message is received from the realtime channel. This means you may see the message that was just sent in a callback to subscribe before the returned promise resolves.

    Parameters

    • params: SendMessageParams

      an object containing {text, headers, metadata} for the message to be sent. Text is required, metadata and headers are optional.

    Returns Promise<Message>

    A promise that resolves when the message was published.

  • Unsubscribe all listeners from new messages in from chat room.

    Returns void

  • Update a message in the chat room.

    Note that the Promise may resolve before OR after the updated message is received from the realtime channel. This means you may see the update that was just sent in a callback to subscribe before the returned promise resolves.

    Parameters

    • message: Message

      The message to update.

    • update: UpdateMessageParams

      The new message content including headers and metadata. This fully replaces the old content. Everything that's not set will be removed.

    • Optionaldetails: ActionDetails

      Optional details to record about the update action.

    Returns Promise<Message>

    A promise of the updated message.