ADocumentation Index
Fetch the complete documentation index at: https://mintlify.com/matrix-org/matrix-js-sdk/llms.txt
Use this file to discover all available pages before exploring further.
RoomMember represents a single user’s participation in a Matrix room. Each room
maintains a RoomMember instance per user it knows about, accessible via
room.getMember(userId) or room.getMembers().
Constructor
Properties
The immutable user ID of this member, e.g.
@alice:matrix.org.The immutable room ID this member belongs to.
The human-readable display name for this member. If another member in the room
shares the same display name, this is disambiguated with a suffix of
" (@user_id:server)". Falls back to the user ID if no display name is set.The ambiguous display name with minimal preprocessing: direction-override characters
(RTO/LRO) are stripped, and empty or blank names fall back to the user ID. Unlike
name, this is not disambiguated across members.The current membership state of this member. One of the
KnownMembership values
(join, leave, invite, ban, knock) or a custom string.The power level of this member in the room. Defaults to
0. Typical values:| Level | Role |
|---|---|
100 | Room administrator |
50 | Room moderator |
0 | Regular user |
true if this member is currently typing in the room.The
User object for this member, if one exists. The User object tracks
global presence and profile data, while RoomMember tracks room-specific state.true if the member’s display name is currently being disambiguated because another
member in the room shares the same name.The underlying
m.room.member state event for this member, if available.Methods
setMembershipEvent(event, roomState?)
m.room.member event. May fire
RoomMemberEvent.Name and RoomMemberEvent.Membership.
isOutOfBand()
true if this member was loaded from an out-of-band source (e.g. a lazy
member load) rather than from the live sync stream.
KnownMembership Enum
Well-known membership state values defined by the Matrix spec:| Value | String | Description |
|---|---|---|
KnownMembership.Join | "join" | The user has joined the room and may participate. |
KnownMembership.Leave | "leave" | The user was once joined but has since left (or been kicked). |
KnownMembership.Invite | "invite" | The user has been invited but has not yet joined. |
KnownMembership.Ban | "ban" | The user has been banned and may not join until unbanned. |
KnownMembership.Knock | "knock" | The user has knocked on the room, requesting permission to join. |
Membership type is KnownMembership | string to allow for future spec additions.
RoomMemberEvent Enum
Events emitted byRoomMember instances (and re-emitted by MatrixClient):
| Value | String | Description |
|---|---|---|
RoomMemberEvent.Membership | "RoomMember.membership" | The member’s membership state changed. Handler: (event, member, oldMembership) |
RoomMemberEvent.Name | "RoomMember.name" | The member’s display name changed. Handler: (event, member, oldName) |
RoomMemberEvent.PowerLevel | "RoomMember.powerLevel" | The member’s power level changed. Handler: (event, member) |
RoomMemberEvent.Typing | "RoomMember.typing" | The member’s typing state changed. Handler: (event, member) |
Power Levels
Power levels control what actions a member can perform in a room. The room’sm.room.power_levels state event defines the thresholds. You can read the full
configuration from room.currentState: