ConversationParticipant
Class that represents a participant of the conversation.
In order to apply changes made by setters, you have to call one of the following methods:
- IMessenger.createConversation(ConversationConfig, IMessengerCompletionHandler)
- IConversation.addParticipants(List, IMessengerCompletionHandler)
- IConversation.editParticipants(List, IMessengerCompletionHandler)
The default permissions for all participants are: write / edit / remove their own messages.
The creator of any conversation by default:
- is the owner (ConversationParticipant.isOwner() is true)
- can edit / remove other participants' messages
- can manage other participants
Constructors
ConversationParticipant
Creates a new participant with default permissions.
Use ConversationConfig.ConversationConfigBuilder.setParticipants(List) or IConversation.addParticipants(List, IMessengerCompletionHandler) to add participants to the conversation.
Parameters
imUserId:
long
IM user's ID. Can be retrieved from IUser.getIMId()
Methods
canEditAllMessages
canEditAllMessages(): boolean
Whether the conversation participant can edit messages other than its own.
Returns
type:
boolean
canEditMessages
canEditMessages(): boolean
Whether the conversation participant can edit its own messages.
Once a participant is created, the default value is true.
Returns
type:
boolean
canManageParticipants
canManageParticipants(): boolean
Whether the participant can manage other participants in the conversation:
- add / remove / edit permissions
- add / remove participants
If true and isOwner is true, the participant can manage other owners.
Returns
type:
boolean
canRemoveAllMessages
canRemoveAllMessages(): boolean
Whether the conversation participant can remove messages other than its own.
Returns
type:
boolean
canRemoveMessages
canRemoveMessages(): boolean
Whether the conversation participant can remove its own messages.
Once a participant is created, the default value is true.
Returns
type:
boolean
canWrite
canWrite(): boolean
Whether the conversation participant can send messages to the conversation.
Once a participant is created, the default value is true.
Returns
type:
boolean
getIMUserId
getIMUserId(): long
Gets the IM user's ID.
Returns
type:
long
getLastReadEventSequence
getLastReadEventSequence(): long
Gets the sequence of the event that has been last marked as read. Participants mark events as read via IConversation.markAsRead(long, IMessengerCompletionHandler).
The method returns the sequence of the last read event in a conversation or 0, if the participant has not marked events as read.
Returns
type:
long
isOwner
isOwner(): boolean
Whether the conversation participant is an owner.
There could be more than one owner in the conversation.
Whether the participant can edit the conversation. If true and canManageParticipants is true, the participant can manage other owners.
Returns
type:
boolean
setCanEditAllMessages
setCanEditAllMessages(canEditAllMessages: boolean
): Whether the participant can edit messages other than its own.
It could be set only if the user that calls this method has the ConversationParticipant.canManageParticipants() permission.
If the user that calls this method has both canManageParticipants and isOwner permissions, it can edit other owners.
Note that a method call does not apply changes by itself; there are appropriate methods for applying:
- IConversation.editParticipants(List, IMessengerCompletionHandler) for an existing conversation
- IMessenger.createConversation(ConversationConfig, IMessengerCompletionHandler) for a new conversation
Parameters
canEditAllMessages:
boolean
Returns
setCanEditMessages
setCanEditMessages(canEditMessages: boolean
): Whether the participant can edit its own messages in the conversation.
The permission is given by default.
It could be changed only if the user that calls this method has the ConversationParticipant.canManageParticipants() permission.
If the user that calls this method has both canManageParticipants and isOwner permissions, it can edit other owners.
Note that a method call does not apply changes by itself; there are appropriate methods for applying:
- IConversation.editParticipants(List, IMessengerCompletionHandler) for an existing conversation
- IMessenger.createConversation(ConversationConfig, IMessengerCompletionHandler) for a new conversation
Parameters
canEditMessages:
boolean
Returns
setCanManageParticipants
setCanManageParticipants(canManageParticipants: boolean
): Whether the conversation participant can manage other participants in the conversation:
- add, remove and edit permissions
- add and remove participants
It could be set only if the user that calls this method has the ConversationParticipant.canManageParticipants() permission.
If the user that calls this method has both canManageParticipants and isOwner permissions, it can edit other owners.
Note that a method call does not apply changes by itself; there are appropriate methods for applying:
- IConversation.editParticipants(List, IMessengerCompletionHandler) for an existing conversation
- IMessenger.createConversation(ConversationConfig, IMessengerCompletionHandler) for a new conversation
Parameters
canManageParticipants:
boolean
Returns
setCanRemoveAllMessages
setCanRemoveAllMessages(canRemoveAllMessages: boolean
): Whether the participant can remove messages other than its own.
It could be set only if the user that calls this method has the ConversationParticipant.canManageParticipants() permission.
If the user that calls this method has both canManageParticipants and isOwner permissions, it can edit other owners.
Note that a method call does not apply changes by itself; there are appropriate methods for applying:
- IConversation.editParticipants(List, IMessengerCompletionHandler) for an existing conversation
- IMessenger.createConversation(ConversationConfig, IMessengerCompletionHandler) for a new conversation
Parameters
canRemoveAllMessages:
boolean
Returns
setCanRemoveMessages
setCanRemoveMessages(canRemoveMessages: boolean
): Whether the participant can remove its own messages in the conversation.
The permission is given by default.
It could be changed only if the user that calls this method has the ConversationParticipant.canManageParticipants() permission.
If the user that calls this method has both canManageParticipants and isOwner permissions, it can edit other owners.
Note that a method call does not apply changes by itself; there are appropriate methods for applying:
- IConversation.editParticipants(List, IMessengerCompletionHandler) for an existing conversation
- IMessenger.createConversation(ConversationConfig, IMessengerCompletionHandler) for a new conversation
Parameters
canRemoveMessages:
boolean
Returns
setCanWrite
setCanWrite(canWrite: boolean
): Whether the participant can write in the conversation.
The permission is given by default.
It could be changed only if the user that calls this method has the ConversationParticipant.canManageParticipants() permission.
Note that a method call does not apply changes by itself; there are appropriate methods for applying:
- IConversation.editParticipants(List, IMessengerCompletionHandler) for an existing conversation
- IMessenger.createConversation(ConversationConfig, IMessengerCompletionHandler) for a new conversation
Parameters
canWrite:
boolean
Returns
setOwner
setOwner(isOwner: boolean
): Whether the conversation participant is the owner.
It could be set only if the user that calls this method has the ConversationParticipant.canManageParticipants() and ConversationParticipant.isOwner() permissions.
Note that a method call does not apply changes by itself; there are appropriate methods for applying:
- IConversation.editParticipants(List, IMessengerCompletionHandler) for an existing conversation
- IMessenger.createConversation(ConversationConfig, IMessengerCompletionHandler) for a new conversation
Parameters
isOwner:
boolean