Presence

If a protocol has the concept of presence, showing when users are online or available, then its Connection will provide the SimplePresence interface. This interface provides functions to set and get the user's current presence as well as the presence of other accounts (usually the accounts on the user's roster).

Setting the user's own presence is documented in Section 5.3 ― Presence.

Presence vs. SimplePresence

The Telepathy API specification also specifies another presence interface Presence. This interface was deemed too complex and has summarily been deprecated. Telepathy clients should not use Presence and instead use SimplePresence.

Many of the common requests that are made when a Telepathy client starts up (e.g. aliases, avatars, presence) can be batched together in a call to Contacts.GetContactAttributes.

See Section 7.1 ― Contacts for more information.

The presence for a list of contact handles can be retrieved with the GetPresences method call. This method call takes an array of handles of type Handle_Type_Contact and returns a map of those handles to Simple_Presence structs.

Presence updates can be tracked by connecting the PresencesChanged signal.