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
}))