Skip to content
Cloudflare Docs

RTKParticipants

This module represents all the participants in the meeting (except the local user). It consists of 4 maps:

  • joined: A map of all participants that have joined the meeting.
  • waitlisted: A map of all participants that have been added to the waitlist.
  • active: A map of active participants who should be displayed in the meeting grid.
  • pinned: A map of pinned participants.

module.exports ⏏

Kind: Exported class

new module.exports(context, self, roomSocketHandler)

This constructs a new Participant object and maintains the maps of active/joined/waitlisted/pinned/selectedPeers maps. self : Self

ParamType
contextContext
selfSelf
roomSocketHandlerRoomSocketHandler

module.exports.waitlisted

Returns a list of participants waiting to join the meeting.

Kind: instance property of module.exports

module.exports.joined

Returns a list of all participants in the meeting.

Kind: instance property of module.exports

module.exports.active

Deprecated

Kind: instance property of module.exports

module.exports.videoSubscribed

Returns a list of participants whose video streams are currently consumed.

Kind: instance property of module.exports

module.exports.audioSubscribed

Returns a list of participants whose audio streams are currently consumed.

Kind: instance property of module.exports

module.exports.pinned

Returns a list of participants who have been pinned.

Kind: instance property of module.exports

module.exports.all

Returns all added participants irrespective of whether they are currently in the meeting or not

Kind: instance property of module.exports

module.exports.pip

Return the controls for Picture-in-Picture

Kind: instance property of module.exports

module.exports.telemetry

Kind: instance property of module.exports

module.exports.viewMode

Indicates whether the meeting is in 'ACTIVE_GRID' mode or 'PAGINATED' mode.

In 'ACTIVE_GRID' mode, participants are populated in the participants.active map dynamically. The participants present in the map will keep changing when other participants unmute their audio or turn on their videos.

In 'PAGINATED' mode, participants are populated in the participants.active map just once, and the participants in the map will only change if the page number is changed by the user using setPage(page).

Kind: instance property of module.exports

module.exports.currentPage

This indicates the current page that has been set by the user in PAGINATED mode. If the meeting is in ACTIVE_GRID mode, this value will be 0.

Kind: instance property of module.exports

module.exports.lastActiveSpeaker

This stores the participantId of the last participant who spoke in the meeting.

Kind: instance property of module.exports

module.exports.selectedPeers

Keeps a list of all participants who have been present in the selected peers list.

Kind: instance property of module.exports

module.exports.count

Returns the number of participants who are joined in the meeting.

Kind: instance property of module.exports

module.exports.maxActiveRTKParticipantsCount

Returns the maximum number of participants that can be present in the active map.

Kind: instance property of module.exports

module.exports.pageCount

Returns the number of pages that are available in the meeting in PAGINATED mode. If the meeting is in ACTIVE_GRID mode, this value will be 0.

Kind: instance property of module.exports

module.exports.setMaxActiveRTKParticipantsCount(limit)

Updates the maximum number of participants that are populated in the active map.

Kind: instance method of module.exports

ParamTypeDescription
limitnumberUpdated max limit

module.exports.acceptWaitingRoomRequest(id)

Accepts requests from waitlisted participants if user has appropriate permissions.

Kind: instance method of module.exports

ParamTypeDescription
idstringpeerId or userId of the waitlisted participant.

module.exports.acceptAllWaitingRoomRequest(userIds)

We need a new event for socket service events since if we send them all together, sequence of events can be unreliable

Kind: instance method of module.exports

ParamType
userIdsArray.<string>

module.exports.rejectWaitingRoomRequest(id)

Rejects requests from waitlisted participants if user has appropriate permissions.

Kind: instance method of module.exports

ParamTypeDescription
idstringparticipantId of the waitlisted participant.

module.exports.setViewMode(viewMode)

Sets the view mode of the meeting to either ACTIVE_GRID or PAGINATED.

Kind: instance method of module.exports

ParamTypeDescription
viewModeViewModeThe mode in which the active map should be populated

module.exports.subscribe(peerIds, [kinds])

Kind: instance method of module.exports

ParamType
peerIdsArray.<string>
[kinds]Array.<('audio'|'video'|'screenshareAudio'|'screenshareVideo')>

module.exports.unsubscribe(peerIds, [kinds])

Kind: instance method of module.exports

ParamType
peerIdsArray.<string>
[kinds]Array.<('audio'|'video'|'screenshareAudio'|'screenshareVideo')>

module.exports.setPage(page)

Populates the active map with participants present in the page number indicated by the parameter page in PAGINATED mode. Does not do anything in ACTIVE_GRID mode.

Kind: instance method of module.exports

ParamTypeDescription
pagenumberThe page number to be set.

module.exports.disableAllAudio(allowUnmute)

Disables audio for all participants in the meeting.

Kind: instance method of module.exports

ParamTypeDescription
allowUnmutebooleanAllow participants to unmute after they are muted.

module.exports.disableAllVideo()

Disables video for all participants in the meeting.

Kind: instance method of module.exports

module.exports.disableAudio(participantId)

Deprecated

Kind: instance method of module.exports

ParamTypeDescription
participantIdstringID of participant to be muted.

module.exports.disableVideo(participantId)

Deprecated

Kind: instance method of module.exports

ParamTypeDescription
participantIdstringID of participant to be muted.

module.exports.kick(participantId)

Deprecated

Kind: instance method of module.exports

ParamTypeDescription
participantIdstringID of participant to be kicked.

module.exports.kickAll()

Kicks all participants from the meeting.

Kind: instance method of module.exports

module.exports.broadcastMessage(type, payload, target)

Broadcasts the message to participants

If no target is specified it is sent to all participants including self.

Kind: instance method of module.exports

ParamTypeDescription
typestring
payloadBroadcastMessagePayload
targetBroadcastMessageTargetobject containing a list of participantIds or object containing presetName - every user with that preset will be sent the message

module.exports.getAllJoinedPeers(searchQuery, limit, offset)

Returns all peers currently present in the room If you are in a group call, use meeting.participants.joined instead

Kind: instance method of module.exports

ParamType
searchQuerystring
limitnumber
offsetnumber

module.exports.getRTKParticipantsInMeetingPreJoin()

Returns all peers currently in the room, is a non paginated call and should only be used if you are in a non room joined state, if in a joined group call, use meeting.participants.joined

Kind: instance method of module.exports