Fishjam Python Server SDK

Server Notifications

Fishjam sends server side notifications whenever some important event occurs, e.g.:

  • a room has been created
  • a peer has connected
  • component has crashed
  • etc.

This is the list of all available notifications:

 1"""
 2.. include:: ../../docs/server_notifications.md
 3"""
 4
 5# Exported messages
 6from fishjam.events._protos.fishjam import (
 7    ServerMessagePeerAdded,
 8    ServerMessagePeerConnected,
 9    ServerMessagePeerCrashed,
10    ServerMessagePeerDeleted,
11    ServerMessagePeerDisconnected,
12    ServerMessagePeerMetadataUpdated,
13    ServerMessageRoomCrashed,
14    ServerMessageRoomCreated,
15    ServerMessageRoomDeleted,
16    ServerMessageTrack,
17    ServerMessageTrackAdded,
18    ServerMessageTrackMetadataUpdated,
19    ServerMessageTrackRemoved,
20    ServerMessageTrackType,
21)
22
23__all__ = [
24    "ServerMessageRoomCreated",
25    "ServerMessageRoomDeleted",
26    "ServerMessageRoomCrashed",
27    "ServerMessagePeerAdded",
28    "ServerMessagePeerConnected",
29    "ServerMessagePeerDeleted",
30    "ServerMessagePeerDisconnected",
31    "ServerMessagePeerMetadataUpdated",
32    "ServerMessagePeerCrashed",
33    "ServerMessageTrack",
34    "ServerMessageTrackType",
35    "ServerMessageTrackAdded",
36    "ServerMessageTrackMetadataUpdated",
37    "ServerMessageTrackRemoved",
38]
@dataclass(eq=False, repr=False)
class ServerMessageRoomCreated(betterproto.Message):
188@dataclass(eq=False, repr=False)
189class ServerMessageRoomCreated(betterproto.Message):
190    """Notification sent when a room is created"""
191
192    room_id: str = betterproto.string_field(1)

Notification sent when a room is created

ServerMessageRoomCreated(room_id: str = <object object>)
room_id: str = <object object>
Inherited Members
betterproto.Message
SerializeToString
parse
FromString
to_dict
from_dict
to_json
from_json
to_pydict
from_pydict
is_set
@dataclass(eq=False, repr=False)
class ServerMessageRoomDeleted(betterproto.Message):
195@dataclass(eq=False, repr=False)
196class ServerMessageRoomDeleted(betterproto.Message):
197    """Notification sent when a room is deleted"""
198
199    room_id: str = betterproto.string_field(1)

Notification sent when a room is deleted

ServerMessageRoomDeleted(room_id: str = <object object>)
room_id: str = <object object>
Inherited Members
betterproto.Message
SerializeToString
parse
FromString
to_dict
from_dict
to_json
from_json
to_pydict
from_pydict
is_set
@dataclass(eq=False, repr=False)
class ServerMessageRoomCrashed(betterproto.Message):
104@dataclass(eq=False, repr=False)
105class ServerMessageRoomCrashed(betterproto.Message):
106    """Notification sent when a room crashes"""
107
108    room_id: str = betterproto.string_field(1)

Notification sent when a room crashes

ServerMessageRoomCrashed(room_id: str = <object object>)
room_id: str = <object object>
Inherited Members
betterproto.Message
SerializeToString
parse
FromString
to_dict
from_dict
to_json
from_json
to_pydict
from_pydict
is_set
@dataclass(eq=False, repr=False)
class ServerMessagePeerAdded(betterproto.Message):
111@dataclass(eq=False, repr=False)
112class ServerMessagePeerAdded(betterproto.Message):
113    """Notification sent when a peer is added"""
114
115    room_id: str = betterproto.string_field(1)
116    peer_id: str = betterproto.string_field(2)

Notification sent when a peer is added

ServerMessagePeerAdded(room_id: str = <object object>, peer_id: str = <object object>)
room_id: str = <object object>
peer_id: str = <object object>
Inherited Members
betterproto.Message
SerializeToString
parse
FromString
to_dict
from_dict
to_json
from_json
to_pydict
from_pydict
is_set
@dataclass(eq=False, repr=False)
class ServerMessagePeerConnected(betterproto.Message):
127@dataclass(eq=False, repr=False)
128class ServerMessagePeerConnected(betterproto.Message):
129    """Notification sent when a peer connects"""
130
131    room_id: str = betterproto.string_field(1)
132    peer_id: str = betterproto.string_field(2)

Notification sent when a peer connects

ServerMessagePeerConnected(room_id: str = <object object>, peer_id: str = <object object>)
room_id: str = <object object>
peer_id: str = <object object>
Inherited Members
betterproto.Message
SerializeToString
parse
FromString
to_dict
from_dict
to_json
from_json
to_pydict
from_pydict
is_set
@dataclass(eq=False, repr=False)
class ServerMessagePeerDeleted(betterproto.Message):
119@dataclass(eq=False, repr=False)
120class ServerMessagePeerDeleted(betterproto.Message):
121    """Notification sent when a peer is removed"""
122
123    room_id: str = betterproto.string_field(1)
124    peer_id: str = betterproto.string_field(2)

Notification sent when a peer is removed

ServerMessagePeerDeleted(room_id: str = <object object>, peer_id: str = <object object>)
room_id: str = <object object>
peer_id: str = <object object>
Inherited Members
betterproto.Message
SerializeToString
parse
FromString
to_dict
from_dict
to_json
from_json
to_pydict
from_pydict
is_set
@dataclass(eq=False, repr=False)
class ServerMessagePeerDisconnected(betterproto.Message):
135@dataclass(eq=False, repr=False)
136class ServerMessagePeerDisconnected(betterproto.Message):
137    """Notification sent when a peer disconnects from FJ"""
138
139    room_id: str = betterproto.string_field(1)
140    peer_id: str = betterproto.string_field(2)

Notification sent when a peer disconnects from FJ

ServerMessagePeerDisconnected(room_id: str = <object object>, peer_id: str = <object object>)
room_id: str = <object object>
peer_id: str = <object object>
Inherited Members
betterproto.Message
SerializeToString
parse
FromString
to_dict
from_dict
to_json
from_json
to_pydict
from_pydict
is_set
@dataclass(eq=False, repr=False)
class ServerMessagePeerMetadataUpdated(betterproto.Message):
233@dataclass(eq=False, repr=False)
234class ServerMessagePeerMetadataUpdated(betterproto.Message):
235    """Notification sent when peer updates its metadata"""
236
237    room_id: str = betterproto.string_field(1)
238    peer_id: str = betterproto.string_field(2)
239    metadata: str = betterproto.string_field(3)

Notification sent when peer updates its metadata

ServerMessagePeerMetadataUpdated( room_id: str = <object object>, peer_id: str = <object object>, metadata: str = <object object>)
room_id: str = <object object>
peer_id: str = <object object>
metadata: str = <object object>
Inherited Members
betterproto.Message
SerializeToString
parse
FromString
to_dict
from_dict
to_json
from_json
to_pydict
from_pydict
is_set
@dataclass(eq=False, repr=False)
class ServerMessagePeerCrashed(betterproto.Message):
143@dataclass(eq=False, repr=False)
144class ServerMessagePeerCrashed(betterproto.Message):
145    """Notification sent when a peer crashes"""
146
147    room_id: str = betterproto.string_field(1)
148    peer_id: str = betterproto.string_field(2)
149    reason: str = betterproto.string_field(3)

Notification sent when a peer crashes

ServerMessagePeerCrashed( room_id: str = <object object>, peer_id: str = <object object>, reason: str = <object object>)
room_id: str = <object object>
peer_id: str = <object object>
reason: str = <object object>
Inherited Members
betterproto.Message
SerializeToString
parse
FromString
to_dict
from_dict
to_json
from_json
to_pydict
from_pydict
is_set
@dataclass(eq=False, repr=False)
class ServerMessageTrack(betterproto.Message):
242@dataclass(eq=False, repr=False)
243class ServerMessageTrack(betterproto.Message):
244    """Describes a media track"""
245
246    id: str = betterproto.string_field(1)
247    type: "ServerMessageTrackType" = betterproto.enum_field(2)
248    metadata: str = betterproto.string_field(3)

Describes a media track

ServerMessageTrack( id: str = <object object>, type: ServerMessageTrackType = <object object>, metadata: str = <object object>)
id: str = <object object>
type: ServerMessageTrackType = <object object>
metadata: str = <object object>
Inherited Members
betterproto.Message
SerializeToString
parse
FromString
to_dict
from_dict
to_json
from_json
to_pydict
from_pydict
is_set
class ServerMessageTrackType(betterproto.Enum):
20class ServerMessageTrackType(betterproto.Enum):
21    """Defines types of tracks being published by peers and component"""
22
23    TRACK_TYPE_UNSPECIFIED = 0
24    TRACK_TYPE_VIDEO = 1
25    TRACK_TYPE_AUDIO = 2

Defines types of tracks being published by peers and component

TRACK_TYPE_UNSPECIFIED = <ServerMessageTrackType.TRACK_TYPE_UNSPECIFIED: 0>
TRACK_TYPE_VIDEO = <ServerMessageTrackType.TRACK_TYPE_VIDEO: 1>
TRACK_TYPE_AUDIO = <ServerMessageTrackType.TRACK_TYPE_AUDIO: 2>
Inherited Members
betterproto.Enum
from_string
enum.Enum
name
value
builtins.int
conjugate
bit_length
bit_count
to_bytes
from_bytes
as_integer_ratio
is_integer
real
imag
numerator
denominator
@dataclass(eq=False, repr=False)
class ServerMessageTrackAdded(betterproto.Message):
251@dataclass(eq=False, repr=False)
252class ServerMessageTrackAdded(betterproto.Message):
253    """Notification sent when peer or component adds new track"""
254
255    room_id: str = betterproto.string_field(1)
256    peer_id: str = betterproto.string_field(2, group="endpoint_info")
257    component_id: str = betterproto.string_field(3, group="endpoint_info")
258    track: "ServerMessageTrack" = betterproto.message_field(4)

Notification sent when peer or component adds new track

ServerMessageTrackAdded( room_id: str = <object object>, peer_id: str = <object object>, component_id: str = <object object>, track: ServerMessageTrack = <object object>)
room_id: str = <object object>
peer_id: str = <object object>
component_id: str = <object object>
track: ServerMessageTrack = <object object>
Inherited Members
betterproto.Message
SerializeToString
parse
FromString
to_dict
from_dict
to_json
from_json
to_pydict
from_pydict
is_set
@dataclass(eq=False, repr=False)
class ServerMessageTrackMetadataUpdated(betterproto.Message):
271@dataclass(eq=False, repr=False)
272class ServerMessageTrackMetadataUpdated(betterproto.Message):
273    """Notification sent when metadata of a multimedia track is updated"""
274
275    room_id: str = betterproto.string_field(1)
276    peer_id: str = betterproto.string_field(2, group="endpoint_info")
277    component_id: str = betterproto.string_field(3, group="endpoint_info")
278    track: "ServerMessageTrack" = betterproto.message_field(4)

Notification sent when metadata of a multimedia track is updated

ServerMessageTrackMetadataUpdated( room_id: str = <object object>, peer_id: str = <object object>, component_id: str = <object object>, track: ServerMessageTrack = <object object>)
room_id: str = <object object>
peer_id: str = <object object>
component_id: str = <object object>
track: ServerMessageTrack = <object object>
Inherited Members
betterproto.Message
SerializeToString
parse
FromString
to_dict
from_dict
to_json
from_json
to_pydict
from_pydict
is_set
@dataclass(eq=False, repr=False)
class ServerMessageTrackRemoved(betterproto.Message):
261@dataclass(eq=False, repr=False)
262class ServerMessageTrackRemoved(betterproto.Message):
263    """Notification sent when a track is removed"""
264
265    room_id: str = betterproto.string_field(1)
266    peer_id: str = betterproto.string_field(2, group="endpoint_info")
267    component_id: str = betterproto.string_field(3, group="endpoint_info")
268    track: "ServerMessageTrack" = betterproto.message_field(4)

Notification sent when a track is removed

ServerMessageTrackRemoved( room_id: str = <object object>, peer_id: str = <object object>, component_id: str = <object object>, track: ServerMessageTrack = <object object>)
room_id: str = <object object>
peer_id: str = <object object>
component_id: str = <object object>
track: ServerMessageTrack = <object object>
Inherited Members
betterproto.Message
SerializeToString
parse
FromString
to_dict
from_dict
to_json
from_json
to_pydict
from_pydict
is_set