class slixmpp.clientxmpp.ClientXMPP(jid, password, plugin_config=None, plugin_whitelist=None, escape_quotes=True, sasl_mech=None, lang='en', **kwargs)[source]#

Slixmpp’s client class. (Use only for good, not for evil.)

Typical use pattern:

xmpp = ClientXMPP('user@server.tld/resource', 'password')
# ... Register plugins and event handlers ...
xmpp.process(block=False) # block=True will block the current
                          # thread. By default, block=False
  • jid (Union[str, JID]) – The JID of the XMPP user account.

  • password (str) – The password for the XMPP user account.

  • plugin_config – A dictionary of plugin configurations.

  • plugin_whitelist – A list of approved plugins that will be loaded when calling register_plugins().

  • escape_quotesDeprecated.

connect(address=None, use_ssl=False, force_starttls=True, disable_starttls=False)[source]#

Connect to the XMPP server.

When no address is given, a SRV lookup for the server will be attempted. If that fails, the server user in the JID will be used.

  • address (Optional[Tuple[str, int]]) – A tuple containing the server’s host and port.

  • force_starttls (bool) – Indicates that negotiation should be aborted if the server does not advertise support for STARTTLS. Defaults to True.

  • disable_starttls (bool) – Disables TLS for the connection. Defaults to False.

  • use_ssl (bool) – Indicates if the older SSL connection method should be used. Defaults to False.

Return type



Remove an item from the roster.

This is done by setting its subscription status to 'remove'.


jid – The JID of the item to remove.

get_roster(callback=None, timeout=None, timeout_callback=None)[source]#

Request the roster from the server.


callback – Reference to a stream handler function. Will be executed when the roster is received.

register_feature(name, handler, restart=False, order=5000)[source]#

Register a stream feature handler.

  • name (str) – The name of the stream feature.

  • handler (Callable) – The function to execute if the feature is received.

  • restart (bool) – Indicates if feature processing should halt with this feature. Defaults to False.

  • order (int) – The relative ordering in which the feature should be negotiated. Lower values will be attempted earlier when available.

Return type


update_roster(jid, **kwargs)[source]#

Add or change a roster item.

  • jid (JID) – The JID of the entry to modify.

  • name – The user’s nickname for this JID.

  • subscription – The subscription status. May be one of 'to', 'from', 'both', or 'none'. If set to 'remove', the entry will be deleted.

  • groups – The roster groups that contain this item.

  • timeout – The length of time (in seconds) to wait for a response before continuing if blocking is used. Defaults to response_timeout.

  • callback – Optional reference to a stream handler function. Will be executed when the roster is received. Implies block=False.

Return type