ڈیولپرز پر واپس

< Flutter UIKit />

UTD Live Room Kit

ہوسٹ کیمرہ، گیسٹ ٹائلز اور اسٹیج مینجمنٹ کے ساتھ ویڈیو لائیو رومز۔

ورژن 1.4.0pub.dev پر
iOSAndroid
live_room_kit.dart
import 'package:utd_live_room_kit/utd_live_room_kit.dart';

UTDLiveRoom(
  appId: '<utd-app-id>',
  appKey: '<utd-app-key>', // publishable; no backend needed
  userId: 'user123',
  userName: 'Jane',
  roomId: 'room456',
  roomOwnerId: 'owner789',
  adminIds: const {'mod1', 'mod2'},
  config: const UTDLiveRoomConfig(maxGuestTiles: 3),
);

3

گیسٹ ٹائلز

4

کردار

Drop-in

مکمل UI

PiP

+ minimize

< utd_live_room_kit />

اہم خصوصیات

LiveKit اور UTD Stream Engine سے چلنے والے، انٹرایکٹو ویڈیو لائیو-رومز کے لیے ایک پروڈکشن-ریڈی Flutter پیکیج۔ فل-بلیڈ ہوسٹ کیمرہ کے ساتھ زیادہ سے زیادہ تین فلوٹنگ گیسٹ ٹائلز، سرور-مجاز کردار (ہوسٹ، گیسٹ، ایڈمن، سامعین)، کو-پبلشرز کو مدعو کرنے کے لیے ڈائنامک اسٹیج آپریشنز، ریئل-ٹائم چیٹ، آڈیو روٹنگ کے ساتھ میڈیا کنٹرولز اور minimize/PiP۔

ہوسٹ + گیسٹ ٹائلز کے ساتھ ڈراپ-اِن لائیو-روم UI

لامحدود لائیو-اسٹریم اسٹیج (کوئی سیٹ گرڈ نہیں)

اسٹیج فلو: بولنے کی درخواست، ہوسٹ دعوت، ہٹانا

سرور-مجاز کردار: ہوسٹ، گیسٹ، ایڈمن (ماڈریٹرز)، سامعین

ہوسٹ میڈیا کنٹرول: زبردستی mute/unmute، کیمرہ بند، اسٹیج سے ہٹانا

ڈی-ڈَپ کے ساتھ ریئل-ٹائم ڈیٹا-چینل چیٹ

درجہ بند ری کنکشن (لائٹ <15s، فل <60s، خروج >60s)

اختیاری Android OS PiP کے ساتھ فلوٹنگ اوورلے میں minimize

TrackProcessor کے ذریعے ویڈیو ایفیکٹس (Video Effects Kit کے ساتھ جُڑتا ہے)

بِنا بیک اینڈ کریڈینشلز: per-user bearer auth کے ساتھ appKey ٹوکن minting

< utd_live_room_kit />

شروع کریں

1

انسٹال کریں

Terminal
flutter pub add utd_live_room_kit
2

pub.dev پر دیکھیں

ہوسٹ کیمرہ، گیسٹ ٹائلز اور اسٹیج مینجمنٹ کے ساتھ ویڈیو لائیو رومز۔

< utd_live_room_kit />

API حوالہ

Main widget

The drop-in LiveKit live-streaming room widget.

UTDLiveRoomwidget
const UTDLiveRoom({required String appId, required String appKey, required String userId, required String userName, required String roomId, required String roomOwnerId, Set<String> adminIds, ..., UTDLiveRoomConfig config, void Function(UTDRoomController)? onControllerReady, ...})

A LiveKit-based video live room. The host's camera fills the screen as the background; up to maxGuestTiles invited guests appear as floating video tiles. Audience watch + chat and may request to go live.

پیرامیٹرز

  • appIdStringلازمی

    App ID for the UTD Stream Engine (X-App-Id).

  • appKeyStringلازمی

    Publishable app key (no backend). The kit mints tokens directly with X-App-Key; the server secret never ships.

  • userIdStringلازمی

    Local user's identity.

  • userNameStringلازمی

    Local user's display name.

  • roomIdStringلازمی

    Room / LiveKit room name to join.

  • roomOwnerIdStringلازمی

    Identity of the room owner (becomes host); everyone else joins as audience.

  • adminIdsSet<String>ڈیفالٹ = const {}

    Identities the owner will promote to admin (moderators) once present in the room.

  • adminIdsResolverFuture<Set<String>> Function()?ڈیفالٹ = null

    Async source for adminIds resolved after join; the owner self-promotes them via the role endpoint.

  • adminIdsNowSet<String> Function()?ڈیفالٹ = null

    Optional sync probe for the admin list at token time (no waiting).

  • configUTDLiveRoomConfigڈیفالٹ = const UTDLiveRoomConfig()

    Behaviour, theming, and section/tile override configuration.

  • onControllerReadyvoid Function(UTDRoomController)?ڈیفالٹ = null

    Called once the room controller is created (use it to drive the room imperatively).

  • onConnectionChangedvoid Function(bool)?ڈیفالٹ = null

    Called when the connection succeeds (true) or fails (false).

  • onConnectErrorvoid Function(Object, StackTrace)?ڈیفالٹ = null

    Called on connect failure; if null the kit shows its built-in connect-error view.

  • controllerUTDRoomController?ڈیفالٹ = null

    Reuse an existing already-connected controller, e.g. restoring from a minimized overlay.

Room controller

Imperative facade over the room: connection lifecycle, participants, roles, stage, moderation, and sub-controllers.

UTDRoomControllerconstructor
UTDRoomController()

Creates a room controller that wires up the seat/stage, media, chat, minimize, and PiP sub-controllers.

initApimethod
void initApi({String baseUrl, String engineBaseUrl, String? appId, String? appKey})

Initializes the engine REST clients (token host + in-room ops host). Must be called before connect to use the backend APIs.

پیرامیٹرز

  • baseUrlStringڈیفالٹ = UTDApiClient.defaultBaseUrl

    Token/auth host (POST /api/v1/token).

  • engineBaseUrlStringڈیفالٹ = UTDApiClient.defaultEngineBaseUrl

    In-room ops host (stage, roles, bans, participants).

  • appIdString?ڈیفالٹ = null

    App ID sent as the X-App-Id header.

  • appKeyString?ڈیفالٹ = null

    Publishable app key (no-backend mint credential, sent as X-App-Key).

connectmethodasync
Future<void> connect({required String url, required String token, int seatCount = 9, bool enableMicOnJoin = false, bool useSpeaker = true, Map<String, String> userAttributes = const {}, String? roomName, String? hostIdentity})

Connects to the LiveKit room, initializes seats/stage, starts chat + media listeners, and begins participant/speaking tracking.

پیرامیٹرز

  • urlStringلازمی

    LiveKit server URL from the token response.

  • tokenStringلازمی

    LiveKit access token from generateToken.

  • seatCountintڈیفالٹ = 9

    Tile-layout capacity (host slot + guest tiles); the engine stage is uncapped.

  • enableMicOnJoinboolڈیفالٹ = false

    Enable the local mic immediately after connecting.

  • useSpeakerboolڈیفالٹ = true

    Route audio to the speaker (preferring Bluetooth) on join.

  • userAttributesMap<String, String>ڈیفالٹ = const {}

    Participant attributes (avatar, name, VIP frame, etc.) published after connect.

  • roomNameString?ڈیفالٹ = null

    Room name used for in-room REST calls; falls back to the LiveKit room name.

  • hostIdentityString?ڈیفالٹ = null

    Owner identity, used to detect when the host leaves and end the live for others.

generateTokenmethodasync
Future<UTDTokenResponse> generateToken({required String identity, required String roomName, required String roomOwnerId, String type = 'live_stream', String? name, String role = 'audience', ..., Map<String, dynamic>? metadata})

Mints a LiveKit token via the engine and, in app-key mode, applies the returned per-user bearer to the in-room clients. Throws UTDBannedException on a 403 ban.

پیرامیٹرز

  • identityStringلازمی

    User identity to mint the token for.

  • roomNameStringلازمی

    Target room name.

  • roomOwnerIdStringلازمی

    Identity of the room owner.

  • typeStringڈیفالٹ = 'live_stream'

    Engine product type; live_stream is the unbounded seatless stage.

  • nameString?ڈیفالٹ = null

    Display name.

  • roleStringڈیفالٹ = 'audience'

    Requested role; the engine clamps non-owners to audience.

  • deviceIdString?ڈیفالٹ = null

    Stable per-install id for single-active-session enforcement; auto-resolved when omitted.

  • metadataMap<String, dynamic>?ڈیفالٹ = null

    Extra metadata to embed in the token.

leavemethodasync
Future<void> leave()

Leaves the room: a host broadcasts _live_ended first, then all listeners/timers are cancelled and LiveKit is disconnected.

disposemethod
void dispose()

Releases all controller resources (timers, subscriptions, notifiers, sub-controllers, and REST clients). Idempotent.

requestToSpeakmethodasync
Future<Map<String, dynamic>?> requestToSpeak()

Local audience member asks to go on stage (transient host-side signal). Returns a result map on success, null on failure.

inviteToSpeakmethodasync
Future<Map<String, dynamic>?> inviteToSpeak(String targetIdentity)

Host/admin invites a user onto the stage (grants publish immediately, no accept/decline). Returns null when guest tiles are full.

پیرامیٹرز

  • targetIdentityStringلازمی

    Identity of the user to invite on stage.

approveSpeakerRequestmethodasync
Future<Map<String, dynamic>?> approveSpeakerRequest(String identity)

Host/admin approves a pending stage request by adding the user to the stage. Returns null when guest tiles are full.

پیرامیٹرز

  • identityStringلازمی

    Identity of the requester to approve.

changeRolemethodasync
Future<UTDRoleChangeResult> changeRole({required String targetIdentity, required String role})

Owner-only: changes a participant's role via the engine. Throws on REST error (403/404/409/422) so callers can surface a message.

پیرامیٹرز

  • targetIdentityStringلازمی

    Identity of the participant whose role changes.

  • roleStringلازمی

    New role (e.g. 'admin', 'audience').

banUsermethodasync
Future<bool> banUser(String identity, {String? reason, int? durationSeconds, bool global = false})

Bans a user. Room-scoped by default; pass global true for a project-wide ban. Returns true on success.

پیرامیٹرز

  • identityStringلازمی

    Identity to ban.

  • reasonString?ڈیفالٹ = null

    Optional ban reason.

  • durationSecondsint?ڈیفالٹ = null

    Ban duration; null = permanent.

  • globalboolڈیفالٹ = false

    When true, bans across the whole project rather than this room.

kickParticipantmethodasync
Future<bool> kickParticipant(String targetIdentity)

Host/admin: removes a user from the broadcast entirely (engine-side disconnect). Returns true on success.

پیرامیٹرز

  • targetIdentityStringلازمی

    Identity to remove from the room.

setRemoteMicEnabledmethodasync
Future<bool> setRemoteMicEnabled(String targetIdentity, bool enabled)

Host/admin: server-side force-mute or unmute another participant's microphone. Returns true on success.

پیرامیٹرز

  • targetIdentityStringلازمی

    Identity whose mic is controlled.

  • enabledboolلازمی

    True to enable, false to mute.

sendChatMessagemethodasync
Future<void> sendChatMessage(String text)

Sends a chat message to the room (delegates to the chat controller).

پیرامیٹرز

  • textStringلازمی

    Message body to send.

participantsStreamgetterasync
Stream<List<UTDParticipant>> get participantsStream

Stream of all room participants; emits on join/leave/attribute/metadata changes.

واپسی: Stream<List<UTDParticipant>>Live participant list.

roleChangeStreamgetterasync
Stream<UTDRoleChangeEvent> get roleChangeStream

Stream of role changes (_role_change) for all participants — owner promotions/demotions and engine auto-corrections.

واپسی: Stream<UTDRoleChangeEvent>Role-change events.

isConnectedgetter
bool get isConnected

Whether the room is currently in the connected state.

واپسی: boolTrue when connected.

isLocalHostgetter
bool get isLocalHost

Whether this device is the room owner (host).

واپسی: boolTrue if the local user is the host.

activeSpeakersproperty
final ValueNotifier<Set<String>> activeSpeakers

Set of user IDs currently speaking, driven by LiveKit active-speaker events plus a 300ms backstop poll.

واپسی: ValueNotifier<Set<String>>Speaking identities.

onBannedcallback
void Function(UTDBanNotice notice)? onBanned

Fired once when the local user is banned (data message, removal, or token 403). The widget wires this to show the banned dialog and leave.

واپسی: void Function(UTDBanNotice)?Ban callback.

Media controller

Mic, camera, speaker, and host preview/Go-Live control (UTDRoomController.mediaController).

startPreviewmethodasync
Future<LocalVideoTrack?> startPreview({CameraPosition position = CameraPosition.front})

Creates a local, unpublished camera preview for the host 'Go Live' screen (no remote sees it). Idempotent.

پیرامیٹرز

  • positionCameraPositionڈیفالٹ = CameraPosition.front

    Front/back camera to open the preview with.

goLivemethodasync
Future<void> goLive({bool withMic = true})

Host 'Go Live': publishes the camera (reusing the preview track for no flicker) and, by default, enables the mic.

پیرامیٹرز

  • withMicboolڈیفالٹ = true

    Also enable the microphone when going live.

setMicrophoneEnabledmethodasync
Future<void> setMicrophoneEnabled(bool enabled)

Sets the local microphone to a specific enabled state and updates isMicEnabled.

پیرامیٹرز

  • enabledboolلازمی

    True to enable, false to mute.

setCameraEnabledmethodasync
Future<void> setCameraEnabled(bool enabled)

Sets the local camera to a specific state (requests camera permission first) and updates isCameraEnabled.

پیرامیٹرز

  • enabledboolلازمی

    True to enable, false to disable.

switchCameramethodasync
Future<void> switchCamera()

Flips between front and back camera for the active (published or preview) camera track, re-attaching any video-effects processor.

setSpeakerOnmethodasync
Future<void> setSpeakerOn(bool on)

Turns the speaker on/off. Off truly silences the room (disables remote audio tracks), not just reroutes to the earpiece.

پیرامیٹرز

  • onboolلازمی

    True for loudspeaker, false to silence the room.

setVideoProcessormethodasync
Future<void> setVideoProcessor(TrackProcessor<VideoProcessorOptions>? processor)

Attaches (or detaches with null) a beauty/filter processor to the active local camera track at runtime, without re-capturing.

پیرامیٹرز

  • processorTrackProcessor<VideoProcessorOptions>?لازمی

    Effects processor to attach; null detaches.

isMicEnabledproperty
final ValueNotifier<bool> isMicEnabled

Reactive local microphone enabled state, kept in sync with server/host-initiated mutes.

واپسی: ValueNotifier<bool>Mic state.

canPublishproperty
final ValueNotifier<bool> canPublish

Whether the local participant may publish mic/camera; driven by LiveKit permission events. Gate publish UI on this.

واپسی: ValueNotifier<bool>Publish permission.

isPreviewingproperty
final ValueNotifier<bool> isPreviewing

Whether a local, unpublished camera preview (host 'Go Live' screen) is active.

واپسی: ValueNotifier<bool>Preview-active state.

Stage REST API

Direct REST client for the live_stream stage endpoints (UTDStageApi). The stage is the unbounded publisher set: host plus host-invited co-publishers.

getStagemethodasync
Future<Map<String, dynamic>> getStage({required String roomName})

Returns the current stage publishers as { members: [{ identity, name, role }] }. GET /api/v1/rooms/:name/stage.

پیرامیٹرز

  • roomNameStringلازمی

    Room name.

addToStagemethodasync
Future<Map<String, dynamic>> addToStage({required String roomName, required String targetIdentity, required String actorIdentity})

Host/admin invites a user onto the stage (grants A/V publish). POST /api/v1/rooms/:name/stage/add.

پیرامیٹرز

  • roomNameStringلازمی

    Room name.

  • targetIdentityStringلازمی

    User being added to the stage.

  • actorIdentityStringلازمی

    Host/admin performing the action (dual-mode fallback).

removeFromStagemethodasync
Future<Map<String, dynamic>> removeFromStage({required String roomName, required String targetIdentity, required String actorIdentity})

Host/admin removes a user from the stage (revokes publish). POST /api/v1/rooms/:name/stage/remove.

پیرامیٹرز

  • roomNameStringلازمی

    Room name.

  • targetIdentityStringلازمی

    User being removed from the stage.

  • actorIdentityStringلازمی

    Host/admin performing the action.

leaveStagemethodasync
Future<Map<String, dynamic>> leaveStage({required String roomName, required String identity})

A co-publisher steps down from the stage on their own. POST /api/v1/rooms/:name/stage/leave.

پیرامیٹرز

  • roomNameStringلازمی

    Room name.

  • identityStringلازمی

    The co-publisher leaving the stage.

requestStagemethodasync
Future<Map<String, dynamic>> requestStage({required String roomName, required String identity})

A viewer asks to go on stage; the engine notifies host/admins via a _stage_request message (no persisted queue). POST /api/v1/rooms/:name/stage/request.

پیرامیٹرز

  • roomNameStringلازمی

    Room name.

  • identityStringلازمی

    The requesting viewer's identity.

Chat controller

Room chat: send, receive, and retain messages (UTDRoomController.chatController).

sendMessagemethodasync
Future<void> sendMessage(String text, {Map<String, dynamic>? userData})

Sends a chat message (trims and skips empty text), appends it locally, and broadcasts it over the data channel.

پیرامیٹرز

  • textStringلازمی

    Message body.

  • userDataMap<String, dynamic>?ڈیفالٹ = null

    Optional sender metadata (e.g. avatar, VIP frame) attached to the message.

addDisplayMessagemethod
void addDisplayMessage(UTDChatMessage message)

Appends a message to the list for display only (e.g. local system notices), without sending it.

پیرامیٹرز

  • messageUTDChatMessageلازمی

    Message to append locally.

clearMessagesmethod
void clearMessages()

Clears the retained chat message list.

messagesproperty
final ValueNotifier<List<UTDChatMessage>> messages

Reactive list of retained chat messages (capped at the most recent 300).

واپسی: ValueNotifier<List<UTDChatMessage>>Chat history.

Configuration & theming

Room behaviour, layout overrides, video effects, and color tokens.

UTDLiveRoomConfigconstructor
const UTDLiveRoomConfig({bool showControlsBar = true, bool enableMinimize = true, bool autoHostCamera = false, bool frontCameraOnJoin = true, bool mirrorLocalVideo = true, int maxGuestTiles = 3, ..., UTDRoomTheme theme = const UTDRoomTheme(), UTDRoomStrings? strings, ...})

Configuration for UTDLiveRoom: shared room behaviour, live video behaviour, theming, section/tile builder overrides, video effects, and user attributes.

پیرامیٹرز

  • showControlsBarboolڈیفالٹ = true

    Render the built-in controls bar.

  • enableMinimizeboolڈیفالٹ = true

    Allow minimizing the room to an overlay.

  • useSpeakerWhenJoiningboolڈیفالٹ = true

    Route audio to the speaker on join.

  • showGoLiveButtonboolڈیفالٹ = true

    Show the built-in centered Go Live button during host preview.

  • autoHostCameraboolڈیفالٹ = false

    Host publishes the camera immediately on connect, skipping self-preview.

  • frontCameraOnJoinboolڈیفالٹ = true

    Start on the front camera.

  • mirrorLocalVideoboolڈیفالٹ = true

    Mirror the local camera tile (selfie view).

  • maxGuestTilesintڈیفالٹ = 3

    Max simultaneous guest tiles (host excluded); enforced server-side too.

  • hostFitVideoViewFitڈیفالٹ = VideoViewFit.cover

    How the host's full-bleed video is fitted.

  • guestFitVideoViewFitڈیفالٹ = VideoViewFit.cover

    How each floating guest tile's video is fitted.

  • themeUTDRoomThemeڈیفالٹ = const UTDRoomTheme()

    Color tokens for the built-in UI.

  • stringsUTDRoomStrings?ڈیفالٹ = null

    Localized strings; null = English defaults.

  • headerWidgetWidget?ڈیفالٹ = null

    Override for the room header section.

  • messagesWidgetWidget?ڈیفالٹ = null

    Override for the chat/messages area.

  • controlsBarWidgetWidget?ڈیفالٹ = null

    Override for the controls bar.

  • guestTileFooterBuilderWidget Function(BuildContext, String)?ڈیفالٹ = null

    Overlay at the bottom of each guest tile, receives the guest identity.

  • onStageTapvoid Function()?ڈیفالٹ = null

    Called when the empty host-video stage area is tapped (e.g. tap-hearts).

  • userInRoomAttributesMap<String, String>ڈیفالٹ = const {}

    Attributes shared with other participants.

  • buildVideoProcessorTrackProcessor<VideoProcessorOptions> Function()?ڈیفالٹ = null

    Factory building a fresh video-effects (beauty/filter) processor per camera capture.

UTDRoomThemeconstructor
const UTDRoomTheme({Color background, Color surface, Color onSurface, Color primary, Color danger, Color seatRingSpeaking, Color badgeHost, Color badgeAdmin, ...})

Color tokens for the package's built-in default UI. Every field has a dark-room default, so const UTDRoomTheme() is a complete, usable theme.

پیرامیٹرز

  • backgroundColorڈیفالٹ = Color(0xFF14121C)

    Full-screen room background.

  • surfaceColorڈیفالٹ = Color(0xFF1C1C28)

    Surface behind grouped content.

  • onSurfaceColorڈیفالٹ = Colors.white

    Primary foreground color for text/icons.

  • primaryColorڈیفالٹ = Color(0xFF6C5CE7)

    Accent / call-to-action color.

  • dangerColorڈیفالٹ = Color(0xFFE74C3C)

    Destructive color (leave, kick, ban, mute).

  • seatRingSpeakingColorڈیفالٹ = Color(0xFF2ECC71)

    Ring around a tile whose occupant is speaking.

  • badgeHostColorڈیفالٹ = Color(0xFFFFA726)

    Badge color for the host role.

  • badgeAdminColorڈیفالٹ = Color(0xFF448AFF)

    Badge color for the admin role.

copyWithmethod
UTDRoomTheme copyWith({Color? background, Color? surface, Color? primary, Color? danger, ...})

Returns a copy of the theme with the given tokens overridden — rebrand without replacing whole widgets.

Models & enums

Data types for participants, seats, roles, bans, chat, and exceptions.

UTDParticipantclass
const UTDParticipant({required String id, required String name, bool isMicEnabled = false, bool isSpeaking = false, Map<String, String> attributes = const {}})

A room participant: id, display name, mic/speaking state, and custom attributes (e.g. 'fr' frame, 'frt' frame type, 'cn' color name).

پیرامیٹرز

  • idStringلازمی

    Unique user ID.

  • nameStringلازمی

    Display name.

  • isMicEnabledboolڈیفالٹ = false

    Whether the participant's mic is on.

  • isSpeakingboolڈیفالٹ = false

    Whether the participant is currently speaking.

  • attributesMap<String, String>ڈیفالٹ = const {}

    Custom participant attributes.

UTDRoleenum
enum UTDRole { visitor, audience, guest, admin, host }

The known engine roles, lowest to highest privilege. The room owner is identified separately (owner_identity), not by these roles.

SeatStateclass
const SeatState({required int index, String? occupantUserId, Map<String, String> attributes = const {}})

One tile in the live room: index 0 = host, 1..N = guest tiles. On the wire this is a backend seat.

پیرامیٹرز

  • indexintلازمی

    Tile/seat index (0 = host).

  • occupantUserIdString?ڈیفالٹ = null

    User occupying the tile; null = empty.

  • attributesMap<String, String>ڈیفالٹ = const {}

    Occupant attributes (name, avatar, fr, frt).

UTDRoleChangeEventclass
const UTDRoleChangeEvent({required String identity, required String role, String? previousRole})

Realtime _role_change event broadcast to all participants. Server-sent, so identify the affected user from identity (the LiveKit sender is null).

پیرامیٹرز

  • identityStringلازمی

    Affected user's identity.

  • roleStringلازمی

    New role.

  • previousRoleString?ڈیفالٹ = null

    Role before the change.

UTDChatMessageclass
UTDChatMessage({required String senderUserId, required String senderName, required String text, required DateTime timestamp, Map<String, dynamic> userData = const {}, String? messageID})

A chat message. The text field is untrusted, peer-supplied input relayed verbatim — render as plain text only.

پیرامیٹرز

  • senderUserIdStringلازمی

    Sender's identity.

  • senderNameStringلازمی

    Sender's display name.

  • textStringلازمی

    Message body (untrusted plain text).

  • timestampDateTimeلازمی

    When the message was created.

  • userDataMap<String, dynamic>ڈیفالٹ = const {}

    Optional sender metadata.

  • messageIDString?ڈیفالٹ = auto

    Message id; defaults to a millisecond timestamp string.

UTDBanNoticeclass
const UTDBanNotice({String? roomName, String? reason, DateTime? expiresAt, UTDBanSource source = UTDBanSource.dataMessage})

A ban (or forced-exit) notice delivered to the local user, with named constructors for data-message, disconnect, token-403, and signed-in-elsewhere sources.

پیرامیٹرز

  • roomNameString?ڈیفالٹ = null

    Room the ban applies to; null = global.

  • reasonString?ڈیفالٹ = null

    Ban reason when known.

  • expiresAtDateTime?ڈیفالٹ = null

    Expiry; null = permanent.

  • sourceUTDBanSourceڈیفالٹ = UTDBanSource.dataMessage

    Where the notice originated.

UTDBannedExceptionclass
const UTDBannedException([String message = 'User is banned', int statusCode = 403])

Thrown by token generation when the server returns 403 User is banned.

پیرامیٹرز

  • messageStringڈیفالٹ = 'User is banned'

    Error message.

  • statusCodeintڈیفالٹ = 403

    HTTP status code.

UTD کے ساتھ تعمیر کے لیے تیار ہیں؟

اپنا اکاؤنٹ بنائیں، اپنے ماسٹر والٹ کو فنڈ کریں، اور جن سروسز کی ضرورت ہے انہیں آن کریں۔