inspect_jitsi.xmpp.participant module#

A single occupant of a Jitsi Meet room's MUC.

class inspect_jitsi.xmpp.participant.Participant(jid, nick, name=None, role=None, affiliation=None, real_jid=None, occupant_id=None)[source]#

Bases: object

One occupant of a room, parsed from their MUC presence stanza.

__annotations__ = {'affiliation': 'str | None', 'jid': 'str', 'name': 'str | None', 'nick': 'str', 'occupant_id': 'str | None', 'real_jid': 'str | None', 'role': 'str | None'}#
__dataclass_fields__ = {'affiliation': Field(name='affiliation',type='str | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'jid': Field(name='jid',type='str',default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'name': Field(name='name',type='str | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'nick': Field(name='nick',type='str',default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'occupant_id': Field(name='occupant_id',type='str | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'real_jid': Field(name='real_jid',type='str | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'role': Field(name='role',type='str | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}#
__dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=True,match_args=True,kw_only=False,slots=False,weakref_slot=False)#
__delattr__(name)#

Implement delattr(self, name).

__dict__ = mappingproxy({'__module__': 'inspect_jitsi.xmpp.participant', '__firstlineno__': 31, '__annotations__': {'jid': 'str', 'nick': 'str', 'name': 'str | None', 'role': 'str | None', 'affiliation': 'str | None', 'real_jid': 'str | None', 'occupant_id': 'str | None'}, '__doc__': 'One occupant of a room, parsed from their MUC presence stanza.', 'name': None, 'role': None, 'affiliation': None, 'real_jid': None, 'occupant_id': None, 'from_presence': <classmethod(<function Participant.from_presence>)>, 'to_dict': <function Participant.to_dict>, 'to_json': <function Participant.to_json>, '__static_attributes__': (), '__dict__': <attribute '__dict__' of 'Participant' objects>, '__weakref__': <attribute '__weakref__' of 'Participant' objects>, '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=True,match_args=True,kw_only=False,slots=False,weakref_slot=False), '__dataclass_fields__': {'jid': Field(name='jid',type='str',default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'nick': Field(name='nick',type='str',default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'name': Field(name='name',type='str | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'role': Field(name='role',type='str | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'affiliation': Field(name='affiliation',type='str | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'real_jid': Field(name='real_jid',type='str | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'occupant_id': Field(name='occupant_id',type='str | None',default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}, '__replace__': <function _replace>, '__hash__': <function Participant.__hash__>, '__init__': <function Participant.__init__>, '__repr__': <function Participant.__repr__>, '__eq__': <function Participant.__eq__>, '__setattr__': <function Participant.__setattr__>, '__delattr__': <function Participant.__delattr__>, '__match_args__': ('jid', 'nick', 'name', 'role', 'affiliation', 'real_jid', 'occupant_id')})#
__eq__(other)#

Return self==value.

__firstlineno__ = 31#
__hash__()#

Return hash(self).

__init__(jid, nick, name=None, role=None, affiliation=None, real_jid=None, occupant_id=None)#
__match_args__ = ('jid', 'nick', 'name', 'role', 'affiliation', 'real_jid', 'occupant_id')#
__module__ = 'inspect_jitsi.xmpp.participant'#
__replace__(**changes)#
__repr__()#

Return repr(self).

__setattr__(name, value)#

Implement setattr(self, name, value).

__static_attributes__ = ()#
__weakref__#

list of weak references to the object

affiliation: str | None = None#

MUC affiliation, e.g. "owner", "member", "none".

classmethod from_presence(presence)[source]#

Build a Participant from a MUC <presence/> stanza.

Return type:

Participant

jid: str#

The MUC occupant JID, e.g. "room@muc.example.com/<nick-resource>".

name: str | None = None#

Human display name, if the client sent one (XEP-0172 <nick/>).

nick: str#

The MUC nickname - the resourcepart of jid.

occupant_id: str | None = None#

Stable per-session anonymous id (XEP occupant-id), if disclosed.

Unlike jid/nick, this stays the same for one occupant across the conference even where the MUC nick is a random per-join identifier - useful for telling "still the same person" from "someone new".

real_jid: str | None = None#

The occupant's real (non-anonymous, but still internal) JID, if disclosed.

role: str | None = None#

MUC role, e.g. "moderator", "participant".

to_dict()[source]#

Return this participant as a plain, JSON-serializable dict.

Return type:

dict

to_json()[source]#

Return this participant as a JSON string.

Return type:

str