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):
189@dataclass(eq=False, repr=False)
190class ServerMessageRoomCreated(betterproto.Message):
191    """Notification sent when a room is created"""
192
193    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):
196@dataclass(eq=False, repr=False)
197class ServerMessageRoomDeleted(betterproto.Message):
198    """Notification sent when a room is deleted"""
199
200    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):
105@dataclass(eq=False, repr=False)
106class ServerMessageRoomCrashed(betterproto.Message):
107    """Notification sent when a room crashes"""
108
109    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):
112@dataclass(eq=False, repr=False)
113class ServerMessagePeerAdded(betterproto.Message):
114    """Notification sent when a peer is added"""
115
116    room_id: str = betterproto.string_field(1)
117    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):
128@dataclass(eq=False, repr=False)
129class ServerMessagePeerConnected(betterproto.Message):
130    """Notification sent when a peer connects"""
131
132    room_id: str = betterproto.string_field(1)
133    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):
120@dataclass(eq=False, repr=False)
121class ServerMessagePeerDeleted(betterproto.Message):
122    """Notification sent when a peer is removed"""
123
124    room_id: str = betterproto.string_field(1)
125    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):
136@dataclass(eq=False, repr=False)
137class ServerMessagePeerDisconnected(betterproto.Message):
138    """Notification sent when a peer disconnects from FJ"""
139
140    room_id: str = betterproto.string_field(1)
141    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):
227@dataclass(eq=False, repr=False)
228class ServerMessagePeerMetadataUpdated(betterproto.Message):
229    """Notification sent when peer updates its metadata"""
230
231    room_id: str = betterproto.string_field(1)
232    peer_id: str = betterproto.string_field(2)
233    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):
144@dataclass(eq=False, repr=False)
145class ServerMessagePeerCrashed(betterproto.Message):
146    """Notification sent when a peer crashes"""
147
148    room_id: str = betterproto.string_field(1)
149    peer_id: str = betterproto.string_field(2)
150    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):
236@dataclass(eq=False, repr=False)
237class ServerMessageTrack(betterproto.Message):
238    """Describes a media track"""
239
240    id: str = betterproto.string_field(1)
241    type: "ServerMessageTrackType" = betterproto.enum_field(2)
242    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):
19class ServerMessageTrackType(betterproto.Enum):
20    """Defines types of tracks being published by peers and component"""
21
22    TRACK_TYPE_UNSPECIFIED = 0
23    TRACK_TYPE_VIDEO = 1
24    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):
245@dataclass(eq=False, repr=False)
246class ServerMessageTrackAdded(betterproto.Message):
247    """Notification sent when peer or component adds new track"""
248
249    room_id: str = betterproto.string_field(1)
250    peer_id: str = betterproto.string_field(2, group="endpoint_info")
251    component_id: str = betterproto.string_field(3, group="endpoint_info")
252    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):
265@dataclass(eq=False, repr=False)
266class ServerMessageTrackMetadataUpdated(betterproto.Message):
267    """Notification sent when metadata of a multimedia track is updated"""
268
269    room_id: str = betterproto.string_field(1)
270    peer_id: str = betterproto.string_field(2, group="endpoint_info")
271    component_id: str = betterproto.string_field(3, group="endpoint_info")
272    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):
255@dataclass(eq=False, repr=False)
256class ServerMessageTrackRemoved(betterproto.Message):
257    """Notification sent when a track is removed"""
258
259    room_id: str = betterproto.string_field(1)
260    peer_id: str = betterproto.string_field(2, group="endpoint_info")
261    component_id: str = betterproto.string_field(3, group="endpoint_info")
262    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