summaryrefslogtreecommitdiff
path: root/docs/getting_started
diff options
context:
space:
mode:
Diffstat (limited to 'docs/getting_started')
-rw-r--r--docs/getting_started/component.rst32
-rw-r--r--docs/getting_started/echobot.rst119
-rw-r--r--docs/getting_started/iq.rst62
-rw-r--r--docs/getting_started/muc.rst32
-rw-r--r--docs/getting_started/proxy.rst12
-rw-r--r--docs/getting_started/sendlogout.rst32
6 files changed, 114 insertions, 175 deletions
diff --git a/docs/getting_started/component.rst b/docs/getting_started/component.rst
index ce548ba4..34aeda26 100644
--- a/docs/getting_started/component.rst
+++ b/docs/getting_started/component.rst
@@ -5,24 +5,16 @@ Create and Run a Server Component
=================================
.. note::
-
- If you have any issues working through this quickstart guide
- or the other tutorials here, please either send a message to the
- `mailing list <http://groups.google.com/group/sleekxmpp-discussion>`_
- or join the chat room at `sleek@conference.jabber.org
- <xmpp:sleek@conference.jabber.org?join>`_.
-
-If you have not yet installed SleekXMPP, do so now by either checking out a version
-from `Github <http://github.com/fritzy/SleekXMPP>`_, or installing it using ``pip``
-or ``easy_install``.
-.. code-block:: sh
-
- pip install sleekxmpp # Or: easy_install sleekxmpp
+ If you have any issues working through this quickstart guide
+ join the chat room at `slixmpp@muc.poez.io
+ <xmpp:slixmpp@muc.poez.io?join>`_.
+If you have not yet installed Slixmpp, do so now by either checking out a version
+with `Git <http://git.poez.io/slixmpp>`_.
-Many XMPP applications eventually graduate to requiring to run as a server
-component in order to meet scalability requirements. To demonstrate how to
+Many XMPP applications eventually graduate to requiring to run as a server
+component in order to meet scalability requirements. To demonstrate how to
turn an XMPP client bot into a component, we'll turn the echobot example
(:ref:`echobot`) into a component version.
@@ -30,7 +22,7 @@ The first difference is that we will add an additional import statement:
.. code-block:: python
- from sleekxmpp.componentxmpp import ComponentXMPP
+ from slixmpp.componentxmpp import ComponentXMPP
Likewise, we will change the bot's class definition to match:
@@ -48,7 +40,7 @@ a MUC component, the following could be used:
.. code-block:: python
- muc = ComponentXMPP('muc.sleekxmpp.com', '******', 'sleekxmpp.com', 5555)
+ muc = ComponentXMPP('muc.slixmpp.com', '******', 'slixmpp.com', 5555)
.. note::
@@ -62,10 +54,10 @@ with presence.
The other, main difference with components is that the
``'from'`` value for every stanza must be explicitly set, since
components may send stanzas from multiple JIDs. To do so,
-the :meth:`~sleekxmpp.basexmpp.BaseXMPP.send_message()` and
-:meth:`~sleekxmpp.basexmpp.BaseXMPP.send_presence()` accept the parameters
+the :meth:`~slixmpp.basexmpp.BaseXMPP.send_message()` and
+:meth:`~slixmpp.basexmpp.BaseXMPP.send_presence()` accept the parameters
``mfrom`` and ``pfrom``, respectively. For any method that uses
-:class:`~sleekxmpp.stanza.iq.Iq` stanzas, ``ifrom`` may be used.
+:class:`~slixmpp.stanza.iq.Iq` stanzas, ``ifrom`` may be used.
Final Product
diff --git a/docs/getting_started/echobot.rst b/docs/getting_started/echobot.rst
index 7d29ec58..bb40a0b5 100644
--- a/docs/getting_started/echobot.rst
+++ b/docs/getting_started/echobot.rst
@@ -1,25 +1,17 @@
.. _echobot:
===============================
-SleekXMPP Quickstart - Echo Bot
+Slixmpp Quickstart - Echo Bot
===============================
.. note::
-
- If you have any issues working through this quickstart guide
- or the other tutorials here, please either send a message to the
- `mailing list <http://groups.google.com/group/sleekxmpp-discussion>`_
- or join the chat room at `sleek@conference.jabber.org
- <xmpp:sleek@conference.jabber.org?join>`_.
-
-If you have not yet installed SleekXMPP, do so now by either checking out a version
-from `Github <http://github.com/fritzy/SleekXMPP>`_, or installing it using ``pip``
-or ``easy_install``.
-
-.. code-block:: sh
- pip install sleekxmpp # Or: easy_install sleekxmpp
+ If you have any issues working through this quickstart guide
+ join the chat room at `slixmpp@muc.poez.io
+ <xmpp:slixmpp@muc.poez.io?join>`_.
+If you have not yet installed Slixmpp, do so now by either checking out a version
+with `Git <http://git.poez.io/slixmpp>`_.
As a basic starting project, we will create an echo bot which will reply to any
messages sent to it. We will also go through adding some basic command line configuration
@@ -44,11 +36,12 @@ To get started, here is a brief outline of the structure that the final project
# -*- coding: utf-8 -*-
import sys
+ import asyncio
import logging
import getpass
from optparse import OptionParser
- import sleekxmpp
+ import slixmpp
'''Here we will create out echo bot class'''
@@ -59,24 +52,6 @@ To get started, here is a brief outline of the structure that the final project
'''Finally, we connect the bot and start listening for messages'''
-Default Encoding
-----------------
-XMPP requires support for UTF-8 and so SleekXMPP must use UTF-8 as well. In
-Python3 this is simple because Unicode is the default string type. For Python2.6+
-the situation is not as easy because standard strings are simply byte arrays and
-use ASCII. We can get Python to use UTF-8 as the default encoding by including:
-
-.. code-block:: python
-
- if sys.version_info < (3, 0):
- from sleekxmpp.util.misc_ops import setdefaultencoding
- setdefaultencoding('utf8')
-
-.. warning::
-
- Until we are able to ensure that SleekXMPP will always use Unicode in Python2.6+, this
- may cause issues embedding SleekXMPP into other applications which assume ASCII encoding.
-
Creating the EchoBot Class
--------------------------
@@ -85,15 +60,15 @@ clients. Since our echo bot will only be responding to a few people, and won't n
to remember thousands of users, we will use a client connection. A client connection
is the same type that you use with your standard IM client such as Pidgin or Psi.
-SleekXMPP comes with a :class:`ClientXMPP <sleekxmpp.clientxmpp.ClientXMPP>` class
-which we can extend to add our message echoing feature. :class:`ClientXMPP <sleekxmpp.clientxmpp.ClientXMPP>`
+Slixmpp comes with a :class:`ClientXMPP <slixmpp.clientxmpp.ClientXMPP>` class
+which we can extend to add our message echoing feature. :class:`ClientXMPP <slixmpp.clientxmpp.ClientXMPP>`
requires the parameters ``jid`` and ``password``, so we will let our ``EchoBot`` class accept those
as well.
.. code-block:: python
- class EchoBot(sleekxmpp.ClientXMPP):
-
+ class EchoBot(slixmpp.ClientXMPP):
+
def __init__(self, jid, password):
super(EchoBot, self).__init__(jid, password)
@@ -102,7 +77,7 @@ Handling Session Start
The XMPP spec requires clients to broadcast its presence and retrieve its roster (buddy list) once
it connects and establishes a session with the XMPP server. Until these two tasks are completed,
some servers may not deliver or send messages or presence notifications to the client. So we now
-need to be sure that we retrieve our roster and send an initial presence once the session has
+need to be sure that we retrieve our roster and send an initial presence once the session has
started. To do that, we will register an event handler for the :term:`session_start` event.
.. code-block:: python
@@ -132,8 +107,8 @@ Our event handler, like every event handler, accepts a single parameter which ty
that was received that caused the event. In this case, ``event`` will just be an empty dictionary since
there is no associated data.
-Our first task of sending an initial presence is done using :meth:`send_presence <sleekxmpp.basexmpp.BaseXMPP.send_presence>`.
-Calling :meth:`send_presence <sleekxmpp.basexmpp.BaseXMPP.send_presence>` without any arguments will send the simplest
+Our first task of sending an initial presence is done using :meth:`send_presence <slixmpp.basexmpp.BaseXMPP.send_presence>`.
+Calling :meth:`send_presence <slixmpp.basexmpp.BaseXMPP.send_presence>` without any arguments will send the simplest
stanza allowed in XMPP:
.. code-block:: xml
@@ -141,17 +116,17 @@ stanza allowed in XMPP:
<presence />
-The second requirement is fulfilled using :meth:`get_roster <sleekxmpp.clientxmpp.ClientXMPP.get_roster>`, which
+The second requirement is fulfilled using :meth:`get_roster <slixmpp.clientxmpp.ClientXMPP.get_roster>`, which
will send an IQ stanza requesting the roster to the server and then wait for the response. You may be wondering
-what :meth:`get_roster <sleekxmpp.clientxmpp.ClientXMPP.get_roster>` returns since we are not saving any return
+what :meth:`get_roster <slixmpp.clientxmpp.ClientXMPP.get_roster>` returns since we are not saving any return
value. The roster data is saved by an internal handler to ``self.roster``, and in the case of a :class:`ClientXMPP
-<sleekxmpp.clientxmpp.ClientXMPP>` instance to ``self.client_roster``. (The difference between ``self.roster`` and
+<slixmpp.clientxmpp.ClientXMPP>` instance to ``self.client_roster``. (The difference between ``self.roster`` and
``self.client_roster`` is that ``self.roster`` supports storing roster information for multiple JIDs, which is useful
for components, whereas ``self.client_roster`` stores roster data for just the client's JID.)
It is possible for a timeout to occur while waiting for the server to respond, which can happen if the
network is excessively slow or the server is no longer responding. In that case, an :class:`IQTimeout
-<sleekxmpp.exceptions.IQTimeout>` is raised. Similarly, an :class:`IQError <sleekxmpp.exceptions.IQError>` exception can
+<slixmpp.exceptions.IQTimeout>` is raised. Similarly, an :class:`IQError <slixmpp.exceptions.IQError>` exception can
be raised if the request contained bad data or requested the roster for the wrong user. In either case, you can wrap the
``get_roster()`` call in a ``try``/``except`` block to retry the roster retrieval process.
@@ -198,10 +173,10 @@ or ``chat``. (Other potential types are ``error``, ``headline``, and ``groupchat
Let's take a closer look at the ``.reply()`` method used above. For message stanzas,
``.reply()`` accepts the parameter ``body`` (also as the first positional argument),
-which is then used as the value of the ``<body />`` element of the message.
+which is then used as the value of the ``<body />`` element of the message.
Setting the appropriate ``to`` JID is also handled by ``.reply()``.
-Another way to have sent the reply message would be to use :meth:`send_message <sleekxmpp.basexmpp.BaseXMPP.send_message>`,
+Another way to have sent the reply message would be to use :meth:`send_message <slixmpp.basexmpp.BaseXMPP.send_message>`,
which is a convenience method for generating and sending a message based on the values passed to it. If we were to use
this method, the above code would look as so:
@@ -229,20 +204,20 @@ Whichever method you choose to use, the results in action will look like this:
XMPP does not require stanzas sent by a client to include a ``from`` attribute, and
leaves that responsibility to the XMPP server. However, if a sent stanza does
include a ``from`` attribute, it must match the full JID of the client or some
- servers will reject it. SleekXMPP thus leaves out the ``from`` attribute when replying
+ servers will reject it. Slixmpp thus leaves out the ``from`` attribute when replying
using a client connection.
Command Line Arguments and Logging
----------------------------------
-While this isn't part of SleekXMPP itself, we do want our echo bot program to be able
+While this isn't part of Slixmpp itself, we do want our echo bot program to be able
to accept a JID and password from the command line instead of hard coding them. We will
use the ``optparse`` module for this, though there are several alternative methods, including
the newer ``argparse`` module.
We want to accept three parameters: the JID for the echo bot, its password, and a flag for
displaying the debugging logs. We also want these to be optional parameters, since passing
-a password directly through the command line can be a security risk.
+a password directly through the command line can be a security risk.
.. code-block:: python
@@ -303,21 +278,21 @@ the ``EchoBot.__init__`` method instead.
.. note::
- If you are using the OpenFire server, you will need to include an additional
+ If you are using the OpenFire server, you will need to include an additional
configuration step. OpenFire supports a different version of SSL than what
- most servers and SleekXMPP support.
+ most servers and Slixmpp support.
.. code-block:: python
-
+
import ssl
xmpp.ssl_version = ssl.PROTOCOL_SSLv3
Now we're ready to connect and begin echoing messages. If you have the package
-``dnspython`` installed, then the :meth:`sleekxmpp.clientxmpp.ClientXMPP` method
+``aiodns`` installed, then the :meth:`slixmpp.clientxmpp.ClientXMPP` method
will perform a DNS query to find the appropriate server to connect to for the
-given JID. If you do not have ``dnspython``, then SleekXMPP will attempt to
+given JID. If you do not have ``aiodns``, then Slixmpp will attempt to
connect to the hostname used by the JID, unless an address tuple is supplied
-to :meth:`sleekxmpp.clientxmpp.ClientXMPP`.
+to :meth:`slixmpp.clientxmpp.ClientXMPP`.
.. code-block:: python
@@ -330,35 +305,19 @@ to :meth:`sleekxmpp.clientxmpp.ClientXMPP`.
else:
print('Unable to connect')
-.. note::
-
- For Google Talk users withouth ``dnspython`` installed, the above code
- should look like:
-
- .. code-block:: python
-
- if __name__ == '__main__':
-
- # .. option parsing & echo bot configuration
-
- if xmpp.connect(('talk.google.com', 5222)):
- xmpp.process(block=True)
- else:
- print('Unable to connect')
-
-To begin responding to messages, you'll see we called :meth:`sleekxmpp.basexmpp.BaseXMPP.process`
+To begin responding to messages, you'll see we called :meth:`slixmpp.basexmpp.BaseXMPP.process`
which will start the event handling, send queue, and XML reader threads. It will also call
-the :meth:`sleekxmpp.plugins.base.base_plugin.post_init` method on all registered plugins. By
-passing ``block=True`` to :meth:`sleekxmpp.basexmpp.BaseXMPP.process` we are running the
-main processing loop in the main thread of execution. The :meth:`sleekxmpp.basexmpp.BaseXMPP.process`
-call will not return until after SleekXMPP disconnects. If you need to run the client in the background
+the :meth:`slixmpp.plugins.base.BasePlugin.post_init` method on all registered plugins. By
+passing ``block=True`` to :meth:`slixmpp.basexmpp.BaseXMPP.process` we are running the
+main processing loop in the main thread of execution. The :meth:`slixmpp.basexmpp.BaseXMPP.process`
+call will not return until after Slixmpp disconnects. If you need to run the client in the background
for another program, use ``block=False`` to spawn the processing loop in its own thread.
-.. note::
+.. note::
- Before 1.0, controlling the blocking behaviour of :meth:`sleekxmpp.basexmpp.BaseXMPP.process` was
+ Before 1.0, controlling the blocking behaviour of :meth:`slixmpp.basexmpp.BaseXMPP.process` was
done via the ``threaded`` argument. This arrangement was a source of confusion because some users
- interpreted that as controlling whether or not SleekXMPP used threads at all, instead of how
+ interpreted that as controlling whether or not Slixmpp used threads at all, instead of how
the processing loop itself was spawned.
The statements ``xmpp.process(threaded=False)`` and ``xmpp.process(block=True)`` are equivalent.
@@ -370,7 +329,7 @@ The Final Product
-----------------
Here then is what the final result should look like after working through the guide above. The code
-can also be found in the SleekXMPP `examples directory <http://github.com/fritzy/SleekXMPP/tree/master/examples>`_.
+can also be found in the Slixmpp `examples directory <http://github.com/fritzy/Slixmpp/tree/master/examples>`_.
.. compound::
diff --git a/docs/getting_started/iq.rst b/docs/getting_started/iq.rst
index 98e0bdaf..be15e170 100644
--- a/docs/getting_started/iq.rst
+++ b/docs/getting_started/iq.rst
@@ -1,17 +1,17 @@
Send/Receive IQ Stanzas
=======================
-Unlike :class:`~sleekxmpp.stanza.message.Message` and
-:class:`~sleekxmpp.stanza.presence.Presence` stanzas which only use
-text data for basic usage, :class:`~sleekxmpp.stanza.iq.Iq` stanzas
+Unlike :class:`~slixmpp.stanza.message.Message` and
+:class:`~slixmpp.stanza.presence.Presence` stanzas which only use
+text data for basic usage, :class:`~slixmpp.stanza.iq.Iq` stanzas
require using XML payloads, and generally entail creating a new
-SleekXMPP plugin to provide the necessary convenience methods to
+Slixmpp plugin to provide the necessary convenience methods to
make working with them easier.
Basic Use
---------
-XMPP's use of :class:`~sleekxmpp.stanza.iq.Iq` stanzas is built around
+XMPP's use of :class:`~slixmpp.stanza.iq.Iq` stanzas is built around
namespaced ``<query />`` elements. For clients, just sending the
empty ``<query />`` element will suffice for retrieving information. For
example, a very basic implementation of service discovery would just
@@ -26,18 +26,18 @@ need to be able to send:
Creating Iq Stanzas
~~~~~~~~~~~~~~~~~~~
-SleekXMPP provides built-in support for creating basic :class:`~sleekxmpp.stanza.iq.Iq`
+Slixmpp provides built-in support for creating basic :class:`~slixmpp.stanza.iq.Iq`
stanzas this way. The relevant methods are:
-* :meth:`~sleekxmpp.basexmpp.BaseXMPP.make_iq`
-* :meth:`~sleekxmpp.basexmpp.BaseXMPP.make_iq_get`
-* :meth:`~sleekxmpp.basexmpp.BaseXMPP.make_iq_set`
-* :meth:`~sleekxmpp.basexmpp.BaseXMPP.make_iq_result`
-* :meth:`~sleekxmpp.basexmpp.BaseXMPP.make_iq_error`
-* :meth:`~sleekxmpp.basexmpp.BaseXMPP.make_iq_query`
+* :meth:`~slixmpp.basexmpp.BaseXMPP.make_iq`
+* :meth:`~slixmpp.basexmpp.BaseXMPP.make_iq_get`
+* :meth:`~slixmpp.basexmpp.BaseXMPP.make_iq_set`
+* :meth:`~slixmpp.basexmpp.BaseXMPP.make_iq_result`
+* :meth:`~slixmpp.basexmpp.BaseXMPP.make_iq_error`
+* :meth:`~slixmpp.basexmpp.BaseXMPP.make_iq_query`
-These methods all follow the same pattern: create or modify an existing
-:class:`~sleekxmpp.stanza.iq.Iq` stanza, set the ``'type'`` value based
+These methods all follow the same pattern: create or modify an existing
+:class:`~slixmpp.stanza.iq.Iq` stanza, set the ``'type'`` value based
on the method name, and finally add a ``<query />`` element with the given
namespace. For example, to produce the query above, you would use:
@@ -50,14 +50,14 @@ namespace. For example, to produce the query above, you would use:
Sending Iq Stanzas
~~~~~~~~~~~~~~~~~~
-Once an :class:`~sleekxmpp.stanza.iq.Iq` stanza is created, sending it
-over the wire is done using its :meth:`~sleekxmpp.stanza.iq.Iq.send()`
+Once an :class:`~slixmpp.stanza.iq.Iq` stanza is created, sending it
+over the wire is done using its :meth:`~slixmpp.stanza.iq.Iq.send()`
method, like any other stanza object. However, there are a few extra
options to control how to wait for the query's response.
These options are:
-* ``block``: The default behaviour is that :meth:`~sleekxmpp.stanza.iq.Iq.send()`
+* ``block``: The default behaviour is that :meth:`~slixmpp.stanza.iq.Iq.send()`
will block until a response is received and the response stanza will be the
return value. Setting ``block`` to ``False`` will cause the call to return
immediately. In which case, you will need to arrange some way to capture
@@ -74,7 +74,7 @@ These options are:
To change the timeout for a single call, the ``timeout`` parameter works:
.. code-block:: python
-
+
iq.send(timeout=60)
* ``callback``: When not using a blocking call, using the ``callback``
@@ -85,16 +85,16 @@ These options are:
.. code-block:: python
- cb_name = iq.send(callback=self.a_callback)
+ cb_name = iq.send(callback=self.a_callback)
# ... later if we need to cancel
self.remove_handler(cb_name)
-Properly working with :class:`~sleekxmpp.stanza.iq.Iq` stanzas requires
+Properly working with :class:`~slixmpp.stanza.iq.Iq` stanzas requires
handling the intended, normal flow, error responses, and timed out
requests. To make this easier, two exceptions may be thrown by
-:meth:`~sleekxmpp.stanza.iq.Iq.send()`: :exc:`~sleekxmpp.exceptions.IqError`
-and :exc:`~sleekxmpp.exceptions.IqTimeout`. These exceptions only
+:meth:`~slixmpp.stanza.iq.Iq.send()`: :exc:`~slixmpp.exceptions.IqError`
+and :exc:`~slixmpp.exceptions.IqTimeout`. These exceptions only
apply to the default, blocking calls.
.. code-block:: python
@@ -110,7 +110,7 @@ apply to the default, blocking calls.
pass
If you do not care to distinguish between errors and timeouts, then you
-can combine both cases with a generic :exc:`~sleekxmpp.exceptions.XMPPError`
+can combine both cases with a generic :exc:`~slixmpp.exceptions.XMPPError`
exception:
.. code-block:: python
@@ -124,24 +124,24 @@ exception:
Advanced Use
------------
-Going beyond the basics provided by SleekXMPP requires building at least a
-rudimentary SleekXMPP plugin to create a :term:`stanza object` for
-interfacting with the :class:`~sleekxmpp.stanza.iq.Iq` payload.
+Going beyond the basics provided by Slixmpp requires building at least a
+rudimentary Slixmpp plugin to create a :term:`stanza object` for
+interfacting with the :class:`~slixmpp.stanza.iq.Iq` payload.
.. seealso::
* :ref:`create-plugin`
* :ref:`work-with-stanzas`
* :ref:`using-handlers-matchers`
-
-The typical way to respond to :class:`~sleekxmpp.stanza.iq.Iq` requests is
+
+The typical way to respond to :class:`~slixmpp.stanza.iq.Iq` requests is
to register stream handlers. As an example, suppose we create a stanza class
named ``CustomXEP`` which uses the XML element ``<query xmlns="custom-xep" />``,
-and has a :attr:`~sleekxmpp.xmlstream.stanzabase.ElementBase.plugin_attrib` value
+and has a :attr:`~slixmpp.xmlstream.stanzabase.ElementBase.plugin_attrib` value
of ``custom_xep``.
-There are two types of incoming :class:`~sleekxmpp.stanza.iq.Iq` requests:
+There are two types of incoming :class:`~slixmpp.stanza.iq.Iq` requests:
``get`` and ``set``. You can register a handler that will accept both and then
filter by type as needed, as so:
@@ -167,7 +167,7 @@ filter by type as needed, as so:
If you want to filter out query types beforehand, you can adjust the matching
filter by using ``@type=get`` or ``@type=set`` if you are using the recommended
-:class:`~sleekxmpp.xmlstream.matcher.stanzapath.StanzaPath` matcher.
+:class:`~slixmpp.xmlstream.matcher.stanzapath.StanzaPath` matcher.
.. code-block:: python
diff --git a/docs/getting_started/muc.rst b/docs/getting_started/muc.rst
index 26e1fa57..4dd1ff93 100644
--- a/docs/getting_started/muc.rst
+++ b/docs/getting_started/muc.rst
@@ -7,21 +7,13 @@ Mulit-User Chat (MUC) Bot
.. note::
If you have any issues working through this quickstart guide
- or the other tutorials here, please either send a message to the
- `mailing list <http://groups.google.com/group/sleekxmpp-discussion>`_
- or join the chat room at `sleek@conference.jabber.org
- <xmpp:sleek@conference.jabber.org?join>`_.
+ join the chat room at `slixmpp@muc.poez.io
+ <xmpp:slixmpp@muc.poez.io?join>`_.
-If you have not yet installed SleekXMPP, do so now by either checking out a version
-from `Github <http://github.com/fritzy/SleekXMPP>`_, or installing it using ``pip``
-or ``easy_install``.
+If you have not yet installed Slixmpp, do so now by either checking out a version
+from `Git <http://git.poez.io/slixmpp>`_.
-.. code-block:: sh
-
- pip install sleekxmpp # Or: easy_install sleekxmpp
-
-
-Now that you've got the basic gist of using SleekXMPP by following the
+Now that you've got the basic gist of using Slixmpp by following the
echobot example (:ref:`echobot`), we can use one of the bundled plugins
to create a very popular XMPP starter project: a `Multi-User Chat`_
(MUC) bot. Our bot will login to an XMPP server, join an MUC chat room
@@ -36,7 +28,7 @@ Joining The Room
As usual, our code will be based on the pattern explained in :ref:`echobot`.
To start, we create an ``MUCBot`` class based on
-:class:`ClientXMPP <sleekxmpp.clientxmpp.ClientXMPP>` and which accepts
+:class:`ClientXMPP <slixmpp.clientxmpp.ClientXMPP>` and which accepts
parameters for the JID of the MUC room to join, and the nick that the
bot will use inside the chat room. We also register an
:term:`event handler` for the :term:`session_start` event.
@@ -44,12 +36,12 @@ bot will use inside the chat room. We also register an
.. code-block:: python
- import sleekxmpp
+ import slixmpp
- class MUCBot(sleekxmpp.ClientXMPP):
+ class MUCBot(slixmpp.ClientXMPP):
def __init__(self, jid, password, room, nick):
- sleekxmpp.ClientXMPP.__init__(self, jid, password)
+ slixmpp.ClientXMPP.__init__(self, jid, password)
self.room = room
self.nick = nick
@@ -81,7 +73,7 @@ the roster. Next, we want to join the group chat, so we call the
.. note::
- The :attr:`plugin <sleekxmpp.basexmpp.BaseXMPP.plugin>` attribute is
+ The :attr:`plugin <slixmpp.basexmpp.BaseXMPP.plugin>` attribute is
dictionary that maps to instances of plugins that we have previously
registered, by their names.
@@ -115,7 +107,7 @@ event inside the bot's ``__init__`` function.
.. code-block:: python
def __init__(self, jid, password, room, nick):
- sleekxmpp.ClientXMPP.__init__(self, jid, password)
+ slixmpp.ClientXMPP.__init__(self, jid, password)
self.room = room
self.nick = nick
@@ -159,7 +151,7 @@ event so it's a good idea to register an event handler for it.
.. code-block:: python
def __init__(self, jid, password, room, nick):
- sleekxmpp.ClientXMPP.__init__(self, jid, password)
+ slixmpp.ClientXMPP.__init__(self, jid, password)
self.room = room
self.nick = nick
diff --git a/docs/getting_started/proxy.rst b/docs/getting_started/proxy.rst
index 60d521c5..22439d4e 100644
--- a/docs/getting_started/proxy.rst
+++ b/docs/getting_started/proxy.rst
@@ -5,19 +5,17 @@ Enable HTTP Proxy Support
=========================
.. note::
-
+
If you have any issues working through this quickstart guide
- or the other tutorials here, please either send a message to the
- `mailing list <http://groups.google.com/group/sleekxmpp-discussion>`_
- or join the chat room at `sleek@conference.jabber.org
- <xmpp:sleek@conference.jabber.org?join>`_.
+ join the chat room at `slixmpp@muc.poez.io
+ <xmpp:slixmpp@muc.poez.io?join>`_.
In some instances, you may wish to route XMPP traffic through
an HTTP proxy, probably to get around restrictive firewalls.
-SleekXMPP provides support for basic HTTP proxying with DIGEST
+Slixmpp provides support for basic HTTP proxying with DIGEST
authentication.
-Enabling proxy support is done in two steps. The first is to instruct SleekXMPP
+Enabling proxy support is done in two steps. The first is to instruct Slixmpp
to use a proxy, and the second is to configure the proxy details:
.. code-block:: python
diff --git a/docs/getting_started/sendlogout.rst b/docs/getting_started/sendlogout.rst
index a1352db9..d5882c42 100644
--- a/docs/getting_started/sendlogout.rst
+++ b/docs/getting_started/sendlogout.rst
@@ -2,29 +2,27 @@ Sign in, Send a Message, and Disconnect
=======================================
.. note::
-
+
If you have any issues working through this quickstart guide
- or the other tutorials here, please either send a message to the
- `mailing list <http://groups.google.com/group/sleekxmpp-discussion>`_
- or join the chat room at `sleek@conference.jabber.org
- <xmpp:sleek@conference.jabber.org?join>`_.
+ join the chat room at `slixmpp@muc.poez.io
+ <xmpp:slixmpp@muc.poez.io?join>`_.
-A common use case for SleekXMPP is to send one-off messages from
-time to time. For example, one use case could be sending out a notice when
+A common use case for Slixmpp is to send one-off messages from
+time to time. For example, one use case could be sending out a notice when
a shell script finishes a task.
We will create our one-shot bot based on the pattern explained in :ref:`echobot`. To
-start, we create a client class based on :class:`ClientXMPP <sleekxmpp.clientxmpp.ClientXMPP>` and
+start, we create a client class based on :class:`ClientXMPP <slixmpp.clientxmpp.ClientXMPP>` and
register a handler for the :term:`session_start` event. We will also accept parameters
for the JID that will receive our message, and the string content of the message.
.. code-block:: python
- import sleekxmpp
+ import slixmpp
+
+ class SendMsgBot(slixmpp.ClientXMPP):
- class SendMsgBot(sleekxmpp.ClientXMPP):
-
def __init__(self, jid, password, recipient, msg):
super(SendMsgBot, self).__init__(jid, password)
@@ -38,7 +36,7 @@ for the JID that will receive our message, and the string content of the message
self.get_roster()
Note that as in :ref:`echobot`, we need to include send an initial presence and request
-the roster. Next, we want to send our message, and to do that we will use :meth:`send_message <sleekxmpp.basexmpp.BaseXMPP.send_message>`.
+the roster. Next, we want to send our message, and to do that we will use :meth:`send_message <slixmpp.basexmpp.BaseXMPP.send_message>`.
.. code-block:: python
@@ -48,12 +46,12 @@ the roster. Next, we want to send our message, and to do that we will use :meth:
self.send_message(mto=self.recipient, mbody=self.msg)
-Finally, we need to disconnect the client using :meth:`disconnect <sleekxmpp.xmlstream.XMLStream.disconnect>`.
+Finally, we need to disconnect the client using :meth:`disconnect <slixmpp.xmlstream.XMLStream.disconnect>`.
Now, sent stanzas are placed in a queue to pass them to the send thread. If we were to call
-:meth:`disconnect <sleekxmpp.xmlstream.XMLStream.disconnect>` without any parameters, then it is possible
+:meth:`disconnect <slixmpp.xmlstream.XMLStream.disconnect>` without any parameters, then it is possible
for the client to disconnect before the send queue is processed and the message is actually
-sent on the wire. To ensure that our message is processed, we use
-:meth:`disconnect(wait=True) <sleekxmpp.xmlstream.XMLStream.disconnect>`.
+sent on the wire. To ensure that our message is processed, we use
+:meth:`disconnect(wait=True) <slixmpp.xmlstream.XMLStream.disconnect>`.
.. code-block:: python
@@ -68,7 +66,7 @@ sent on the wire. To ensure that our message is processed, we use
.. warning::
If you happen to be adding stanzas to the send queue faster than the send thread
- can process them, then :meth:`disconnect(wait=True) <sleekxmpp.xmlstream.XMLStream.disconnect>`
+ can process them, then :meth:`disconnect(wait=True) <slixmpp.xmlstream.XMLStream.disconnect>`
will block and not disconnect.
Final Product