Skip to content

Room and Member Management

Room management affects online users. Query current state first, then validate joining, playback, chat, and permissions from a normal member account.

CategoryCommon commandsRisk
Lifecycleroom create, room delete, room ban, room transfer-ownerVisibility, ownership, and data retention
Membersroom member add/kick/set-permissionsAccess and administration capability
Settingsroom settings update/resetJoin rules, guests, chat, and defaults
Playbackroom playback play/pause/seek/start/stopAll online members see the change
Livestreamroom stream list, provider rtmp create-publish-keyPublish keys and live sessions
  1. Query room, members, and current settings.
  2. Decide whether the change is long-term responsibility or a single-member exception.
  3. Use room roles or defaults for long-term changes; use member overrides for exceptions.
  4. Do not delegate DELETE_ROOM as an ordinary room capability.
  5. Validate WebSocket sync, join flow, chat, and playback controls.
  6. Keep reasons for delete, ban, and ownership-transfer actions.
GoalActionNote
Temporarily muteRemove send_chat from the memberSmaller blast radius than disabling chat
Allow playback controlAdd play_controlMedia switching also needs change_current_media
Remove disruptive memberKick memberAfter a kick, the member enters a temporary rejoin cooldown
Change long-term responsibilityChange room role or defaultsAvoid long-lived piles of member overrides

Room concepts are in Rooms. Permission evaluation is in Permissions Model.