Skip to main content

Direct Messages Feed

The Direct Messages Feed is a vital component of many applications, providing users with a centralized hub to discover and engage with various users. In the context of the React Native SDK, the Direct Messages Feed serves as a customizable and dynamic feed that can be tailored to suit your application's needs.

This guide provide step-by-step instructions, code snippets, and best practices for integrating the Direct Messages Feed and fetching community chatrooms in your React Native app.

Let's dive into the world of Direct Messages Feed integration with the React Native SDK and unlock the potential for vibrant chatroom communities within your application.

Steps to fetch Direct Messages

  1. Create a SyncChatroomRequest object using SyncChatroomRequest.builder class by passing all the required parameters.
  2. Call syncChatroom() function using the instance of lmChatClient.
  3. Process the response LMResponse<SyncChatroomResponse> as per your requirement.

Fetch DM Feed

const syncChatroomRequest = SyncChatroomRequest.builder()
.setPage(1)
.setPageSize(50)
.setChatroomTypes([10])
.setMaxTimestamp(Date.now())
.setMinTimestamp(0)
.build();
const response = await lmChatClient?.syncChatroom(syncChatroomRequest);

if (response.success) {
// your function to process the response data
processResponse(response);
} else {
// your function to process error message
processError(response);
}

Sync Chatroom Request

VariableTypeDescriptionOptional
pagenumberPage number
pageSizenumberPage size for paginated response
chatroomTypesnumber[]Chatroom types 0 and 7 for for normcal chatrooms and announcement room
maxTimestampnumberMaximum timestamp
minTimestampnumberMinimum timestamp

Sync Chatroom Response

VariableTypeDescriptionOptional
userMetaMemberUser data
conversationMetaConversationConversation data
communityMetaCommunityCommunity data
chatroomsDataChatroom[]List of chatrooms
convAttachmentsMetaAttachment[]List of attachments
convPollsMetaPoll[]List of Polls

Steps to Check Direct Messages Status

Check DM Status

  1. To check Direct Messages status, use the method checkDMStatus() provided by the client you initialised.
  2. Pass in the required parameter requestFrom, to give the channel from where you are requesting.
  3. Process the response as per your requirement.
const payloadCheckDM: any = {
requestFrom: "dm_feed_v2",
};
const responseCheckDM = await lmChatClient?.checkDMStatus(payloadCheckDM);

if (responseCheckDM.success) {
// your function to process the response data
processResponse(responseCheckDM);
} else {
// your function to process error message
processError(responseCheckDM);
}

Check DM Status Payload

VariableTypeDescriptionOptional
requestFromstringchannel from which you are fetching DM. Either group_channel or dm_feed_v2

Check DM Status Response

VariableTypeDescriptionOptional
successbooleanAPI success status
error_messagestringError message in case of failure✔️
ctastringCustom route for the target screen
show_dmbooleanDirect Messages is ON or OFF from dashboard