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

RemoteRoomMember

RemoteRoomMember(
    context: SkyWayContext,
    id: str,
    name: str | None,
    metadata: str | None,
    room_id: str,
    state: MemberState = JOINED,
)

Bases: RoomMember

他のクライアントから 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は指定することはできない。

unpublish async

unpublish(publication: Publication) -> None
unpublish(publication_id: str) -> None
unpublish(target: str | Publication) -> None

Publication または ID を指定して unpublish する。自身が publish した Publication のみ指定できる。

subscribe async

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

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

leave async

leave() -> None

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

LocalMemberConfig dataclass

LocalMemberConfig(
    keepalive_interval_sec: int = 30, keepalive_interval_gap_sec: int = 30
)

LocalRoomMember の keepalive に関する設定。

keepalive_interval_sec class-attribute instance-attribute

keepalive_interval_sec: int = 30

MemberTTL を延長する updateMemberTtl を送信する周期(秒)。-1 を指定した場合は定期送信を無効化する。

keepalive_interval_gap_sec class-attribute instance-attribute

keepalive_interval_gap_sec: int = 30

updateMemberTtl で指定する TTL に加算する余裕時間(秒)。

__post_init__

__post_init__() -> None

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'

MemberType

Bases: str, Enum

PERSON class-attribute instance-attribute

PERSON = 'person'

BOT class-attribute instance-attribute

BOT = 'bot'