Use this file to discover all available pages before exploring further.
The MessagesRequest class as you must be familiar with helps you to fetch messages based on the various parameters provided to it. This document will help you understand better the various options that are available using the MessagesRequest class.The MessagesRequest class is designed using the Builder design pattern. In order to obtain an object of the MessagesRequest class, you will have to make use of the MessagesRequestBuilder class in the MessagesRequest class.The MessagesRequestBuilder class allows you to set various parameters to the MessagesRequest class based on which the messages are fetched.Steps to generate an object of the MessagesRequest class:
Create an object of the MessagesRequestBuilder class.
Set all the parameters you wish to set.
Call the build() method of the MessagesRequestBuilder class to get an object of the MessagesRequest class.
Once you have an object of the MessagesRequest class, you can call either the fetchNext() method or the fetchPrevious() method using the object.
fetchNext() - Calling this method will return the messages after the specified parameters.
fetchPrevious() - Calling this method will give you messages before the specified parameters.
Since messages are obtained in a paginated manner, a maximum of 100 messages can be pulled in a single iteration. Calling the fetchPrevious()/fetchNext() method on the same MessagesRequest object will get you the next set of messages.Now that you are clear how to use the MessagesRequest class, below are the various options available:
Use setMessageId() to fetch messages before or after a specific message ID. Use fetchNext() to get messages after, or fetchPrevious() to get messages before.
TypeScript (User)
JavaScript (User)
TypeScript (Group)
JavaScript (Group)
let UID: string = "UID", messageId: number = 1, limit: number = 30, messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setMessageId(messageId) .setLimit(limit) .build();
let UID = "UID";let messageId = 1;let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setMessageId(messageId) .setLimit(limit) .build();
let GUID: string = "GUID", messageId: number = 1, limit: number = 30, messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setMessageId(messageId) .setLimit(limit) .build();
let GUID = "GUID";let messageId = 1;let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setMessageId(messageId) .setLimit(limit) .build();
This method can be combined with setUID() or setGUID() to fetch messages around a specific message in a conversation.
Use setUpdatedAfter() with a Unix timestamp to fetch messages that were sent or updated after a specific time. Updated messages include those marked as read/delivered, edited, or deleted.
TypeScript (User)
JavaScript (User)
TypeScript (Group)
JavaScript (Group)
let UID: string = "UID", limit: number = 30, timestamp: string = "1602221371", messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setUpdatedAfter(timestamp) .setLimit(limit) .build();
let UID = "UID";let limit = 30;let timestamp = 1602221371;let messagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setUpdatedAfter(timestamp) .setLimit(limit) .build();
let GUID: string = "GUID", limit: number = 30, timestamp: string = "1602221371", messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setUpdatedAfter(timestamp) .setLimit(limit) .build();
let GUID = "GUID";let limit = 30;let timestamp = 1602221371;let messagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setUpdatedAfter(timestamp) .setLimit(limit) .build();
Useful for syncing messages with a local database — fetch only what’s changed since your last sync.
Use updatesOnly(true) with setUpdatedAfter() to fetch only updated messages (not newly received ones). This method must be used together with setUpdatedAfter().
TypeScript (User)
JavaScript (User)
TypeScript (Group)
JavaScript (Group)
let UID: string = "UID", limit: number = 30, timestamp: string = "1602221371", messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setUpdatedAfter(timestamp) .updatesOnly(true) .setLimit(limit) .build();
let UID = "UID";let limit = 30;let timestamp = 1602221371;let messagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setUpdatedAfter(timestamp) .updatesOnly(true) .setLimit(limit) .build();
let GUID: string = "GUID", limit: number = 30, timestamp: string = "1602221371", messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setUpdatedAfter(timestamp) .updatesOnly(true) .setLimit(limit) .build();
let GUID = "GUID";let limit = 30;let timestamp = 1602221371;let messagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setUpdatedAfter(timestamp) .updatesOnly(true) .setLimit(limit) .build();
When messages are fetched successfully, the response includes only messages that have been updated (edited, deleted, read/delivered status changed) after the specified timestamp.
Use hasLinks(true) to fetch only messages containing links. Default is false.
This feature is only available with Conversation & Advanced Search. The Conversation & Advanced Search is only available in Advanced & Customplans. If you’re already on one of these plans, please enable the Conversation & Advanced Search from CometChat Dashboard (Open your app, navigate to Chats -> Settings -> General Configuration)
TypeScript (User)
JavaScript (User)
TypeScript (Group)
JavaScript (Group)
let UID: string = "UID", limit: number = 30, messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(UID) .setLimit(limit) .hasLinks(true) .build();
let UID = "UID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setLimit(limit) .hasLinks(true) .build();
let GUID: string = "GUID", limit: number = 30, messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setLimit(limit) .hasLinks(true) .build();
let GUID = "GUID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setLimit(limit) .hasLinks(true) .build();
Use hasAttachments(true) to fetch only messages with attachments (image, audio, video, or file). Default is false.
This feature is only available with Conversation & Advanced Search. The Conversation & Advanced Search is only available in Advanced & Customplans. If you’re already on one of these plans, please enable the Conversation & Advanced Search from CometChat Dashboard (Open your app, navigate to Chats -> Settings -> General Configuration)
TypeScript (User)
JavaScript (User)
TypeScript (Group)
JavaScript (Group)
let UID: string = "UID", limit: number = 30, messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(UID) .setLimit(limit) .hasAttachments(true) .build();
let UID = "UID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setLimit(limit) .hasAttachments(true) .build();
let GUID: string = "GUID", limit: number = 30, messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setLimit(limit) .hasAttachments(true) .build();
let GUID = "GUID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setLimit(limit) .hasAttachments(true) .build();
The response contains media message objects with attachment details including file metadata and thumbnail URLs.
Use hasReactions(true) to fetch only messages that have reactions. Default is false.
This feature is only available with Conversation & Advanced Search. The Conversation & Advanced Search is only available in Advanced & Customplans. If you’re already on one of these plans, please enable the Conversation & Advanced Search from CometChat Dashboard (Open your app, navigate to Chats -> Settings -> General Configuration)
TypeScript (User)
JavaScript (User)
TypeScript (Group)
JavaScript (Group)
let UID: string = "UID", limit: number = 30, messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(UID) .setLimit(limit) .hasReactions(true) .build();
let UID = "UID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setLimit(limit) .hasReactions(true) .build();
let GUID: string = "GUID", limit: number = 30, messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setLimit(limit) .hasReactions(true) .build();
let GUID = "GUID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setLimit(limit) .hasReactions(true) .build();
The response contains message objects with reactions. Each message’s data object includes a reactions array.
Use hasMentions(true) to fetch only messages that contain mentions. Default is false.
This feature is only available with Conversation & Advanced Search. The Conversation & Advanced Search is only available in Advanced & Customplans. If you’re already on one of these plans, please enable the Conversation & Advanced Search from CometChat Dashboard (Open your app, navigate to Chats -> Settings -> General Configuration)
TypeScript (User)
JavaScript (User)
TypeScript (Group)
JavaScript (Group)
let UID: string = "UID", limit: number = 30, messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(UID) .setLimit(limit) .hasMentions(true) .build();
let UID = "UID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setLimit(limit) .hasMentions(true) .build();
let GUID: string = "GUID", limit: number = 30, messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setLimit(limit) .hasMentions(true) .build();
let GUID = "GUID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setLimit(limit) .hasMentions(true) .build();
The response contains text message objects with mentions. Each message has a mentionedUsers array, a mentionedMe boolean, and a data.mentions object.
Use setMentionedUIDs() with an array of UIDs to fetch messages that mention specific users.
This feature is only available with Conversation & Advanced Search. The Conversation & Advanced Search is only available in Advanced & Customplans. If you’re already on one of these plans, please enable the Conversation & Advanced Search from CometChat Dashboard (Open your app, navigate to Chats -> Settings -> General Configuration)
TypeScript (User)
JavaScript (User)
TypeScript (Group)
JavaScript (Group)
let UID: string = "UID", limit: number = 30, messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(UID) .setLimit(limit) .setMentionedUIDs(["UID"]) .build();
let UID = "UID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setLimit(limit) .setMentionedUIDs(["UID"]) .build();
let GUID: string = "GUID", limit: number = 30, messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setLimit(limit) .setMentionedUIDs(["UID"]) .build();
let GUID = "GUID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setLimit(limit) .setMentionedUIDs(["UID"]) .build();
The response contains text message objects that mention the specified users.
Use setAttachmentTypes() with an array of CometChat.AttachmentType values to fetch messages with specific attachment types.
This feature is only available with Conversation & Advanced Search. The Conversation & Advanced Search is only available in Advanced & Customplans. If you’re already on one of these plans, please enable the Conversation & Advanced Search from CometChat Dashboard (Open your app, navigate to Chats -> Settings -> General Configuration)
TypeScript (User)
JavaScript (User)
TypeScript (Group)
JavaScript (Group)
let UID: string = "UID", limit: number = 30, messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(UID) .setLimit(limit) .setAttachmentTypes([CometChat.AttachmentType.IMAGE, CometChat.AttachmentType.VIDEO]) .build();
let UID = "UID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setLimit(limit) .setAttachmentTypes([CometChat.AttachmentType.IMAGE, CometChat.AttachmentType.VIDEO]) .build();
let GUID: string = "GUID", limit: number = 30, messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setLimit(limit) .setAttachmentTypes([CometChat.AttachmentType.IMAGE, CometChat.AttachmentType.VIDEO]) .build();
let GUID = "GUID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setLimit(limit) .setAttachmentTypes([CometChat.AttachmentType.IMAGE, CometChat.AttachmentType.VIDEO]) .build();
The response contains media message objects filtered to the specified attachment types.