deleteMemberMeta

View as Markdown

deleteMemberMeta

  • deleteMemberMeta(params): Promise<void>

Deletes the specified keys from the metadata for the specified member.

Parameters

params
objectRequired

Object containing the parameters of the method.

memberId
string

ID of the member to affect. If omitted, affects the default device in the local client.

keys
string[]Required

The keys to remove.

Returns

Promise<void>

Example

In this example, we set metadata for a member as soon as they join the room. After 5 seconds, we remove the metadata for that member. Once the member’s metadata is set or removed, we log the metadata for that member with the onMemberUpdated event. This example assumes that there is a RoomSession already active and that members are joining the room.

1import { SignalWire } from "@signalwire/realtime-api";
2
3// Initialize the SignalWire client
4const client = await SignalWire({ project: "ProjectID Here", token: "Token Here" })
5
6// Access the video client from the main client
7const videoClient = client.video;
8
9// Setup listener for when a room starts
10await videoClient.listen({
11 onRoomStarted: async (roomSession) => {
12 console.log("Room started", roomSession.displayName);
13 await roomSession.listen({
14 // Listen for when a member joins the room
15 onMemberJoined: async (member) => {
16 console.log("Member joined", member.name);
17
18 // set metadata for the member
19 console.log("Setting metadata for member", member.name);
20 await roomSession.setMemberMeta({
21 memberId: member.id,
22 meta: {
23 name: member.name,
24 foo: "red"
25 }
26 })
27
28 // remove metadata for the member in 5 seconds
29 setTimeout(async () => {
30 console.log("Removing metadata for member", member.name);
31 await roomSession.deleteMemberMeta({
32 memberId: member.id,
33 keys: ["foo"]
34 })
35 }, 5000)
36 },
37 onMemberUpdated: async (member) => {
38 // Listen for when a member updates their metadata
39 console.log("Member updated", member.name);
40 console.log(`Meta data for ${member.name}\n ${JSON.stringify( member.meta, null, 2)}`)
41 },
42 });
43 },
44 onRoomEnded: async (roomSession) => {
45 console.log("Room ended", roomSession.displayName);
46 }
47});