Event Index#

Slixmpp relies on events and event handlers to act on received data from the server. Some of those events come from the very base of Slixmpp such as BaseXMPP or XMLStream, while most of them are emitted from plugins which add their own listeners.

There are often multiple events running for a single stanza, with different levels of granularity, so code must take care of not processing the same stanza twice.

attention#

Whenever a message containing an attention payload is received.

carbon_received#

When a carbon for a received message is received.

carbon_sent#

When a carbon for a sent message (from another of our resources) is received.

changed_status#

Triggered when a presence stanza is received from a JID with a show type different than the last presence stanza from the same JID.

changed_subscription#

Triggered whenever a presence stanza with a type of subscribe, subscribed, unsubscribe, or unsubscribed is received.

Note that if the values xmpp.auto_authorize and xmpp.auto_subscribe are set to True or False, and not None, then will either accept or reject all subscription requests before your event handlers are called. Set these values to None if you wish to make more complex subscription decisions.

chatstate_active#

When a message containing an <active/> chatstate is received.

chatstate_composing#

When a message containing a <composing/> chatstate is received.

chatstate_gone#

When a message containing a <gone/> chatstate is received.

chatstate_inactive#

When a message containing an <inactive/> chatstate is received.

chatstate_paused#

When a message containing a <paused/> chatstate is received.

command#

When an ad-hoc command is received.

command_[action]#
  • Data: Iq

  • Source: XEP_0050

  • Name parameters: action, the action referenced in the command payload.

When a command with the specific action is received.

connected#
  • Data: {}

  • Source: XMLstream

Signal that a connection has been made with the XMPP server, but a session has not yet been established.

connection_failed#
  • Data: {} or Failure Stanza if available

  • Source: XMLstream

Signal that a connection can not be established after number of attempts.

disco_info#

Triggered whenever a disco#info result stanza is received.

disco_items#

Triggered whenever a disco#items result stanza is received.

disconnected#
  • Data: str, the reason for the disconnect (if any)

  • Source: XMLstream

Signal that the connection with the XMPP server has been lost.

failed_auth#

Signal that the server has rejected the provided login credentials.

gmail_messages#
  • Data: Iq

  • Source: gmail_notify

Signal that there are unread emails for the Gmail account associated with the current XMPP account.

gmail_notify#
  • Data: {}

  • Source: gmail_notify

Signal that there are unread emails for the Gmail account associated with the current XMPP account.

got_offline#

Signal that an unavailable presence stanza has been received from a JID.

got_online#

If a presence stanza is received from a JID which was previously marked as offline, and the presence has a show type of ‘chat’, ‘dnd’, ‘away’, or ‘xa’, then this event is triggered as well.

groupchat_direct_invite#

When a Direct MUC invite is received.

groupchat_invite#

When a Mediated MUC invite is received.

groupchat_message#

Triggered whenever a message is received from a multi-user chat room.

groupchat_presence#

Triggered whenever a presence stanza is received from a user in a multi-user chat room.

groupchat_subject#

Triggered whenever the subject of a multi-user chat room is changed, or announced when joining a room.

ibb_stream_data#

When data is received on an opened stream.

ibb_stream_end#

When an opened stream closes.

ibb_stream_start#

When a stream is successfully opened with a remote peer.

jingle_message_accept#
jingle_message_proceed#
jingle_message_propose#
jingle_message_reject#
jingle_message_retract#
killed#

When the stream is aborted.

marker#

Whenever a chat marker is received (any of them).

marker_acknowledged#

Whenever an <acknowledged/> chat marker is received.

marker_displayed#

Whenever a <displayed/> chat marker is received.

marker_received#

Whenever a <received/> chat marker is received.

message#

Makes the contents of message stanzas available whenever one is received. Be sure to check the message type in order to handle error messages.

message_correction#

Whenever a message containing a correction is received.

message_error#

Makes the contents of message stanzas available whenever one is received. Only handler messages with an error type.

message_form#

Currently the same as message_xform.

message_xform#

Triggered whenever a data form is received inside a message.

muc::[room]::got_offline#
  • Data: Presence

  • Source: XEP_0045

  • Name parameters: room, the room this is coming from.

Triggered whenever we receive an unavailable presence from a MUC occupant.

muc::[room]::got_online#
  • Data: Presence

  • Source: XEP_0045

  • Name parameters: room, the room this is coming from.

Triggered whenever we receive a presence from a MUC occupant we do not have in the local cache.

muc::[room]::message#
  • Data: Message

  • Source: XEP_0045

  • Name parameters: room, the room this is coming from.

Triggered whenever we receive a message from a MUC we are in.

muc::[room]::presence#
  • Data: Presence

  • Source: XEP_0045

  • Name parameters: room, the room this is coming from.

muc::[room]::presence-error#
  • Data: Presence

  • Source: XEP_0045

  • Name parameters: room, the room this is coming from.

Triggered whenever we receive a presence of type="error" from a MUC.

muc::[room]::self-presence#
  • Data: Presence

  • Source: XEP_0045

  • Name parameters: room, the room this is coming from.

Triggered whenever we receive a presence with status code 110 (for example on MUC join, or nick change).

presence_available#

A presence stanza with a type of ‘available’ is received.

presence_error#

A presence stanza with a type of ‘error’ is received.

presence_form#

This event is present in the XEP-0004 plugin code, but is currently not used.

presence_probe#

A presence stanza with a type of ‘probe’ is received.

presence_subscribe#

A presence stanza with a type of ‘subscribe’ is received.

presence_subscribed#

A presence stanza with a type of ‘subscribed’ is received.

presence_unavailable#

A presence stanza with a type of ‘unavailable’ is received.

presence_unsubscribe#

A presence stanza with a type of ‘unsubscribe’ is received.

presence_unsubscribed#

A presence stanza with a type of ‘unsubscribed’ is received.

pubsub_config#

When a pubsub event of type config is received.

pubsub_delete#

When a pubsub event of type delete is received.

pubsub_publish#

When a pubsub event of type publish is received.

pubsub_purge#

When a pubsub event of type purge is received.

pubsub_retract#

When a pubsub event of type retract is received.

pubsub_subscription#

When a pubsub event of type subscription is received.

reactions#

When a message containing reactions is received.

receipt_received#

Whenever a message receipt is received.

room_activity#

When a room activity stanza is received by a client.

room_activity_bare#

When an empty room activity stanza is received (typically by a component).

roster_update#

An IQ result containing roster entries is received.

sent_presence#
  • Data: {}

  • Source: Roster

Signal that an initial presence stanza has been written to the XML stream.

session_end#
  • Data: {}

  • Source: XMLstream

Signal that a connection to the XMPP server has been lost and the current stream session has ended. Equivalent to disconnected, unless the XEP-0198: Stream Management plugin is loaded.

Plugins that maintain session-based state should clear themselves when this event is fired.

session_resumed#

When Stream Management manages to resume an ongoing session after reconnecting.

session_start#

Signal that a connection to the XMPP server has been made and a session has been established.

sm_disabled#

When Stream Management gets disabled (when disconnected).

sm_enabled#

When Stream Management is successfully enabled.

socket_error#
  • Data: Socket exception object

  • Source: XMLstream

stream:[stream id]:[peer jid]#
  • Data: IBBBytestream

  • Source: XEP_0047

  • Name parameters: stream id, the id of the stream, and peer jid the JID of the entity the stream is established with.

When a stream is opened (with specific sid and jid parameters).

stream_error#

Dedicated PubSub Events#

The XEP_0060 plugin (and XEP_0163 plugin, which uses the former) allows other plugins to map specific namespaces in PubSub notifications to a dedicated name prefix.

The current list of plugin prefixes is the following:

[plugin]_config#

When a pubsub event of type config is received.

[plugin]_delete#

When a pubsub event of type delete is received.

[plugin]_publish#

When a pubsub event of type publish is received.

[plugin]_purge#

When a pubsub event of type purge is received.

[plugin]_retract#

When a pubsub event of type retract is received.

[plugin]_subscription#

When a pubsub event of type subscription is received.