The MessagesRequest class fetches messages based on various parameters. It uses the Builder design pattern via MessagesRequestBuilder.To fetch messages:
Create a MessagesRequestBuilder object
Set your desired parameters
Call build() to get a MessagesRequest object
Call fetchNext() or fetchPrevious() to retrieve messages
Method
Description
fetchNext()
Returns messages after the specified parameters
fetchPrevious()
Returns messages before the specified parameters
Messages are paginated with a maximum of 100 per request. Call fetchPrevious()/fetchNext() repeatedly on the same object to get subsequent pages.
Use setGUID() to fetch messages from a group. The logged-in user must be a member of the group.
Group Conversation
TypeScript
Report incorrect code
Copy
Ask AI
let GUID = "GUID";let messagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setLimit(50) .build();
Report incorrect code
Copy
Ask AI
let GUID: string = "GUID";let messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder().setGUID(GUID).setLimit(50).build();
When messages are fetched successfully, the response includes an array of message objects.
If neither setUID() nor setGUID() is used, all messages for the logged-in user across all conversations will be fetched. All parameters below can be combined with setUID() or setGUID().
Use setMessageId() to fetch messages before or after a specific message ID. Use fetchNext() to get messages after, or fetchPrevious() to get messages before.
User
Group
TypeScript (User)
TypeScript (Group)
Report incorrect code
Copy
Ask AI
let UID = "UID";let messageId = 1;let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setMessageId(messageId) .setLimit(limit) .build();
Report incorrect code
Copy
Ask AI
let GUID = "GUID";let messageId = 1;let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setMessageId(messageId) .setLimit(limit) .build();
Report incorrect code
Copy
Ask AI
let UID: string = "UID", messageId: number = 1, limit: number = 30, messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setMessageId(messageId) .setLimit(limit) .build();
Report incorrect code
Copy
Ask AI
let GUID: string = "GUID", messageId: number = 1, limit: number = 30, messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .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.
User
Group
TypeScript (User)
TypeScript (Group)
Report incorrect code
Copy
Ask AI
let UID = "UID";let limit = 30;let timestamp = 1602221371;let messagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setUpdatedAfter(timestamp) .setLimit(limit) .build();
Report incorrect code
Copy
Ask AI
let GUID = "GUID";let limit = 30;let timestamp = 1602221371;let messagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setUpdatedAfter(timestamp) .setLimit(limit) .build();
Report incorrect code
Copy
Ask AI
let UID: string = "UID", limit: number = 30, timestamp: string = "1602221371", messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setUpdatedAfter(timestamp) .setLimit(limit) .build();
Report incorrect code
Copy
Ask AI
let GUID: string = "GUID", limit: number = 30, timestamp: string = "1602221371", messagesRequest: CometChat.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().
User
Group
TypeScript (User)
TypeScript (Group)
Report incorrect code
Copy
Ask AI
let UID = "UID";let limit = 30;let timestamp = 1602221371;let messagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setUpdatedAfter(timestamp) .updatesOnly(true) .setLimit(limit) .build();
Report incorrect code
Copy
Ask AI
let GUID = "GUID";let limit = 30;let timestamp = 1602221371;let messagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setUpdatedAfter(timestamp) .updatesOnly(true) .setLimit(limit) .build();
Report incorrect code
Copy
Ask AI
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();
Report incorrect code
Copy
Ask AI
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();
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)
User
Group
TypeScript (User)
TypeScript (Group)
Report incorrect code
Copy
Ask AI
let UID = "UID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setLimit(limit) .hasLinks(true) .build();
Report incorrect code
Copy
Ask AI
let GUID = "GUID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setLimit(limit) .hasLinks(true) .build();
Report incorrect code
Copy
Ask AI
let UID: string = "UID", limit: number = 30, messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(UID) .setLimit(limit) .hasLinks(true) .build();
Report incorrect code
Copy
Ask AI
let GUID: string = "GUID", limit: number = 30, messagesRequest: CometChat.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)
User
Group
TypeScript (User)
TypeScript (Group)
Report incorrect code
Copy
Ask AI
let UID = "UID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setLimit(limit) .hasAttachments(true) .build();
Report incorrect code
Copy
Ask AI
let GUID = "GUID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setLimit(limit) .hasAttachments(true) .build();
Report incorrect code
Copy
Ask AI
let UID: string = "UID", limit: number = 30, messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(UID) .setLimit(limit) .hasAttachments(true) .build();
Report incorrect code
Copy
Ask AI
let GUID: string = "GUID", limit: number = 30, messagesRequest: CometChat.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)
User
Group
TypeScript (User)
TypeScript (Group)
Report incorrect code
Copy
Ask AI
let UID = "UID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setLimit(limit) .hasReactions(true) .build();
Report incorrect code
Copy
Ask AI
let GUID = "GUID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setLimit(limit) .hasReactions(true) .build();
Report incorrect code
Copy
Ask AI
let UID: string = "UID", limit: number = 30, messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(UID) .setLimit(limit) .hasReactions(true) .build();
Report incorrect code
Copy
Ask AI
let GUID: string = "GUID", limit: number = 30, messagesRequest: CometChat.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)
User
Group
TypeScript (User)
TypeScript (Group)
Report incorrect code
Copy
Ask AI
let UID = "UID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setLimit(limit) .hasMentions(true) .build();
Report incorrect code
Copy
Ask AI
let GUID = "GUID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setLimit(limit) .hasMentions(true) .build();
Report incorrect code
Copy
Ask AI
let UID: string = "UID", limit: number = 30, messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(UID) .setLimit(limit) .hasMentions(true) .build();
Report incorrect code
Copy
Ask AI
let GUID: string = "GUID", limit: number = 30, messagesRequest: CometChat.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)
User
Group
TypeScript (User)
TypeScript (Group)
Report incorrect code
Copy
Ask AI
let UID = "UID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setLimit(limit) .setMentionedUIDs(["UID"]) .build();
Report incorrect code
Copy
Ask AI
let GUID = "GUID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setLimit(limit) .setMentionedUIDs(["UID"]) .build();
Report incorrect code
Copy
Ask AI
let UID: string = "UID", limit: number = 30, messagesRequest: CometChat.MessagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(UID) .setLimit(limit) .setMentionedUIDs(["UID"]) .build();
Report incorrect code
Copy
Ask AI
let GUID: string = "GUID", limit: number = 30, messagesRequest: CometChat.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)
User
Group
TypeScript (User)
TypeScript (Group)
Report incorrect code
Copy
Ask AI
let UID = "UID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setUID(UID) .setLimit(limit) .setAttachmentTypes([CometChat.AttachmentType.IMAGE, CometChat.AttachmentType.VIDEO]) .build();
Report incorrect code
Copy
Ask AI
let GUID = "GUID";let limit = 30;let messagesRequest = new CometChat.MessagesRequestBuilder() .setGUID(GUID) .setLimit(limit) .setAttachmentTypes([CometChat.AttachmentType.IMAGE, CometChat.AttachmentType.VIDEO]) .build();
Report incorrect code
Copy
Ask AI
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();
Report incorrect code
Copy
Ask AI
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();