This is the availability of the entity.
def get_presence() -> int: ... def set_presence(value: int) -> None: ...
presence = property(get_presence, set_presence)
When the class completes the initial log in, it will send information telling other entities subscribed to this entity's presence that it is online. The application must provide different status and availability information as the user changes them.
The presence property has one of four values representing general information about the user's status as defined in the Jabber protocol specification:
|pcOffline (0)||Invisible: JabberId is offline.|
|pcChat (1)||Available: JabberId is online.|
|pcAway (2)||Away: JabberId is online, but the user is away from their computer.|
|pcXA (3)||Extended Away: JabberId is online, but the user is away from their computer for an extended period of time.|
|pcDND (4)||Do not Disturb: JabberId is online, but is busy and does not wish to be disturbed.|
By default, the class sets the client presence to pcChat, meaning that the user is available. To change the initial status sent by the class set presence to the desired presence before calling connect.
Note: offline is not officially supported by the XMPP specification, however some XMPP server implementations may recognize the value. Setting the client's presence state to this value may cause the server to respond with an on_error.
The status property is a pure-text string representing the user's presence information. Its value maybe be any random string, including the empty string, "".
Whenever the value in presence or status are changed, the class will send that information to the server. If the application or user wishes to associate a specific status message with a new presence value, it should use the change_presence method. change_presence will update both the presence and status properties, and then send that information to the server.