BaseXMPP¶
-
class
sleekxmpp.basexmpp.BaseXMPP(jid='', default_ns='jabber:client', **kwargs)[source]¶ The BaseXMPP class adapts the generic XMLStream class for use with XMPP. It also provides a plugin mechanism to easily extend and add support for new XMPP features.
Parameters: default_ns – Ensure that the correct default XML namespace is used during initialization. -
api= None¶ The API registry is a way to process callbacks based on JID+node combinations. Each callback in the registry is marked with:
- An API name, e.g. xep_0030
- The name of an action, e.g. get_info
- The JID that will be affected
- The node that will be affected
API handlers with no JID or node will act as global handlers, while those with a JID and no node will service all nodes for a JID, and handlers with both a JID and node will be used only for that specific combination. The handler that provides the most specificity will be used.
Auto accept or deny subscription requests.
If
True, auto accept subscription requests. IfFalse, auto deny subscription requests. IfNone, don’t automatically respond.
-
auto_subscribe¶ Auto send requests for mutual subscriptions.
If
True, auto send mutual subscription requests.
-
boundjid= None¶ The JabberID (JID) used by this connection, as set after session binding. This may even be a different bare JID than what was requested.
-
client_roster= None¶ The single roster for the bound JID. This is the equivalent of:
self.roster[self.boundjid.bare]
-
exception(exception)[source]¶ Process any uncaught exceptions, notably
IqErrorandIqTimeoutexceptions.Parameters: exception – An unhandled Exceptionobject.
-
fulljid¶ Attribute accessor for full jid
-
is_component= None¶ The distinction between clients and components can be important, primarily for choosing how to handle the
'to'and'from'JIDs of stanzas.
-
jid¶ Attribute accessor for bare jid
-
makeIq(id=0, ifrom=None, ito=None, itype=None, iquery=None)¶ Create a new Iq stanza with a given Id and from JID.
Parameters:
-
makeIqError(id, type='cancel', condition='feature-not-implemented', text=None, ito=None, ifrom=None, iq=None)¶ Create an
Iqstanza of type'error'.Parameters: - id – An ideally unique ID value. May use
new_id(). - type – The type of the error, such as
'cancel'or'modify'. Defaults to'cancel'. - condition – The error condition. Defaults to
'feature-not-implemented'. - text – A message describing the cause of the error.
- ito – The destination
JIDfor this stanza. - ifrom – The
'from'JIDto use for this stanza. - iq – Optionally use an existing stanza instead of generating a new one.
- id – An ideally unique ID value. May use
-
makeIqGet(queryxmlns=None, ito=None, ifrom=None, iq=None)¶ Create an
Iqstanza of type'get'.Optionally, a query element may be added.
Parameters:
-
makeIqQuery(iq=None, xmlns='', ito=None, ifrom=None)¶ Create or modify an
Iqstanza to use the given query namespace.Parameters:
-
makeIqResult(id=None, ito=None, ifrom=None, iq=None)¶ Create an
Iqstanza of type'result'with the given ID value.Parameters:
-
makeIqSet(sub=None, ito=None, ifrom=None, iq=None)¶ Create an
Iqstanza of type'set'.Optionally, a substanza may be given to use as the stanza’s payload.
Parameters: - sub – Either an
ElementBasestanza object or anElementXML object to use as theIq’s payload. - ito – The destination
JIDfor this stanza. - ifrom – The
'from'JIDto use for this stanza. - iq – Optionally use an existing stanza instead of generating a new one.
- sub – Either an
-
makeMessage(mto, mbody=None, msubject=None, mtype=None, mhtml=None, mfrom=None, mnick=None)¶ Create and initialize a new
Messagestanza.Parameters: - mto – The recipient of the message.
- mbody – The main contents of the message.
- msubject – Optional subject for the message.
- mtype – The message’s type, such as
'chat'or'groupchat'. - mhtml – Optional HTML body content in the form of a string.
- mfrom – The sender of the message. if sending from a client, be aware that some servers require that the full JID of the sender be used.
- mnick – Optional nickname of the sender.
-
makePresence(pshow=None, pstatus=None, ppriority=None, pto=None, ptype=None, pfrom=None, pnick=None)¶ Create and initialize a new
Presencestanza.Parameters: - pshow – The presence’s show value.
- pstatus – The presence’s status message.
- ppriority – This connection’s priority.
- pto – The recipient of a directed presence.
- ptype – The type of presence, such as
'subscribe'. - pfrom – The sender of the presence.
- pnick – Optional nickname of the presence’s sender.
-
makeQueryRoster(iq=None)¶ Create a roster query element.
Parameters: iq – Optionally use an existing stanza instead of generating a new one.
-
make_iq(id=0, ifrom=None, ito=None, itype=None, iquery=None)[source]¶ Create a new Iq stanza with a given Id and from JID.
Parameters:
-
make_iq_error(id, type='cancel', condition='feature-not-implemented', text=None, ito=None, ifrom=None, iq=None)[source]¶ Create an
Iqstanza of type'error'.Parameters: - id – An ideally unique ID value. May use
new_id(). - type – The type of the error, such as
'cancel'or'modify'. Defaults to'cancel'. - condition – The error condition. Defaults to
'feature-not-implemented'. - text – A message describing the cause of the error.
- ito – The destination
JIDfor this stanza. - ifrom – The
'from'JIDto use for this stanza. - iq – Optionally use an existing stanza instead of generating a new one.
- id – An ideally unique ID value. May use
-
make_iq_get(queryxmlns=None, ito=None, ifrom=None, iq=None)[source]¶ Create an
Iqstanza of type'get'.Optionally, a query element may be added.
Parameters:
-
make_iq_query(iq=None, xmlns='', ito=None, ifrom=None)[source]¶ Create or modify an
Iqstanza to use the given query namespace.Parameters:
-
make_iq_result(id=None, ito=None, ifrom=None, iq=None)[source]¶ Create an
Iqstanza of type'result'with the given ID value.Parameters:
-
make_iq_set(sub=None, ito=None, ifrom=None, iq=None)[source]¶ Create an
Iqstanza of type'set'.Optionally, a substanza may be given to use as the stanza’s payload.
Parameters: - sub – Either an
ElementBasestanza object or anElementXML object to use as theIq’s payload. - ito – The destination
JIDfor this stanza. - ifrom – The
'from'JIDto use for this stanza. - iq – Optionally use an existing stanza instead of generating a new one.
- sub – Either an
-
make_message(mto, mbody=None, msubject=None, mtype=None, mhtml=None, mfrom=None, mnick=None)[source]¶ Create and initialize a new
Messagestanza.Parameters: - mto – The recipient of the message.
- mbody – The main contents of the message.
- msubject – Optional subject for the message.
- mtype – The message’s type, such as
'chat'or'groupchat'. - mhtml – Optional HTML body content in the form of a string.
- mfrom – The sender of the message. if sending from a client, be aware that some servers require that the full JID of the sender be used.
- mnick – Optional nickname of the sender.
-
make_presence(pshow=None, pstatus=None, ppriority=None, pto=None, ptype=None, pfrom=None, pnick=None)[source]¶ Create and initialize a new
Presencestanza.Parameters: - pshow – The presence’s show value.
- pstatus – The presence’s status message.
- ppriority – This connection’s priority.
- pto – The recipient of a directed presence.
- ptype – The type of presence, such as
'subscribe'. - pfrom – The sender of the presence.
- pnick – Optional nickname of the presence’s sender.
-
make_query_roster(iq=None)[source]¶ Create a roster query element.
Parameters: iq – Optionally use an existing stanza instead of generating a new one.
-
max_redirects= None¶ The maximum number of consecutive see-other-host redirections that will be followed before quitting.
-
plugin= None¶ A dictionary mapping plugin names to plugins.
-
plugin_config= None¶ Configuration options for whitelisted plugins. If a plugin is registered without any configuration, and there is an entry here, it will be used.
-
plugin_whitelist= None¶ A list of plugins that will be loaded if
register_plugins()is called.
-
process(*args, **kwargs)[source]¶ Initialize plugins and begin processing the XML stream.
The number of threads used for processing stream events is determined by
HANDLER_THREADS.Parameters: - block (bool) – If
False, then event dispatcher will run in a separate thread, allowing for the stream to be used in the background for another application. Otherwise,process(block=True)blocks the current thread. Defaults toFalse. - threaded (bool) – DEPRECATED
If
True, then event dispatcher will run in a separate thread, allowing for the stream to be used in the background for another application. Defaults toTrue. This does not mean that no threads are used at all ifthreaded=False.
Regardless of these threading options, these threads will always exist:
- The event queue processor
- The send queue processor
- The scheduler
- block (bool) – If
-
registerPlugin(plugin, pconfig=None, module=None)¶ Register and configure a plugin for use in this stream.
Parameters: - plugin – The name of the plugin class. Plugin names must be unique.
- pconfig – A dictionary of configuration data for the plugin. Defaults to an empty dictionary.
- module – Optional refence to the module containing the plugin class if using custom plugins.
-
register_plugin(plugin, pconfig=None, module=None)[source]¶ Register and configure a plugin for use in this stream.
Parameters: - plugin – The name of the plugin class. Plugin names must be unique.
- pconfig – A dictionary of configuration data for the plugin. Defaults to an empty dictionary.
- module – Optional refence to the module containing the plugin class if using custom plugins.
-
register_plugins()[source]¶ Register and initialize all built-in plugins.
Optionally, the list of plugins loaded may be limited to those contained in
plugin_whitelist.Plugin configurations stored in
plugin_configwill be used.
-
requested_jid= None¶ The JabberID (JID) requested for this connection.
-
resource¶ Attribute accessor for jid resource
-
roster= None¶ The main roster object. This roster supports multiple owner JIDs, as in the case for components. For clients which only have a single JID, see
client_roster.
-
sendMessage(mto, mbody, msubject=None, mtype=None, mhtml=None, mfrom=None, mnick=None)¶ Create, initialize, and send a new
Messagestanza.Parameters: - mto – The recipient of the message.
- mbody – The main contents of the message.
- msubject – Optional subject for the message.
- mtype – The message’s type, such as
'chat'or'groupchat'. - mhtml – Optional HTML body content in the form of a string.
- mfrom – The sender of the message. if sending from a client, be aware that some servers require that the full JID of the sender be used.
- mnick – Optional nickname of the sender.
-
sendPresence(pshow=None, pstatus=None, ppriority=None, pto=None, pfrom=None, ptype=None, pnick=None)¶ Create, initialize, and send a new
Presencestanza.Parameters: - pshow – The presence’s show value.
- pstatus – The presence’s status message.
- ppriority – This connection’s priority.
- pto – The recipient of a directed presence.
- ptype – The type of presence, such as
'subscribe'. - pfrom – The sender of the presence.
- pnick – Optional nickname of the presence’s sender.
-
sendPresenceSubscription(pto, pfrom=None, ptype='subscribe', pnick=None)¶ Create, initialize, and send a new
Presencestanza of type'subscribe'.Parameters: - pto – The recipient of a directed presence.
- pfrom – The sender of the presence.
- ptype – The type of presence, such as
'subscribe'. - pnick – Optional nickname of the presence’s sender.
-
send_message(mto, mbody, msubject=None, mtype=None, mhtml=None, mfrom=None, mnick=None)[source]¶ Create, initialize, and send a new
Messagestanza.Parameters: - mto – The recipient of the message.
- mbody – The main contents of the message.
- msubject – Optional subject for the message.
- mtype – The message’s type, such as
'chat'or'groupchat'. - mhtml – Optional HTML body content in the form of a string.
- mfrom – The sender of the message. if sending from a client, be aware that some servers require that the full JID of the sender be used.
- mnick – Optional nickname of the sender.
-
send_presence(pshow=None, pstatus=None, ppriority=None, pto=None, pfrom=None, ptype=None, pnick=None)[source]¶ Create, initialize, and send a new
Presencestanza.Parameters: - pshow – The presence’s show value.
- pstatus – The presence’s status message.
- ppriority – This connection’s priority.
- pto – The recipient of a directed presence.
- ptype – The type of presence, such as
'subscribe'. - pfrom – The sender of the presence.
- pnick – Optional nickname of the presence’s sender.
-
send_presence_subscription(pto, pfrom=None, ptype='subscribe', pnick=None)[source]¶ Create, initialize, and send a new
Presencestanza of type'subscribe'.Parameters: - pto – The recipient of a directed presence.
- pfrom – The sender of the presence.
- ptype – The type of presence, such as
'subscribe'. - pnick – Optional nickname of the presence’s sender.
-
sentpresence= None¶ Flag indicating that the initial presence broadcast has been sent. Until this happens, some servers may not behave as expected when sending stanzas.
-
server¶ Attribute accessor for jid host
-
stanza= None¶ A reference to
sleekxmpp.stanzato make accessing stanza classes easier.
-
start_stream_handler(xml)[source]¶ Save the stream ID once the streams have been established.
Parameters: xml – The incoming stream’s root element.
-
stream_id= None¶ An identifier for the stream as given by the server.
-
use_message_ids= None¶ Messages may optionally be tagged with ID values. Setting
use_message_idsto True will assign all outgoing messages an ID. Some plugin features require enabling this option.
-
use_presence_ids= None¶ Presence updates may optionally be tagged with ID values. Setting
use_message_idsto True will assign all outgoing messages an ID.
-
username¶ Attribute accessor for jid usernode
-