User object
User represents a single user in a chat.
Properties
The User interface has the following properties:
1interface User {
2 val chat: Chat
3 val id: String
4 val name: String?
5 val externalId: String?
6 val profileUrl: String?
7 val email: String?
8 val custom: Map<String, Any?>?
9 val status: String?
10 val type: String?
11 val updated: String?
12 val lastActiveTimestamp: Long?
13 val active: Boolean
14}
| Parameter | Description |
|---|---|
chatType: Chat | Reference to the main Chat object. |
idType: String | Unique ID of the user. |
nameType: String | Display name or username of the user (must not be empty or consist only of whitespace characters). |
externalIdType: String | Identifier for the user from an external system, such as a third-party authentication provider or a user directory. |
profileUrlType: String | URL to the user's profile or avatar image. |
emailType: String | User's email address. |
customType: Map<String, Any?> | Any custom properties or metadata associated with the user in the form of a JSON. App Context filtering language doesn’t support filtering by custom properties. |
statusType: String | Current status of the user, like online, offline, or away. |
typeType: String | Type of the user, like admin, member, guest. |
updatedType: String | Timestamp (a number of milliseconds since January 1, 1970) for the last time the user information was updated or modified. |
lastActiveTimestampType: Long | Timestamp for the last time the user was active in a chat app. |
activeType: Boolean | Whether the user is currently active in the app. Based on lastActiveTimestamp and the configured storeUserActivityInterval. |
API limits
To learn about the maximum length of parameters used to set user metadata, refer to REST API docs.
Methods
The User object exposes the following methods.
Regular methods
delete()getChannelRestrictions()getChannelsRestrictions()getMembership()getMemberships()isMemberOf()isPresentOn()setRestrictions()update()wherePresent()
Event listeners
onDeleted()onInvited()onMentioned()onRestrictionChanged()onUpdated()(deprecated — use theactive()activeproperty instead)(deprecated)streamUpdates()streamUpdatesOn()
Use case
User methods enable:
- Creating and managing users
- Configuring channel memberships
- Mentioning others in conversations
- Checking user presence status
- Receiving real-time invite and mention notifications