Diarkis Room では、ルームで発生するあらゆる変更のイベントをキャプチャしてコールバックを実行することが可能です。
既存のルームに以下のような変更があった場合に呼び出されるコールバックを指定することができます。- 新しいメンバーがルームに参加した
- メンバーが退室した
- プロパティが変更された
イベントの種別
コールバックには、どのルームで発生したイベントであるかを示すルームIDと、何が起こったかを理解するのに役立つイベントタイプが渡されます。
新しいメンバーがルームに参加した
room.MemberAdded - Event type to indicate that a new member has joined a room
ルームからメンバーが離脱した
room.MemberRemoved - Event type to indicate that a member has left a room
ルームのプロパティに更新があった
room.PropertyChanged - Event type to indicate that at least one property has been changed
コールバックの例 SetOnRoomChange
このコールバックは存在する全てのルームに対して発火するイベントコールバックです。
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
}))
コールバックの例 SetOnRoomChangeByID
このコールバックは、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
}))