100ms Logo

100ms

Docs

Search docs
/

Remove Peer

Someone's overstayed their welcome and now you need to remove a peer from the chat. Just call hmsSdk.removePeerRequest.

Permissions

Can't let just anyone remove others from the room. First you need to create a role with the permissions to end a room.

The permission to end a room is called removeOthers and you should check for that within the permissions property of HMSRole of the peer to see if they have it.

Removing a peer

Once the permissions are checked to ensure the caller has the permission to remove a peer, remove them by calling hmsSdk.removePeer.

The parameters are:

peer: The HMSRemotePeer that you'd like to be removed from the room.

reason: Optional message you want to pass along the peer being removed

completion handler: Let you know whether the remove operation executed successfully or not.

hmssdk.removePeer(targetPeer, reason: "You are violating the community rules.") { success, error in }

Handling the remove peer callback

The target peer of the removePeer will receive a callback in HMSUpdateListener of onRemovedFromRoom(notification : HMSRemovedFromRoom).

The HMSRemovedFromRoom object which is passed into the callback has the structure:

class HMSRemovedFromRoomNotification { public let requestedBy: HMSPeer public let reason: String public let roomEnded: Bool }

💡 This is the same callback that will be triggered if a room was ended as well. Except that roomEnded will be false.

reason: The string message detailing why the peer is being removed.

requestedBy: The details of the peer who called removePeer.

roomEnded: True if the entire room was ended. False if only the receiving peer was removed.

Clients should read this callback and show the appropriate UI.