Room は、Room に変更があったときにイベントを発生させます。プロパティの変更、メンバーの変更(加入・離脱)、オーナーの変更などがこのイベントを発生させます。
コピー room. SetOnRoomChange ( func (roomID string , memberIDs [] string , props map [ string ] interface {}) {
logger. Debug ( "There has been a change in the room %s " , roomID)
})
Room には、オーナー(Room を作成したクライアント、または自動的に選出されたメンバー)がいます。オーナーが変更されたときに発生するイベントをキャプチャすることができます。
コピー room. SetOnRoomOwnerChange ( func (params interface {}) {
roomData := params.( map [ string ] string )
roomID := roomData[ "string" ]
roomOWnerUID := roomData[ "ownerID" ]
logger. Debug ( "The owner of the room %s has changed to %s " , roomID, roomOwnerUID)
})
コピー room. SetOnRoomPropertyUpdate ( func (params interface {}) {
roomData := params.( map [ string ] interface {})
roomID := roomData[ "roomID" ].( string )
properties := roomData.[ "properties" ].( interface {}).( map [ string ] interface {})
logger. Debug ( "Room %s has detect change in its properties %v " , roomID, properties)
})
コピー room. SetOnRoomDiscard ( func (roomID string ) {
logger. Debug ( "Room %s has been discarded" , roomID)
})