How To Use SetOnRoomChange And SetOnRoomChangeByID

Diarkis Room comes with an event listener of any change that happens with rooms.

You may assign a callback to be invoked when the following changes happen to existing rooms:

  • A new member joins a room
  • A member leaves a room
  • Room properties or property is changed

Event Types

The callback will have a room ID to tell you which you's event it is, and the event type to help you understand what happened.

New Member Joins A Room

room.MemberAdded - Event type to indicate that a new member has joined a room

A Member Leaves A Room

room.MemberRemoved - Event type to indicate that a member has left a room

Property Change

room.PropertyChanged - Event type to indicate that at least one property has been changed

Callback Example SetOnRoomChange

This callback is applied to all existing rooms.

room.SetOnRoomChange(func(roomID string, eventType int, memberIDs []string, properties map[string]interface{
// roomID - Room ID that of the event
// eventType - room.MemberAdded, room.MemberRemoved, room.PropertyChanged
// memberIDs - List of current room member user IDs
// properties - Room property map
}))

Callback Example SetOnRoomChangeByID

This callback is applied to a specific room with the given room ID.

room.SetOnRoomChangeByID(roomID, func(roomID string, eventType int, memberIDs []string, properties map[string]interface{
// roomID - Room ID that of the event
// eventType - room.MemberAdded, room.MemberRemoved, room.PropertyChanged
// memberIDs - List of current room member user IDs
// properties - Room property map
}))