Skip to content

Member

RoomMember

RoomMember(
    context: SkyWayContext,
    id: str,
    name: str | None,
    metadata: str | None,
    room_id: str,
    side: MemberSide,
    state: MemberState,
)

Bases: ABC

Room に所属するメンバーの基底クラス。

id instance-attribute

id = id

name instance-attribute

name = name

metadata instance-attribute

metadata = metadata

room_id instance-attribute

room_id = room_id

join している Room の ID。

side instance-attribute

side = side

state instance-attribute

state = state

LocalRoomMember

LocalRoomMember(
    context: SkyWayContext,
    id: str,
    name: str | None,
    metadata: str | None,
    room_id: str,
    state: MemberState,
)

Bases: RoomMember

このクライアントから Room に参加しているメンバー。

LocalRoomMember は Room に join すると作成される。 一つの Room インスタンスには一つの LocalRoomMember が join でき、 複数管理することはできない。

id instance-attribute

id = id

name instance-attribute

name = name

metadata instance-attribute

metadata = metadata

room_id instance-attribute

room_id = room_id

join している Room の ID。

side instance-attribute

side = side

state instance-attribute

state = state

publish async

publish(
    stream: Stream, options: PublicationOptions = PublicationOptions()
) -> Publication

LocalDataStreamをpublishする。既にpublish中のStreamは指定することはできない。

subscribe async

subscribe(publication: Publication) -> Subscription
subscribe(publication_id: str) -> Subscription
subscribe(target: str | Publication) -> Subscription

Publication または ID を指定して subscribe する。

leave async

leave() -> None

自身を Room から退出させる。

MemberSide

Bases: str, Enum

LOCAL class-attribute instance-attribute

LOCAL = 'local'

REMOTE class-attribute instance-attribute

REMOTE = 'remote'

MemberState

Bases: str, Enum

JOINED class-attribute instance-attribute

JOINED = 'joined'

LEFT class-attribute instance-attribute

LEFT = 'left'