Use this file to discover all available pages before exploring further.
Mentions let users refer to specific individuals in a conversation using the <@uid:UID> format. They’re especially useful in group chats for directing messages at particular participants.
To mention a user, embed <@uid:UID> in your message text. For example: "Hello <@uid:cometchat-uid-1>". The sendMessage() method returns a TextMessage object on success.
To User
To Group
Kotlin
Java
private val receiverID = "UID"private val messageText = "Hello <@uid:cometchat-uid-1>"private val receiverType = CometChatConstants.RECEIVER_TYPE_USERval textMessage = TextMessage(receiverID, messageText, receiverType)CometChat.sendMessage(textMessage, object : CallbackListener<TextMessage>() { override fun onSuccess(textMessage: TextMessage) { Log.d(TAG, "Message sent successfully: $textMessage") } override fun onError(e: CometChatException) { Log.d(TAG, "Message sending failed with exception: " + e.message) }})
private String receiverID = "UID";private String messageText = "Hello, <@uid:cometchat-uid-1>";private String receiverType = CometChatConstants.RECEIVER_TYPE_USER;TextMessage textMessage = new TextMessage(receiverID, messageText, receiverType);CometChat.sendMessage(textMessage, new CometChat.CallbackListener<TextMessage>() { @Override public void onSuccess(TextMessage textMessage) { Log.d(TAG, "Message sent successfully: " + textMessage.toString()); } @Override public void onError(CometChatException e) { Log.d(TAG, "Message sending failed with exception: " + e.getMessage()); }});
Kotlin
Java
private val receiverID = "GUID"private val messageText = "Hello <@uid:cometchat-uid-1>"private val receiverType = CometChatConstants.RECEIVER_TYPE_GROUPval textMessage = TextMessage(receiverID, messageText, receiverType)CometChat.sendMessage(textMessage, object : CallbackListener<TextMessage>() { override fun onSuccess(textMessage: TextMessage) { Log.d(TAG, "Message sent successfully: $textMessage") } override fun onError(e: CometChatException) { Log.d(TAG, "Message sending failed with exception: " + e.message) }})
private String receiverID = "GUID";private String messageText = "Hello <@uid:cometchat-uid-1>";private String receiverType = CometChatConstants.RECEIVER_TYPE_GROUP;TextMessage textMessage = new TextMessage(receiverID, messageText, receiverType);CometChat.sendMessage(textMessage, new CometChat.CallbackListener<TextMessage>() { @Override public void onSuccess(TextMessage textMessage) { Log.d(TAG, "Message sent successfully: " + textMessage.toString()); } @Override public void onError(CometChatException e) { Log.d(TAG, "Message sending failed with exception: " + e.getMessage()); }});
You can mention user in text message and media messages captions
By default, the SDK will fetch all the messages irrespective of the fact that the logged-in user is mentioned or not in the message. The SDK has other optional filters such as tag info and blocked info. For more filtering options, see Additional Message Filtering.
Setting
Description
mentionsWithTagInfo(boolean value)
If set to true, SDK will fetch a list of messages where users are mentioned & will also fetch the tags of the mentioned users. Default value = false.
mentionsWithBlockedInfo(boolean value)
If set to true, SDK will fetch a list of messages where users are mentioned & will also fetch their blocked relationship with the logged-in user. Default value = false.
To get a list of messages in a conversation where users are mentioned along with the blocked relationship of the mentioned users with the logged-in user.
To User
To Group
Kotlin
Java
val UID = "cometchat-uid-1"val messagesRequest = MessagesRequest.MessagesRequestBuilder() .setLimit(50) .setUID(UID) .mentionsWithBlockedInfo(true) .build()messagesRequest.fetchPrevious(object : CometChat.CallbackListener<List<BaseMessage>>() { override fun onSuccess(messages: List<BaseMessage>) { for (messageObj in messages) { for (user in messageObj.mentionedUsers) { Log.e(TAG, "isBlockedByMe: ${user.isBlockedByMe}") Log.e(TAG, "isHasBlockedMe: ${user.isHasBlockedMe}") } } } override fun onError(e: CometChatException) { Log.e(TAG, "onError: " + e) }})
String UID = "cometchat-uid-1";MessagesRequest messagesRequest = new MessagesRequest.MessagesRequestBuilder().setLimit(50).setUID(UID).mentionsWithBlockedInfo(true).build();messagesRequest.fetchPrevious(new CometChat.CallbackListener<List<BaseMessage>>() { @Override public void onSuccess(List<BaseMessage> messages) { for (BaseMessage messageObj: messages){ for (User user: messageObj.getMentionedUsers()){ Log.e(TAG, "isBlockedByMe: " + user.isBlockedByMe()); Log.e(TAG, "isHasBlockedMe: " + user.isHasBlockedMe()); } } } @Override public void onError(CometChatException e) { Log.e(TAG, "onError: " + e); }});
Kotlin
Java
val GUID = "cometchat-guid-1"val messagesRequest = MessagesRequest.MessagesRequestBuilder() .setLimit(50) .setGUID(GUID) .mentionsWithBlockedInfo(true) .build()messagesRequest.fetchPrevious(object : CometChat.CallbackListener<List<BaseMessage>>() { override fun onSuccess(messages: List<BaseMessage>) { for (messageObj in messages) { for (user in messageObj.mentionedUsers) { Log.e(TAG, "isBlockedByMe: ${user.isBlockedByMe}") Log.e(TAG, "isHasBlockedMe: ${user.isHasBlockedMe}") } } } override fun onError(e: CometChatException) { Log.e(TAG, "onError: " + e) }})
String GUID = "cometchat-guid-1";MessagesRequest messagesRequest = new MessagesRequest.MessagesRequestBuilder().setLimit(50).setGUID(GUID).mentionsWithBlockedInfo(true).build();messagesRequest.fetchPrevious(new CometChat.CallbackListener<List<BaseMessage>>() { @Override public void onSuccess(List<BaseMessage> messages) { for (BaseMessage messageObj: messages){ for (User user: messageObj.getMentionedUsers()){ Log.e(TAG, "isBlockedByMe: " + user.isBlockedByMe()); Log.e(TAG, "isHasBlockedMe: " + user.isHasBlockedMe()); } } } @Override public void onError(CometChatException e) { Log.e(TAG, "onError: " + e); }});
To check if the logged-in user has been mentioned in a particular message we can use the hasMentionedMe() method on any BaseMessage. This method will return a boolean value, true if the logged-in user has been mentioned, otherwise false.