--- /srv/reproducible-results/rbuild-debian/r-b-build.oA2IKSlN/b1/slidge_0.2.2-1_i386.changes
+++ /srv/reproducible-results/rbuild-debian/r-b-build.oA2IKSlN/b2/slidge_0.2.2-1_i386.changes
├── Files
│ @@ -1,3 +1,3 @@
│
│ - a54fa64ffb0ae76a99bf8a9c94945066 2042952 python optional python-slidge-doc_0.2.2-1_all.deb
│ + 02ca8bbf7732955b0dae3b2f39378f23 2040420 python optional python-slidge-doc_0.2.2-1_all.deb
│ 4218e78f64cd10cf616c7245dff62182 130024 python optional python3-slidge_0.2.2-1_all.deb
├── python-slidge-doc_0.2.2-1_all.deb
│ ├── file list
│ │ @@ -1,3 +1,3 @@
│ │ -rw-r--r-- 0 0 0 4 2024-11-09 23:44:49.000000 debian-binary
│ │ --rw-r--r-- 0 0 0 4100 2024-11-09 23:44:49.000000 control.tar.xz
│ │ --rw-r--r-- 0 0 0 2038660 2024-11-09 23:44:49.000000 data.tar.xz
│ │ +-rw-r--r-- 0 0 0 4104 2024-11-09 23:44:49.000000 control.tar.xz
│ │ +-rw-r--r-- 0 0 0 2036124 2024-11-09 23:44:49.000000 data.tar.xz
│ ├── control.tar.xz
│ │ ├── control.tar
│ │ │ ├── ./control
│ │ │ │ @@ -1,13 +1,13 @@
│ │ │ │ Package: python-slidge-doc
│ │ │ │ Source: slidge
│ │ │ │ Version: 0.2.2-1
│ │ │ │ Architecture: all
│ │ │ │ Maintainer: Debian XMPP Maintainers
│ │ │ │ -Installed-Size: 4540
│ │ │ │ +Installed-Size: 4393
│ │ │ │ Depends: libjs-sphinxdoc (>= 7.4)
│ │ │ │ Section: python
│ │ │ │ Priority: optional
│ │ │ │ Multi-Arch: foreign
│ │ │ │ Homepage: https://slidge.im/
│ │ │ │ Description: XMPP puppeteer gateway library in Python (documentation)
│ │ │ │ Slidge makes writing gateways to other chat networks (legacy modules)
│ │ │ ├── ./md5sums
│ │ │ │ ├── ./md5sums
│ │ │ │ │┄ Files differ
│ ├── data.tar.xz
│ │ ├── data.tar
│ │ │ ├── file list
│ │ │ │ @@ -62,17 +62,17 @@
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 328 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/e91195719c2c_store_users_avatars_persistently/index.rst.txt
│ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/
│ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/command/
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 6513 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/command/index.rst.txt
│ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/command/register/
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 1502 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/command/register/index.rst.txt
│ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/contact/
│ │ │ │ --rw-r--r-- 0 root (0) root (0) 19367 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/contact/index.rst.txt
│ │ │ │ +-rw-r--r-- 0 root (0) root (0) 9564 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/contact/index.rst.txt
│ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/group/
│ │ │ │ --rw-r--r-- 0 root (0) root (0) 23123 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/group/index.rst.txt
│ │ │ │ +-rw-r--r-- 0 root (0) root (0) 13320 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/group/index.rst.txt
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 27204 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/index.rst.txt
│ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/main/
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 882 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/main/index.rst.txt
│ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/superduper/
│ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/superduper/gateway/
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 15819 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/superduper/gateway/index.rst.txt
│ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/superduper/group/
│ │ │ │ @@ -160,40 +160,40 @@
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 18612 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/e91195719c2c_store_users_avatars_persistently/index.html
│ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/
│ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/command/
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 64921 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/command/index.html
│ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/command/register/
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 28341 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/command/register/index.html
│ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/contact/
│ │ │ │ --rw-r--r-- 0 root (0) root (0) 104405 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/contact/index.html
│ │ │ │ +-rw-r--r-- 0 root (0) root (0) 51508 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/contact/index.html
│ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/group/
│ │ │ │ --rw-r--r-- 0 root (0) root (0) 132874 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/group/index.html
│ │ │ │ --rw-r--r-- 0 root (0) root (0) 154652 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/index.html
│ │ │ │ +-rw-r--r-- 0 root (0) root (0) 80058 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/group/index.html
│ │ │ │ +-rw-r--r-- 0 root (0) root (0) 154378 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/index.html
│ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/main/
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 22430 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/main/index.html
│ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/
│ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/gateway/
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 91815 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/gateway/index.html
│ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/group/
│ │ │ │ --rw-r--r-- 0 root (0) root (0) 128322 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/group/index.html
│ │ │ │ +-rw-r--r-- 0 root (0) root (0) 127861 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/group/index.html
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 20200 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/index.html
│ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/session/
│ │ │ │ --rw-r--r-- 0 root (0) root (0) 102168 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/session/index.html
│ │ │ │ +-rw-r--r-- 0 root (0) root (0) 101848 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/session/index.html
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 24640 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/contributing.html
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 27557 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/design.html
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 19020 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/howto.html
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 21548 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/index.html
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 35710 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/dev/tutorial.html
│ │ │ │ --rw-r--r-- 0 root (0) root (0) 87343 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/genindex.html
│ │ │ │ +-rw-r--r-- 0 root (0) root (0) 80575 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/genindex.html
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 23527 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/glossary.html
│ │ │ │ --rw-r--r-- 0 root (0) root (0) 110748 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/index.html
│ │ │ │ --rw-r--r-- 0 root (0) root (0) 5578 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/objects.inv
│ │ │ │ +-rw-r--r-- 0 root (0) root (0) 99682 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/index.html
│ │ │ │ +-rw-r--r-- 0 root (0) root (0) 5288 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/objects.inv
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 27013 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/py-modindex.html
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 17903 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/search.html
│ │ │ │ --rw-r--r-- 0 root (0) root (0) 106335 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/searchindex.js
│ │ │ │ +-rw-r--r-- 0 root (0) root (0) 98755 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/searchindex.js
│ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/user/
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 22996 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/user/commands.html
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 20840 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/user/contacts.html
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 23045 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/user/index.html
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 20170 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/user/low_profile.html
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 19043 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/user/note.html
│ │ │ │ -rw-r--r-- 0 root (0) root (0) 23236 2024-11-09 23:44:49.000000 ./usr/share/doc/python-slidge-doc/html/user/register.html
│ │ │ ├── ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/contact/index.rst.txt
│ │ │ │ @@ -220,284 +220,14 @@
│ │ │ │ It the legacy network doesn't like that you fetch too many profiles on startup,
│ │ │ │ it's also possible to fetch it here, which will be called when XMPP clients
│ │ │ │ of the user request the vcard, if it hasn't been fetched before
│ │ │ │ :return:
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ - .. py:property:: avatar_id
│ │ │ │ - :type: Optional[slidge.util.types.AvatarIdType]
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - The unique ID of this entity's avatar.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:property:: avatar
│ │ │ │ - :type: Optional[slidge.util.types.AvatarIdType]
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - This property can be used to set the avatar, but
│ │ │ │ - :py:meth:`~.AvatarMixin.set_avatar()` should be preferred because you can
│ │ │ │ - provide a unique ID for the avatar for efficient caching.
│ │ │ │ - Setting this is OKish in case the avatar type is a URL or a local path
│ │ │ │ - that can act as a legacy ID.
│ │ │ │ -
│ │ │ │ - Python's ``property`` is abused here to maintain backwards
│ │ │ │ - compatibility, but when getting it you actually get the avatar legacy
│ │ │ │ - ID.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: set_avatar(a, avatar_unique_id = None, delete = False, blocking=False, cancel=True)
│ │ │ │ - :async:
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - Set an avatar for this entity
│ │ │ │ -
│ │ │ │ - :param a: The avatar, in one of the types slidge supports
│ │ │ │ - :param avatar_unique_id: A globally unique ID for the avatar on the
│ │ │ │ - legacy network
│ │ │ │ - :param delete: If the avatar is provided as a Path, whether to delete
│ │ │ │ - it once used or not.
│ │ │ │ - :param blocking: Internal use by slidge for tests, do not use!
│ │ │ │ - :param cancel: Internal use by slidge, do not use!
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: invite_to(muc, reason = None, password = None, **send_kwargs)
│ │ │ │ -
│ │ │ │ - Send an invitation to join a group (:xep:`0249`) from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ - :param muc: the muc the user is invited to
│ │ │ │ - :param reason: a text explaining why the user should join this muc
│ │ │ │ - :param password: maybe this will make sense later? not sure
│ │ │ │ - :param send_kwargs: additional kwargs to be passed to _send()
│ │ │ │ - (internal use by slidge)
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: active(**kwargs)
│ │ │ │ -
│ │ │ │ - Send an "active" chat state (:xep:`0085`) from this
│ │ │ │ - :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: composing(**kwargs)
│ │ │ │ -
│ │ │ │ - Send a "composing" (ie "typing notification") chat state (:xep:`0085`)
│ │ │ │ - from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: paused(**kwargs)
│ │ │ │ -
│ │ │ │ - Send a "paused" (ie "typing paused notification") chat state
│ │ │ │ - (:xep:`0085`) from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: inactive(**kwargs)
│ │ │ │ -
│ │ │ │ - Send an "inactive" (ie "contact has not interacted with the chat session
│ │ │ │ - interface for an intermediate period of time") chat state (:xep:`0085`)
│ │ │ │ - from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: gone(**kwargs)
│ │ │ │ -
│ │ │ │ - Send a "gone" (ie "contact has not interacted with the chat session interface,
│ │ │ │ - system, or device for a relatively long period of time") chat state
│ │ │ │ - (:xep:`0085`) from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: send_file(file_path = None, legacy_msg_id = None, *, async_data_stream = None, data_stream = None, data = None, file_url = None, file_name = None, content_type = None, reply_to = None, when = None, caption = None, legacy_file_id = None, thread = None, **kwargs)
│ │ │ │ - :async:
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - Send a single file from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ - :param file_path: Path to the attachment
│ │ │ │ - :param async_data_stream: Alternatively (and ideally) an AsyncIterator yielding bytes
│ │ │ │ - :param data_stream: Alternatively, a stream of bytes (such as a File object)
│ │ │ │ - :param data: Alternatively, a bytes object
│ │ │ │ - :param file_url: Alternatively, a URL
│ │ │ │ - :param file_name: How the file should be named.
│ │ │ │ - :param content_type: MIME type, inferred from filename if not given
│ │ │ │ - :param legacy_msg_id: If you want to be able to transport read markers from the gateway
│ │ │ │ - user to the legacy network, specify this
│ │ │ │ - :param reply_to: Quote another message (:xep:`0461`)
│ │ │ │ - :param when: when the file was sent, for a "delay" tag (:xep:`0203`)
│ │ │ │ - :param caption: an optional text that is linked to the file
│ │ │ │ - :param legacy_file_id: A unique identifier for the file on the legacy network.
│ │ │ │ - Plugins should try their best to provide it, to avoid duplicates.
│ │ │ │ - :param thread:
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: send_text(body, legacy_msg_id = None, *, when = None, reply_to = None, thread = None, hints = None, carbon=False, archive_only=False, correction=False, correction_event_id = None, link_previews = None, **send_kwargs)
│ │ │ │ -
│ │ │ │ - Send a text message from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ - :param body: Content of the message
│ │ │ │ - :param legacy_msg_id: If you want to be able to transport read markers from the gateway
│ │ │ │ - user to the legacy network, specify this
│ │ │ │ - :param when: when the message was sent, for a "delay" tag (:xep:`0203`)
│ │ │ │ - :param reply_to: Quote another message (:xep:`0461`)
│ │ │ │ - :param hints:
│ │ │ │ - :param thread:
│ │ │ │ - :param carbon: (only used if called on a :class:`LegacyContact`)
│ │ │ │ - Set this to ``True`` if this is actually a message sent **to** the
│ │ │ │ - :class:`LegacyContact` by the :term:`User`.
│ │ │ │ - Use this to synchronize outgoing history for legacy official apps.
│ │ │ │ - :param correction: whether this message is a correction or not
│ │ │ │ - :param correction_event_id: in the case where an ID is associated with the legacy
│ │ │ │ - 'correction event', specify it here to use it on the XMPP side. If not specified,
│ │ │ │ - a random ID will be used.
│ │ │ │ - :param link_previews: A little of sender (or server, or gateway)-generated
│ │ │ │ - previews of URLs linked in the body.
│ │ │ │ - :param archive_only: (only in groups) Do not send this message to user,
│ │ │ │ - but store it in the archive. Meant to be used during ``MUC.backfill()``
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: correct(legacy_msg_id, new_text, *, when = None, reply_to = None, thread = None, hints = None, carbon=False, archive_only=False, correction_event_id = None, link_previews = None, **send_kwargs)
│ │ │ │ -
│ │ │ │ - Modify a message that was previously sent by this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ - Uses last message correction (:xep:`0308`)
│ │ │ │ -
│ │ │ │ - :param new_text: New content of the message
│ │ │ │ - :param legacy_msg_id: The legacy message ID of the message to correct
│ │ │ │ - :param when: when the message was sent, for a "delay" tag (:xep:`0203`)
│ │ │ │ - :param reply_to: Quote another message (:xep:`0461`)
│ │ │ │ - :param hints:
│ │ │ │ - :param thread:
│ │ │ │ - :param carbon: (only in 1:1) Reflect a message sent to this ``Contact`` by the user.
│ │ │ │ - Use this to synchronize outgoing history for legacy official apps.
│ │ │ │ - :param archive_only: (only in groups) Do not send this message to user,
│ │ │ │ - but store it in the archive. Meant to be used during ``MUC.backfill()``
│ │ │ │ - :param correction_event_id: in the case where an ID is associated with the legacy
│ │ │ │ - 'correction event', specify it here to use it on the XMPP side. If not specified,
│ │ │ │ - a random ID will be used.
│ │ │ │ - :param link_previews: A little of sender (or server, or gateway)-generated
│ │ │ │ - previews of URLs linked in the body.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: react(legacy_msg_id, emojis = (), thread = None, **kwargs)
│ │ │ │ -
│ │ │ │ - Send a reaction (:xep:`0444`) from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ - :param legacy_msg_id: The message which the reaction refers to.
│ │ │ │ - :param emojis: An iterable of emojis used as reactions
│ │ │ │ - :param thread:
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: retract(legacy_msg_id, thread = None, **kwargs)
│ │ │ │ -
│ │ │ │ - Send a message retraction (:XEP:`0424`) from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ - :param legacy_msg_id: Legacy ID of the message to delete
│ │ │ │ - :param thread:
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: ack(legacy_msg_id, **kwargs)
│ │ │ │ -
│ │ │ │ - Send an "acknowledged" message marker (:xep:`0333`) from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ - :param legacy_msg_id: The message this marker refers to
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: received(legacy_msg_id, **kwargs)
│ │ │ │ -
│ │ │ │ - Send a "received" message marker (:xep:`0333`) from this :term:`XMPP Entity`.
│ │ │ │ - If called on a :class:`LegacyContact`, also send a delivery receipt
│ │ │ │ - marker (:xep:`0184`).
│ │ │ │ -
│ │ │ │ - :param legacy_msg_id: The message this marker refers to
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: displayed(legacy_msg_id, **kwargs)
│ │ │ │ -
│ │ │ │ - Send a "displayed" message marker (:xep:`0333`) from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ - :param legacy_msg_id: The message this marker refers to
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: online(status = None, last_seen = None)
│ │ │ │ -
│ │ │ │ - Send an "online" presence from this contact to the user.
│ │ │ │ -
│ │ │ │ - :param status: Arbitrary text, details of the status, eg: "Listening to Britney Spears"
│ │ │ │ - :param last_seen: For :xep:`0319`
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: away(status = None, last_seen = None)
│ │ │ │ -
│ │ │ │ - Send an "away" presence from this contact to the user.
│ │ │ │ -
│ │ │ │ - This is a global status, as opposed to :meth:`.LegacyContact.inactive`
│ │ │ │ - which concerns a specific conversation, ie a specific "chat window"
│ │ │ │ -
│ │ │ │ - :param status: Arbitrary text, details of the status, eg: "Gone to fight capitalism"
│ │ │ │ - :param last_seen: For :xep:`0319`
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: extended_away(status = None, last_seen = None)
│ │ │ │ -
│ │ │ │ - Send an "extended away" presence from this contact to the user.
│ │ │ │ -
│ │ │ │ - This is a global status, as opposed to :meth:`.LegacyContact.inactive`
│ │ │ │ - which concerns a specific conversation, ie a specific "chat window"
│ │ │ │ -
│ │ │ │ - :param status: Arbitrary text, details of the status, eg: "Gone to fight capitalism"
│ │ │ │ - :param last_seen: For :xep:`0319`
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: busy(status = None, last_seen = None)
│ │ │ │ -
│ │ │ │ - Send a "busy" (ie, "dnd") presence from this contact to the user,
│ │ │ │ -
│ │ │ │ - :param status: eg: "Trying to make sense of XEP-0100"
│ │ │ │ - :param last_seen: For :xep:`0319`
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: offline(status = None, last_seen = None)
│ │ │ │ -
│ │ │ │ - Send an "offline" presence from this contact to the user.
│ │ │ │ -
│ │ │ │ - :param status: eg: "Trying to make sense of XEP-0100"
│ │ │ │ - :param last_seen: For :xep:`0319`
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: available_emojis(legacy_msg_id = None)
│ │ │ │ - :async:
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - Override this to restrict the subset of reactions this recipient
│ │ │ │ - can handle.
│ │ │ │ -
│ │ │ │ - :return: A set of emojis or None if any emoji is allowed
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ .. py:class:: LegacyRoster(session)
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ Virtual roster of a gateway user, that allows to represent all
│ │ │ │ of their contacts as singleton instances (if used properly and not too bugged).
│ │ │ ├── ./usr/share/doc/python-slidge-doc/html/_sources/dev/api/slidge/group/index.rst.txt
│ │ │ │ @@ -153,233 +153,14 @@
│ │ │ │
│ │ │ │ .. py:method:: ban(reason = None)
│ │ │ │
│ │ │ │ Call this when the participant is banned from the room
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ - .. py:method:: online(status = None, last_seen = None)
│ │ │ │ -
│ │ │ │ - Send an "online" presence from this contact to the user.
│ │ │ │ -
│ │ │ │ - :param status: Arbitrary text, details of the status, eg: "Listening to Britney Spears"
│ │ │ │ - :param last_seen: For :xep:`0319`
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: away(status = None, last_seen = None)
│ │ │ │ -
│ │ │ │ - Send an "away" presence from this contact to the user.
│ │ │ │ -
│ │ │ │ - This is a global status, as opposed to :meth:`.LegacyContact.inactive`
│ │ │ │ - which concerns a specific conversation, ie a specific "chat window"
│ │ │ │ -
│ │ │ │ - :param status: Arbitrary text, details of the status, eg: "Gone to fight capitalism"
│ │ │ │ - :param last_seen: For :xep:`0319`
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: extended_away(status = None, last_seen = None)
│ │ │ │ -
│ │ │ │ - Send an "extended away" presence from this contact to the user.
│ │ │ │ -
│ │ │ │ - This is a global status, as opposed to :meth:`.LegacyContact.inactive`
│ │ │ │ - which concerns a specific conversation, ie a specific "chat window"
│ │ │ │ -
│ │ │ │ - :param status: Arbitrary text, details of the status, eg: "Gone to fight capitalism"
│ │ │ │ - :param last_seen: For :xep:`0319`
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: busy(status = None, last_seen = None)
│ │ │ │ -
│ │ │ │ - Send a "busy" (ie, "dnd") presence from this contact to the user,
│ │ │ │ -
│ │ │ │ - :param status: eg: "Trying to make sense of XEP-0100"
│ │ │ │ - :param last_seen: For :xep:`0319`
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: offline(status = None, last_seen = None)
│ │ │ │ -
│ │ │ │ - Send an "offline" presence from this contact to the user.
│ │ │ │ -
│ │ │ │ - :param status: eg: "Trying to make sense of XEP-0100"
│ │ │ │ - :param last_seen: For :xep:`0319`
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: invite_to(muc, reason = None, password = None, **send_kwargs)
│ │ │ │ -
│ │ │ │ - Send an invitation to join a group (:xep:`0249`) from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ - :param muc: the muc the user is invited to
│ │ │ │ - :param reason: a text explaining why the user should join this muc
│ │ │ │ - :param password: maybe this will make sense later? not sure
│ │ │ │ - :param send_kwargs: additional kwargs to be passed to _send()
│ │ │ │ - (internal use by slidge)
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: active(**kwargs)
│ │ │ │ -
│ │ │ │ - Send an "active" chat state (:xep:`0085`) from this
│ │ │ │ - :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: composing(**kwargs)
│ │ │ │ -
│ │ │ │ - Send a "composing" (ie "typing notification") chat state (:xep:`0085`)
│ │ │ │ - from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: paused(**kwargs)
│ │ │ │ -
│ │ │ │ - Send a "paused" (ie "typing paused notification") chat state
│ │ │ │ - (:xep:`0085`) from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: inactive(**kwargs)
│ │ │ │ -
│ │ │ │ - Send an "inactive" (ie "contact has not interacted with the chat session
│ │ │ │ - interface for an intermediate period of time") chat state (:xep:`0085`)
│ │ │ │ - from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: gone(**kwargs)
│ │ │ │ -
│ │ │ │ - Send a "gone" (ie "contact has not interacted with the chat session interface,
│ │ │ │ - system, or device for a relatively long period of time") chat state
│ │ │ │ - (:xep:`0085`) from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: ack(legacy_msg_id, **kwargs)
│ │ │ │ -
│ │ │ │ - Send an "acknowledged" message marker (:xep:`0333`) from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ - :param legacy_msg_id: The message this marker refers to
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: received(legacy_msg_id, **kwargs)
│ │ │ │ -
│ │ │ │ - Send a "received" message marker (:xep:`0333`) from this :term:`XMPP Entity`.
│ │ │ │ - If called on a :class:`LegacyContact`, also send a delivery receipt
│ │ │ │ - marker (:xep:`0184`).
│ │ │ │ -
│ │ │ │ - :param legacy_msg_id: The message this marker refers to
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: displayed(legacy_msg_id, **kwargs)
│ │ │ │ -
│ │ │ │ - Send a "displayed" message marker (:xep:`0333`) from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ - :param legacy_msg_id: The message this marker refers to
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: send_file(file_path = None, legacy_msg_id = None, *, async_data_stream = None, data_stream = None, data = None, file_url = None, file_name = None, content_type = None, reply_to = None, when = None, caption = None, legacy_file_id = None, thread = None, **kwargs)
│ │ │ │ - :async:
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - Send a single file from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ - :param file_path: Path to the attachment
│ │ │ │ - :param async_data_stream: Alternatively (and ideally) an AsyncIterator yielding bytes
│ │ │ │ - :param data_stream: Alternatively, a stream of bytes (such as a File object)
│ │ │ │ - :param data: Alternatively, a bytes object
│ │ │ │ - :param file_url: Alternatively, a URL
│ │ │ │ - :param file_name: How the file should be named.
│ │ │ │ - :param content_type: MIME type, inferred from filename if not given
│ │ │ │ - :param legacy_msg_id: If you want to be able to transport read markers from the gateway
│ │ │ │ - user to the legacy network, specify this
│ │ │ │ - :param reply_to: Quote another message (:xep:`0461`)
│ │ │ │ - :param when: when the file was sent, for a "delay" tag (:xep:`0203`)
│ │ │ │ - :param caption: an optional text that is linked to the file
│ │ │ │ - :param legacy_file_id: A unique identifier for the file on the legacy network.
│ │ │ │ - Plugins should try their best to provide it, to avoid duplicates.
│ │ │ │ - :param thread:
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: send_text(body, legacy_msg_id = None, *, when = None, reply_to = None, thread = None, hints = None, carbon=False, archive_only=False, correction=False, correction_event_id = None, link_previews = None, **send_kwargs)
│ │ │ │ -
│ │ │ │ - Send a text message from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ - :param body: Content of the message
│ │ │ │ - :param legacy_msg_id: If you want to be able to transport read markers from the gateway
│ │ │ │ - user to the legacy network, specify this
│ │ │ │ - :param when: when the message was sent, for a "delay" tag (:xep:`0203`)
│ │ │ │ - :param reply_to: Quote another message (:xep:`0461`)
│ │ │ │ - :param hints:
│ │ │ │ - :param thread:
│ │ │ │ - :param carbon: (only used if called on a :class:`LegacyContact`)
│ │ │ │ - Set this to ``True`` if this is actually a message sent **to** the
│ │ │ │ - :class:`LegacyContact` by the :term:`User`.
│ │ │ │ - Use this to synchronize outgoing history for legacy official apps.
│ │ │ │ - :param correction: whether this message is a correction or not
│ │ │ │ - :param correction_event_id: in the case where an ID is associated with the legacy
│ │ │ │ - 'correction event', specify it here to use it on the XMPP side. If not specified,
│ │ │ │ - a random ID will be used.
│ │ │ │ - :param link_previews: A little of sender (or server, or gateway)-generated
│ │ │ │ - previews of URLs linked in the body.
│ │ │ │ - :param archive_only: (only in groups) Do not send this message to user,
│ │ │ │ - but store it in the archive. Meant to be used during ``MUC.backfill()``
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: correct(legacy_msg_id, new_text, *, when = None, reply_to = None, thread = None, hints = None, carbon=False, archive_only=False, correction_event_id = None, link_previews = None, **send_kwargs)
│ │ │ │ -
│ │ │ │ - Modify a message that was previously sent by this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ - Uses last message correction (:xep:`0308`)
│ │ │ │ -
│ │ │ │ - :param new_text: New content of the message
│ │ │ │ - :param legacy_msg_id: The legacy message ID of the message to correct
│ │ │ │ - :param when: when the message was sent, for a "delay" tag (:xep:`0203`)
│ │ │ │ - :param reply_to: Quote another message (:xep:`0461`)
│ │ │ │ - :param hints:
│ │ │ │ - :param thread:
│ │ │ │ - :param carbon: (only in 1:1) Reflect a message sent to this ``Contact`` by the user.
│ │ │ │ - Use this to synchronize outgoing history for legacy official apps.
│ │ │ │ - :param archive_only: (only in groups) Do not send this message to user,
│ │ │ │ - but store it in the archive. Meant to be used during ``MUC.backfill()``
│ │ │ │ - :param correction_event_id: in the case where an ID is associated with the legacy
│ │ │ │ - 'correction event', specify it here to use it on the XMPP side. If not specified,
│ │ │ │ - a random ID will be used.
│ │ │ │ - :param link_previews: A little of sender (or server, or gateway)-generated
│ │ │ │ - previews of URLs linked in the body.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: react(legacy_msg_id, emojis = (), thread = None, **kwargs)
│ │ │ │ -
│ │ │ │ - Send a reaction (:xep:`0444`) from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ - :param legacy_msg_id: The message which the reaction refers to.
│ │ │ │ - :param emojis: An iterable of emojis used as reactions
│ │ │ │ - :param thread:
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: retract(legacy_msg_id, thread = None, **kwargs)
│ │ │ │ -
│ │ │ │ - Send a message retraction (:XEP:`0424`) from this :term:`XMPP Entity`.
│ │ │ │ -
│ │ │ │ - :param legacy_msg_id: Legacy ID of the message to delete
│ │ │ │ - :param thread:
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ .. py:class:: LegacyMUC(session, legacy_id, jid)
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ A room, a.k.a. a Multi-User Chat.
│ │ │ │
│ │ │ │ MUC instances are obtained by calling :py:meth:`slidge.group.bookmarks.LegacyBookmarks`
│ │ │ │ @@ -699,58 +480,7 @@
│ │ │ │ The legacy module is responsible for updating :attr:`.subject` of this
│ │ │ │ instance.
│ │ │ │
│ │ │ │ :param subject: The new subject for this room.
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ - .. py:property:: avatar_id
│ │ │ │ - :type: Optional[slidge.util.types.AvatarIdType]
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - The unique ID of this entity's avatar.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:property:: avatar
│ │ │ │ - :type: Optional[slidge.util.types.AvatarIdType]
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - This property can be used to set the avatar, but
│ │ │ │ - :py:meth:`~.AvatarMixin.set_avatar()` should be preferred because you can
│ │ │ │ - provide a unique ID for the avatar for efficient caching.
│ │ │ │ - Setting this is OKish in case the avatar type is a URL or a local path
│ │ │ │ - that can act as a legacy ID.
│ │ │ │ -
│ │ │ │ - Python's ``property`` is abused here to maintain backwards
│ │ │ │ - compatibility, but when getting it you actually get the avatar legacy
│ │ │ │ - ID.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: set_avatar(a, avatar_unique_id = None, delete = False, blocking=False, cancel=True)
│ │ │ │ - :async:
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - Set an avatar for this entity
│ │ │ │ -
│ │ │ │ - :param a: The avatar, in one of the types slidge supports
│ │ │ │ - :param avatar_unique_id: A globally unique ID for the avatar on the
│ │ │ │ - legacy network
│ │ │ │ - :param delete: If the avatar is provided as a Path, whether to delete
│ │ │ │ - it once used or not.
│ │ │ │ - :param blocking: Internal use by slidge for tests, do not use!
│ │ │ │ - :param cancel: Internal use by slidge, do not use!
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - .. py:method:: available_emojis(legacy_msg_id = None)
│ │ │ │ - :async:
│ │ │ │ -
│ │ │ │ -
│ │ │ │ - Override this to restrict the subset of reactions this recipient
│ │ │ │ - can handle.
│ │ │ │ -
│ │ │ │ - :return: A set of emojis or None if any emoji is allowed
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ ├── ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/contact/index.html
│ │ │ │ @@ -479,364 +479,14 @@
│ │ │ │ async fetch_vcard()
│ │ │ │ It the legacy network doesn’t like that you fetch too many profiles on startup,
│ │ │ │ it’s also possible to fetch it here, which will be called when XMPP clients
│ │ │ │ of the user request the vcard, if it hasn’t been fetched before
│ │ │ │ :return:
│ │ │ │
│ │ │ │
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -property avatar_id: slidge.util.types.AvatarIdType | None
│ │ │ │ -The unique ID of this entity’s avatar.
│ │ │ │ -
│ │ │ │ -- Return type:
│ │ │ │ -Optional[slidge.util.types.AvatarIdType]
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -property avatar: slidge.util.types.AvatarIdType | None
│ │ │ │ -This property can be used to set the avatar, but
│ │ │ │ -set_avatar()
should be preferred because you can
│ │ │ │ -provide a unique ID for the avatar for efficient caching.
│ │ │ │ -Setting this is OKish in case the avatar type is a URL or a local path
│ │ │ │ -that can act as a legacy ID.
│ │ │ │ -Python’s property
is abused here to maintain backwards
│ │ │ │ -compatibility, but when getting it you actually get the avatar legacy
│ │ │ │ -ID.
│ │ │ │ -
│ │ │ │ -- Return type:
│ │ │ │ -Optional[slidge.util.types.AvatarIdType]
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -async set_avatar(a, avatar_unique_id=None, delete=False, blocking=False, cancel=True)
│ │ │ │ -Set an avatar for this entity
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -
│ │ │ │ -a (Optional[slidge.util.types.AvatarType]) – The avatar, in one of the types slidge supports
│ │ │ │ -avatar_unique_id (Optional[slidge.util.types.LegacyFileIdType]) – A globally unique ID for the avatar on the
│ │ │ │ -legacy network
│ │ │ │ -delete (bool) – If the avatar is provided as a Path, whether to delete
│ │ │ │ -it once used or not.
│ │ │ │ -blocking – Internal use by slidge for tests, do not use!
│ │ │ │ -cancel – Internal use by slidge, do not use!
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -- Return type:
│ │ │ │ -None
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -invite_to(muc, reason=None, password=None, **send_kwargs)
│ │ │ │ -Send an invitation to join a group (XEP-0249) from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -
│ │ │ │ -muc (slidge.group.LegacyMUC) – the muc the user is invited to
│ │ │ │ -reason (Optional[str]) – a text explaining why the user should join this muc
│ │ │ │ -password (Optional[str]) – maybe this will make sense later? not sure
│ │ │ │ -send_kwargs – additional kwargs to be passed to _send()
│ │ │ │ -(internal use by slidge)
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -active(**kwargs)
│ │ │ │ -Send an “active” chat state (XEP-0085) from this
│ │ │ │ -XMPP Entity.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -composing(**kwargs)
│ │ │ │ -Send a “composing” (ie “typing notification”) chat state (XEP-0085)
│ │ │ │ -from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -paused(**kwargs)
│ │ │ │ -Send a “paused” (ie “typing paused notification”) chat state
│ │ │ │ -(XEP-0085) from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -inactive(**kwargs)
│ │ │ │ -Send an “inactive” (ie “contact has not interacted with the chat session
│ │ │ │ -interface for an intermediate period of time”) chat state (XEP-0085)
│ │ │ │ -from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -gone(**kwargs)
│ │ │ │ -Send a “gone” (ie “contact has not interacted with the chat session interface,
│ │ │ │ -system, or device for a relatively long period of time”) chat state
│ │ │ │ -(XEP-0085) from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -async send_file(file_path=None, legacy_msg_id=None, *, async_data_stream=None, data_stream=None, data=None, file_url=None, file_name=None, content_type=None, reply_to=None, when=None, caption=None, legacy_file_id=None, thread=None, **kwargs)
│ │ │ │ -Send a single file from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -
│ │ │ │ -file_path (Optional[Union[pathlib.Path, str]]) – Path to the attachment
│ │ │ │ -async_data_stream (Optional[AsyncIterator[bytes]]) – Alternatively (and ideally) an AsyncIterator yielding bytes
│ │ │ │ -data_stream (Optional[IO[bytes]]) – Alternatively, a stream of bytes (such as a File object)
│ │ │ │ -data (Optional[bytes]) – Alternatively, a bytes object
│ │ │ │ -file_url (Optional[str]) – Alternatively, a URL
│ │ │ │ -file_name (Optional[str]) – How the file should be named.
│ │ │ │ -content_type (Optional[str]) – MIME type, inferred from filename if not given
│ │ │ │ -legacy_msg_id (Optional[slidge.util.types.LegacyMessageType]) – If you want to be able to transport read markers from the gateway
│ │ │ │ -user to the legacy network, specify this
│ │ │ │ -reply_to (Optional[slidge.util.types.MessageReference]) – Quote another message (XEP-0461)
│ │ │ │ -when (Optional[datetime.datetime]) – when the file was sent, for a “delay” tag (XEP-0203)
│ │ │ │ -caption (Optional[str]) – an optional text that is linked to the file
│ │ │ │ -legacy_file_id (Optional[Union[str, int]]) – A unique identifier for the file on the legacy network.
│ │ │ │ -Plugins should try their best to provide it, to avoid duplicates.
│ │ │ │ -thread (Optional[slidge.util.types.LegacyThreadType])
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -- Return type:
│ │ │ │ -tuple[Optional[str], list[slixmpp.Message]]
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -send_text(body, legacy_msg_id=None, *, when=None, reply_to=None, thread=None, hints=None, carbon=False, archive_only=False, correction=False, correction_event_id=None, link_previews=None, **send_kwargs)
│ │ │ │ -Send a text message from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -
│ │ │ │ -body (str) – Content of the message
│ │ │ │ -legacy_msg_id (Optional[slidge.util.types.LegacyMessageType]) – If you want to be able to transport read markers from the gateway
│ │ │ │ -user to the legacy network, specify this
│ │ │ │ -when (Optional[datetime.datetime]) – when the message was sent, for a “delay” tag (XEP-0203)
│ │ │ │ -reply_to (Optional[slidge.util.types.MessageReference]) – Quote another message (XEP-0461)
│ │ │ │ -hints (Optional[Iterable[slidge.util.types.ProcessingHint]])
│ │ │ │ -thread (Optional[slidge.util.types.LegacyThreadType])
│ │ │ │ -carbon – (only used if called on a LegacyContact
)
│ │ │ │ -Set this to True
if this is actually a message sent to the
│ │ │ │ -LegacyContact
by the User.
│ │ │ │ -Use this to synchronize outgoing history for legacy official apps.
│ │ │ │ -correction – whether this message is a correction or not
│ │ │ │ -correction_event_id (Optional[slidge.util.types.LegacyMessageType]) – in the case where an ID is associated with the legacy
│ │ │ │ -‘correction event’, specify it here to use it on the XMPP side. If not specified,
│ │ │ │ -a random ID will be used.
│ │ │ │ -link_previews (Optional[list[slidge.util.types.LinkPreview]]) – A little of sender (or server, or gateway)-generated
│ │ │ │ -previews of URLs linked in the body.
│ │ │ │ -archive_only – (only in groups) Do not send this message to user,
│ │ │ │ -but store it in the archive. Meant to be used during MUC.backfill()
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -correct(legacy_msg_id, new_text, *, when=None, reply_to=None, thread=None, hints=None, carbon=False, archive_only=False, correction_event_id=None, link_previews=None, **send_kwargs)
│ │ │ │ -Modify a message that was previously sent by this XMPP Entity.
│ │ │ │ -Uses last message correction (XEP-0308)
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -
│ │ │ │ -new_text (str) – New content of the message
│ │ │ │ -legacy_msg_id (slidge.util.types.LegacyMessageType) – The legacy message ID of the message to correct
│ │ │ │ -when (Optional[datetime.datetime]) – when the message was sent, for a “delay” tag (XEP-0203)
│ │ │ │ -reply_to (Optional[slidge.util.types.MessageReference]) – Quote another message (XEP-0461)
│ │ │ │ -hints (Optional[Iterable[slidge.util.types.ProcessingHint]])
│ │ │ │ -thread (Optional[slidge.util.types.LegacyThreadType])
│ │ │ │ -carbon – (only in 1:1) Reflect a message sent to this Contact
by the user.
│ │ │ │ -Use this to synchronize outgoing history for legacy official apps.
│ │ │ │ -archive_only – (only in groups) Do not send this message to user,
│ │ │ │ -but store it in the archive. Meant to be used during MUC.backfill()
│ │ │ │ -correction_event_id (Optional[slidge.util.types.LegacyMessageType]) – in the case where an ID is associated with the legacy
│ │ │ │ -‘correction event’, specify it here to use it on the XMPP side. If not specified,
│ │ │ │ -a random ID will be used.
│ │ │ │ -link_previews (Optional[list[slidge.util.types.LinkPreview]]) – A little of sender (or server, or gateway)-generated
│ │ │ │ -previews of URLs linked in the body.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -react(legacy_msg_id, emojis=(), thread=None, **kwargs)
│ │ │ │ -Send a reaction (XEP-0444) from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -
│ │ │ │ -legacy_msg_id (slidge.util.types.LegacyMessageType) – The message which the reaction refers to.
│ │ │ │ -emojis (Iterable[str]) – An iterable of emojis used as reactions
│ │ │ │ -thread (Optional[slidge.util.types.LegacyThreadType])
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -retract(legacy_msg_id, thread=None, **kwargs)
│ │ │ │ -Send a message retraction (XEP-0424) from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ --
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -ack(legacy_msg_id, **kwargs)
│ │ │ │ -Send an “acknowledged” message marker (XEP-0333) from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -legacy_msg_id (slidge.util.types.LegacyMessageType) – The message this marker refers to
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -received(legacy_msg_id, **kwargs)
│ │ │ │ -Send a “received” message marker (XEP-0333) from this XMPP Entity.
│ │ │ │ -If called on a LegacyContact
, also send a delivery receipt
│ │ │ │ -marker (XEP-0184).
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -legacy_msg_id (slidge.util.types.LegacyMessageType) – The message this marker refers to
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -displayed(legacy_msg_id, **kwargs)
│ │ │ │ -Send a “displayed” message marker (XEP-0333) from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -legacy_msg_id (slidge.util.types.LegacyMessageType) – The message this marker refers to
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -online(status=None, last_seen=None)
│ │ │ │ -Send an “online” presence from this contact to the user.
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -
│ │ │ │ -status (Optional[str]) – Arbitrary text, details of the status, eg: “Listening to Britney Spears”
│ │ │ │ -last_seen (Optional[datetime.datetime]) – For XEP-0319
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -away(status=None, last_seen=None)
│ │ │ │ -Send an “away” presence from this contact to the user.
│ │ │ │ -This is a global status, as opposed to LegacyContact.inactive()
│ │ │ │ -which concerns a specific conversation, ie a specific “chat window”
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -
│ │ │ │ -status (Optional[str]) – Arbitrary text, details of the status, eg: “Gone to fight capitalism”
│ │ │ │ -last_seen (Optional[datetime.datetime]) – For XEP-0319
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -extended_away(status=None, last_seen=None)
│ │ │ │ -Send an “extended away” presence from this contact to the user.
│ │ │ │ -This is a global status, as opposed to LegacyContact.inactive()
│ │ │ │ -which concerns a specific conversation, ie a specific “chat window”
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -
│ │ │ │ -status (Optional[str]) – Arbitrary text, details of the status, eg: “Gone to fight capitalism”
│ │ │ │ -last_seen (Optional[datetime.datetime]) – For XEP-0319
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -busy(status=None, last_seen=None)
│ │ │ │ -Send a “busy” (ie, “dnd”) presence from this contact to the user,
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ --
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -offline(status=None, last_seen=None)
│ │ │ │ -Send an “offline” presence from this contact to the user.
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ --
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -async available_emojis(legacy_msg_id=None)
│ │ │ │ -Override this to restrict the subset of reactions this recipient
│ │ │ │ -can handle.
│ │ │ │ -
│ │ │ │ -- Returns:
│ │ │ │ -A set of emojis or None if any emoji is allowed
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -legacy_msg_id (Optional[slidge.util.types.LegacyMessageType])
│ │ │ │ -
│ │ │ │ -- Return type:
│ │ │ │ -Optional[set[str]]
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ -
│ │ │ │ class slidge.contact.LegacyRoster(session)
│ │ │ │ Virtual roster of a gateway user, that allows to represent all
│ │ │ │ of their contacts as singleton instances (if used properly and not too bugged).
│ │ │ │ @@ -1011,37 +661,14 @@
│ │ │ │ LegacyContact.reject_friend_request()
│ │ │ │ LegacyContact.on_friend_request()
│ │ │ │ LegacyContact.on_friend_delete()
│ │ │ │ LegacyContact.on_friend_accept()
│ │ │ │ LegacyContact.unsubscribe()
│ │ │ │ LegacyContact.update_info()
│ │ │ │ LegacyContact.fetch_vcard()
│ │ │ │ -LegacyContact.avatar_id
│ │ │ │ -LegacyContact.avatar
│ │ │ │ -LegacyContact.set_avatar()
│ │ │ │ -LegacyContact.invite_to()
│ │ │ │ -LegacyContact.active()
│ │ │ │ -LegacyContact.composing()
│ │ │ │ -LegacyContact.paused()
│ │ │ │ -LegacyContact.inactive()
│ │ │ │ -LegacyContact.gone()
│ │ │ │ -LegacyContact.send_file()
│ │ │ │ -LegacyContact.send_text()
│ │ │ │ -LegacyContact.correct()
│ │ │ │ -LegacyContact.react()
│ │ │ │ -LegacyContact.retract()
│ │ │ │ -LegacyContact.ack()
│ │ │ │ -LegacyContact.received()
│ │ │ │ -LegacyContact.displayed()
│ │ │ │ -LegacyContact.online()
│ │ │ │ -LegacyContact.away()
│ │ │ │ -LegacyContact.extended_away()
│ │ │ │ -LegacyContact.busy()
│ │ │ │ -LegacyContact.offline()
│ │ │ │ -LegacyContact.available_emojis()
│ │ │ │
│ │ │ │
│ │ │ │ LegacyRoster
│ │ │ │ LegacyRoster.by_legacy_id()
│ │ │ │ LegacyRoster.legacy_id_to_jid_username()
│ │ │ │ LegacyRoster.jid_username_to_legacy_id()
│ │ │ │ LegacyRoster.fill()
│ │ │ │ ├── html2text {}
│ │ │ │ │ @@ -158,250 +158,14 @@
│ │ │ │ │ slidge.core.mixins.avatar.AvatarMixin.set_avatar() or attempt to
│ │ │ │ │ modify the .avatar property.
│ │ │ │ │ aassyynncc fetch_vcard()_¶
│ │ │ │ │ It the legacy network doesn’t like that you fetch too many profiles
│ │ │ │ │ on startup, it’s also possible to fetch it here, which will be
│ │ │ │ │ called when XMPP clients of the user request the vcard, if it
│ │ │ │ │ hasn’t been fetched before :return:
│ │ │ │ │ - pprrooppeerrttyy avatar_id:: sslliiddggee..uuttiill..ttyyppeess..AAvvaattaarrIIddTTyyppee || _NN_oo_nn_ee_¶
│ │ │ │ │ - The unique ID of this entity’s avatar.
│ │ │ │ │ - Return type:
│ │ │ │ │ - Optional[slidge.util.types.AvatarIdType]
│ │ │ │ │ - pprrooppeerrttyy avatar:: sslliiddggee..uuttiill..ttyyppeess..AAvvaattaarrIIddTTyyppee || _NN_oo_nn_ee_¶
│ │ │ │ │ - This property can be used to set the avatar, but set_avatar()
│ │ │ │ │ - should be preferred because you can provide a unique ID for the
│ │ │ │ │ - avatar for efficient caching. Setting this is OKish in case the
│ │ │ │ │ - avatar type is a URL or a local path that can act as a legacy ID.
│ │ │ │ │ - Python’s property is abused here to maintain backwards
│ │ │ │ │ - compatibility, but when getting it you actually get the avatar
│ │ │ │ │ - legacy ID.
│ │ │ │ │ - Return type:
│ │ │ │ │ - Optional[slidge.util.types.AvatarIdType]
│ │ │ │ │ - aassyynncc set_avatar(aa, aavvaattaarr__uunniiqquuee__iidd==NNoonnee, ddeelleettee==FFaallssee,
│ │ │ │ │ - bblloocckkiinngg==FFaallssee, ccaanncceell==TTrruuee)_¶
│ │ │ │ │ - Set an avatar for this entity
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * aa (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..AAvvaattaarrTTyyppee]]) – The
│ │ │ │ │ - avatar, in one of the types slidge supports
│ │ │ │ │ - * aavvaattaarr__uunniiqquuee__iidd (OOppttiioonnaall
│ │ │ │ │ - [[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyFFiilleeIIddTTyyppee]]) – A globally
│ │ │ │ │ - unique ID for the avatar on the legacy network
│ │ │ │ │ - * ddeelleettee (_bb_oo_oo_ll) – If the avatar is provided as a Path,
│ │ │ │ │ - whether to delete it once used or not.
│ │ │ │ │ - * bblloocckkiinngg – Internal use by slidge for tests, do not
│ │ │ │ │ - use!
│ │ │ │ │ - * ccaanncceell – Internal use by slidge, do not use!
│ │ │ │ │ - Return type:
│ │ │ │ │ - None
│ │ │ │ │ - invite_to(mmuucc, rreeaassoonn==NNoonnee, ppaasssswwoorrdd==NNoonnee, ****sseenndd__kkwwaarrggss)_¶
│ │ │ │ │ - Send an invitation to join a group (_X_E_P_-_0_2_4_9) from this _X_M_P_P
│ │ │ │ │ - _E_n_t_i_t_y.
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * mmuucc (_ss_ll_ii_dd_gg_ee_.._gg_rr_oo_uu_pp_.._LL_ee_gg_aa_cc_yy_MM_UU_CC) – the muc the user is
│ │ │ │ │ - invited to
│ │ │ │ │ - * rreeaassoonn (OOppttiioonnaall[[_ss_tt_rr]]) – a text explaining why the user
│ │ │ │ │ - should join this muc
│ │ │ │ │ - * ppaasssswwoorrdd (OOppttiioonnaall[[_ss_tt_rr]]) – maybe this will make sense
│ │ │ │ │ - later? not sure
│ │ │ │ │ - * sseenndd__kkwwaarrggss – additional kwargs to be passed to _send()
│ │ │ │ │ - (internal use by slidge)
│ │ │ │ │ - active(****kkwwaarrggss)_¶
│ │ │ │ │ - Send an “active” chat state (_X_E_P_-_0_0_8_5) from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - composing(****kkwwaarrggss)_¶
│ │ │ │ │ - Send a “composing” (ie “typing notification”) chat state (_X_E_P_-_0_0_8_5)
│ │ │ │ │ - from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - paused(****kkwwaarrggss)_¶
│ │ │ │ │ - Send a “paused” (ie “typing paused notification”) chat state (_X_E_P_-
│ │ │ │ │ - _0_0_8_5) from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - inactive(****kkwwaarrggss)_¶
│ │ │ │ │ - Send an “inactive” (ie “contact has not interacted with the chat
│ │ │ │ │ - session interface for an intermediate period of time”) chat state
│ │ │ │ │ - (_X_E_P_-_0_0_8_5) from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - gone(****kkwwaarrggss)_¶
│ │ │ │ │ - Send a “gone” (ie “contact has not interacted with the chat session
│ │ │ │ │ - interface, system, or device for a relatively long period of time”)
│ │ │ │ │ - chat state (_X_E_P_-_0_0_8_5) from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - aassyynncc send_file(ffiillee__ppaatthh==NNoonnee, lleeggaaccyy__mmssgg__iidd==NNoonnee, **,
│ │ │ │ │ - aassyynncc__ddaattaa__ssttrreeaamm==NNoonnee, ddaattaa__ssttrreeaamm==NNoonnee, ddaattaa==NNoonnee, ffiillee__uurrll==NNoonnee,
│ │ │ │ │ - ffiillee__nnaammee==NNoonnee, ccoonntteenntt__ttyyppee==NNoonnee, rreeppllyy__ttoo==NNoonnee, wwhheenn==NNoonnee,
│ │ │ │ │ - ccaappttiioonn==NNoonnee, lleeggaaccyy__ffiillee__iidd==NNoonnee, tthhrreeaadd==NNoonnee, ****kkwwaarrggss)_¶
│ │ │ │ │ - Send a single file from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * ffiillee__ppaatthh (OOppttiioonnaall[[UUnniioonn[[_pp_aa_tt_hh_ll_ii_bb_.._PP_aa_tt_hh,, _ss_tt_rr]]]]) – Path
│ │ │ │ │ - to the attachment
│ │ │ │ │ - * aassyynncc__ddaattaa__ssttrreeaamm (OOppttiioonnaall[[AAssyynnccIItteerraattoorr[[_bb_yy_tt_ee_ss]]]]) –
│ │ │ │ │ - Alternatively (and ideally) an AsyncIterator yielding
│ │ │ │ │ - bytes
│ │ │ │ │ - * ddaattaa__ssttrreeaamm (OOppttiioonnaall[[IIOO[[_bb_yy_tt_ee_ss]]]]) – Alternatively, a
│ │ │ │ │ - stream of bytes (such as a File object)
│ │ │ │ │ - * ddaattaa (OOppttiioonnaall[[_bb_yy_tt_ee_ss]]) – Alternatively, a bytes object
│ │ │ │ │ - * ffiillee__uurrll (OOppttiioonnaall[[_ss_tt_rr]]) – Alternatively, a URL
│ │ │ │ │ - * ffiillee__nnaammee (OOppttiioonnaall[[_ss_tt_rr]]) – How the file should be
│ │ │ │ │ - named.
│ │ │ │ │ - * ccoonntteenntt__ttyyppee (OOppttiioonnaall[[_ss_tt_rr]]) – MIME type, inferred from
│ │ │ │ │ - filename if not given
│ │ │ │ │ - * lleeggaaccyy__mmssgg__iidd (OOppttiioonnaall
│ │ │ │ │ - [[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee]]) – If you want to
│ │ │ │ │ - be able to transport read markers from the gateway user
│ │ │ │ │ - to the legacy network, specify this
│ │ │ │ │ - * rreeppllyy__ttoo (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..MMeessssaaggeeRReeffeerreennccee]])
│ │ │ │ │ - – Quote another message (_X_E_P_-_0_4_6_1)
│ │ │ │ │ - * wwhheenn (OOppttiioonnaall[[_dd_aa_tt_ee_tt_ii_mm_ee_.._dd_aa_tt_ee_tt_ii_mm_ee]]) – when the file was
│ │ │ │ │ - sent, for a “delay” tag (_X_E_P_-_0_2_0_3)
│ │ │ │ │ - * ccaappttiioonn (OOppttiioonnaall[[_ss_tt_rr]]) – an optional text that is
│ │ │ │ │ - linked to the file
│ │ │ │ │ - * lleeggaaccyy__ffiillee__iidd (OOppttiioonnaall[[UUnniioonn[[_ss_tt_rr,, _ii_nn_tt]]]]) – A unique
│ │ │ │ │ - identifier for the file on the legacy network. Plugins
│ │ │ │ │ - should try their best to provide it, to avoid
│ │ │ │ │ - duplicates.
│ │ │ │ │ - * tthhrreeaadd (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyTThhrreeaaddTTyyppee]])
│ │ │ │ │ - Return type:
│ │ │ │ │ - _t_u_p_l_e[Optional[_s_t_r], _l_i_s_t[slixmpp.Message]]
│ │ │ │ │ - send_text(bbooddyy, lleeggaaccyy__mmssgg__iidd==NNoonnee, **, wwhheenn==NNoonnee, rreeppllyy__ttoo==NNoonnee,
│ │ │ │ │ - tthhrreeaadd==NNoonnee, hhiinnttss==NNoonnee, ccaarrbboonn==FFaallssee, aarrcchhiivvee__oonnllyy==FFaallssee,
│ │ │ │ │ - ccoorrrreeccttiioonn==FFaallssee, ccoorrrreeccttiioonn__eevveenntt__iidd==NNoonnee, lliinnkk__pprreevviieewwss==NNoonnee,
│ │ │ │ │ - ****sseenndd__kkwwaarrggss)_¶
│ │ │ │ │ - Send a text message from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * bbooddyy (_ss_tt_rr) – Content of the message
│ │ │ │ │ - * lleeggaaccyy__mmssgg__iidd (OOppttiioonnaall
│ │ │ │ │ - [[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee]]) – If you want to
│ │ │ │ │ - be able to transport read markers from the gateway user
│ │ │ │ │ - to the legacy network, specify this
│ │ │ │ │ - * wwhheenn (OOppttiioonnaall[[_dd_aa_tt_ee_tt_ii_mm_ee_.._dd_aa_tt_ee_tt_ii_mm_ee]]) – when the message
│ │ │ │ │ - was sent, for a “delay” tag (_X_E_P_-_0_2_0_3)
│ │ │ │ │ - * rreeppllyy__ttoo (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..MMeessssaaggeeRReeffeerreennccee]])
│ │ │ │ │ - – Quote another message (_X_E_P_-_0_4_6_1)
│ │ │ │ │ - * hhiinnttss (OOppttiioonnaall[[IItteerraabbllee
│ │ │ │ │ - [[sslliiddggee..uuttiill..ttyyppeess..PPrroocceessssiinnggHHiinntt]]]])
│ │ │ │ │ - * tthhrreeaadd (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyTThhrreeaaddTTyyppee]])
│ │ │ │ │ - * ccaarrbboonn – (only used if called on a _L_e_g_a_c_y_C_o_n_t_a_c_t) Set
│ │ │ │ │ - this to True if this is actually a message sent ttoo the
│ │ │ │ │ - _L_e_g_a_c_y_C_o_n_t_a_c_t by the _U_s_e_r. Use this to synchronize
│ │ │ │ │ - outgoing history for legacy official apps.
│ │ │ │ │ - * ccoorrrreeccttiioonn – whether this message is a correction or
│ │ │ │ │ - not
│ │ │ │ │ - * ccoorrrreeccttiioonn__eevveenntt__iidd (OOppttiioonnaall
│ │ │ │ │ - [[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee]]) – in the case
│ │ │ │ │ - where an ID is associated with the legacy ‘correction
│ │ │ │ │ - event’, specify it here to use it on the XMPP side. If
│ │ │ │ │ - not specified, a random ID will be used.
│ │ │ │ │ - * lliinnkk__pprreevviieewwss (OOppttiioonnaall[[_ll_ii_ss_tt
│ │ │ │ │ - [[sslliiddggee..uuttiill..ttyyppeess..LLiinnkkPPrreevviieeww]]]]) – A little of sender
│ │ │ │ │ - (or server, or gateway)-generated previews of URLs
│ │ │ │ │ - linked in the body.
│ │ │ │ │ - * aarrcchhiivvee__oonnllyy – (only in groups) Do not send this
│ │ │ │ │ - message to user, but store it in the archive. Meant to
│ │ │ │ │ - be used during MUC.backfill()
│ │ │ │ │ - correct(lleeggaaccyy__mmssgg__iidd, nneeww__tteexxtt, **, wwhheenn==NNoonnee, rreeppllyy__ttoo==NNoonnee,
│ │ │ │ │ - tthhrreeaadd==NNoonnee, hhiinnttss==NNoonnee, ccaarrbboonn==FFaallssee, aarrcchhiivvee__oonnllyy==FFaallssee,
│ │ │ │ │ - ccoorrrreeccttiioonn__eevveenntt__iidd==NNoonnee, lliinnkk__pprreevviieewwss==NNoonnee, ****sseenndd__kkwwaarrggss)_¶
│ │ │ │ │ - Modify a message that was previously sent by this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - Uses last message correction (_X_E_P_-_0_3_0_8)
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * nneeww__tteexxtt (_ss_tt_rr) – New content of the message
│ │ │ │ │ - * lleeggaaccyy__mmssgg__iidd (sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee) –
│ │ │ │ │ - The legacy message ID of the message to correct
│ │ │ │ │ - * wwhheenn (OOppttiioonnaall[[_dd_aa_tt_ee_tt_ii_mm_ee_.._dd_aa_tt_ee_tt_ii_mm_ee]]) – when the message
│ │ │ │ │ - was sent, for a “delay” tag (_X_E_P_-_0_2_0_3)
│ │ │ │ │ - * rreeppllyy__ttoo (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..MMeessssaaggeeRReeffeerreennccee]])
│ │ │ │ │ - – Quote another message (_X_E_P_-_0_4_6_1)
│ │ │ │ │ - * hhiinnttss (OOppttiioonnaall[[IItteerraabbllee
│ │ │ │ │ - [[sslliiddggee..uuttiill..ttyyppeess..PPrroocceessssiinnggHHiinntt]]]])
│ │ │ │ │ - * tthhrreeaadd (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyTThhrreeaaddTTyyppee]])
│ │ │ │ │ - * ccaarrbboonn – (only in 1:1) Reflect a message sent to this
│ │ │ │ │ - Contact by the user. Use this to synchronize outgoing
│ │ │ │ │ - history for legacy official apps.
│ │ │ │ │ - * aarrcchhiivvee__oonnllyy – (only in groups) Do not send this
│ │ │ │ │ - message to user, but store it in the archive. Meant to
│ │ │ │ │ - be used during MUC.backfill()
│ │ │ │ │ - * ccoorrrreeccttiioonn__eevveenntt__iidd (OOppttiioonnaall
│ │ │ │ │ - [[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee]]) – in the case
│ │ │ │ │ - where an ID is associated with the legacy ‘correction
│ │ │ │ │ - event’, specify it here to use it on the XMPP side. If
│ │ │ │ │ - not specified, a random ID will be used.
│ │ │ │ │ - * lliinnkk__pprreevviieewwss (OOppttiioonnaall[[_ll_ii_ss_tt
│ │ │ │ │ - [[sslliiddggee..uuttiill..ttyyppeess..LLiinnkkPPrreevviieeww]]]]) – A little of sender
│ │ │ │ │ - (or server, or gateway)-generated previews of URLs
│ │ │ │ │ - linked in the body.
│ │ │ │ │ - react(lleeggaaccyy__mmssgg__iidd, eemmoojjiiss==(()), tthhrreeaadd==NNoonnee, ****kkwwaarrggss)_¶
│ │ │ │ │ - Send a reaction (_X_E_P_-_0_4_4_4) from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * lleeggaaccyy__mmssgg__iidd (sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee) –
│ │ │ │ │ - The message which the reaction refers to.
│ │ │ │ │ - * eemmoojjiiss (IItteerraabbllee[[_ss_tt_rr]]) – An iterable of emojis used as
│ │ │ │ │ - reactions
│ │ │ │ │ - * tthhrreeaadd (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyTThhrreeaaddTTyyppee]])
│ │ │ │ │ - retract(lleeggaaccyy__mmssgg__iidd, tthhrreeaadd==NNoonnee, ****kkwwaarrggss)_¶
│ │ │ │ │ - Send a message retraction (_X_E_P_-_0_4_2_4) from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * lleeggaaccyy__mmssgg__iidd (sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee) –
│ │ │ │ │ - Legacy ID of the message to delete
│ │ │ │ │ - * tthhrreeaadd (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyTThhrreeaaddTTyyppee]])
│ │ │ │ │ - ack(lleeggaaccyy__mmssgg__iidd, ****kkwwaarrggss)_¶
│ │ │ │ │ - Send an “acknowledged” message marker (_X_E_P_-_0_3_3_3) from this _X_M_P_P
│ │ │ │ │ - _E_n_t_i_t_y.
│ │ │ │ │ - Parameters:
│ │ │ │ │ - lleeggaaccyy__mmssgg__iidd (sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee) – The
│ │ │ │ │ - message this marker refers to
│ │ │ │ │ - received(lleeggaaccyy__mmssgg__iidd, ****kkwwaarrggss)_¶
│ │ │ │ │ - Send a “received” message marker (_X_E_P_-_0_3_3_3) from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - If called on a _L_e_g_a_c_y_C_o_n_t_a_c_t, also send a delivery receipt marker
│ │ │ │ │ - (_X_E_P_-_0_1_8_4).
│ │ │ │ │ - Parameters:
│ │ │ │ │ - lleeggaaccyy__mmssgg__iidd (sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee) – The
│ │ │ │ │ - message this marker refers to
│ │ │ │ │ - displayed(lleeggaaccyy__mmssgg__iidd, ****kkwwaarrggss)_¶
│ │ │ │ │ - Send a “displayed” message marker (_X_E_P_-_0_3_3_3) from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - Parameters:
│ │ │ │ │ - lleeggaaccyy__mmssgg__iidd (sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee) – The
│ │ │ │ │ - message this marker refers to
│ │ │ │ │ - online(ssttaattuuss==NNoonnee, llaasstt__sseeeenn==NNoonnee)_¶
│ │ │ │ │ - Send an “online” presence from this contact to the user.
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * ssttaattuuss (OOppttiioonnaall[[_ss_tt_rr]]) – Arbitrary text, details of the
│ │ │ │ │ - status, eg: “Listening to Britney Spears”
│ │ │ │ │ - * llaasstt__sseeeenn (OOppttiioonnaall[[_dd_aa_tt_ee_tt_ii_mm_ee_.._dd_aa_tt_ee_tt_ii_mm_ee]]) – For _X_E_P_-_0_3_1_9
│ │ │ │ │ - away(ssttaattuuss==NNoonnee, llaasstt__sseeeenn==NNoonnee)_¶
│ │ │ │ │ - Send an “away” presence from this contact to the user.
│ │ │ │ │ - This is a global status, as opposed to _L_e_g_a_c_y_C_o_n_t_a_c_t_._i_n_a_c_t_i_v_e_(_)
│ │ │ │ │ - which concerns a specific conversation, ie a specific “chat window”
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * ssttaattuuss (OOppttiioonnaall[[_ss_tt_rr]]) – Arbitrary text, details of the
│ │ │ │ │ - status, eg: “Gone to fight capitalism”
│ │ │ │ │ - * llaasstt__sseeeenn (OOppttiioonnaall[[_dd_aa_tt_ee_tt_ii_mm_ee_.._dd_aa_tt_ee_tt_ii_mm_ee]]) – For _X_E_P_-_0_3_1_9
│ │ │ │ │ - extended_away(ssttaattuuss==NNoonnee, llaasstt__sseeeenn==NNoonnee)_¶
│ │ │ │ │ - Send an “extended away” presence from this contact to the user.
│ │ │ │ │ - This is a global status, as opposed to _L_e_g_a_c_y_C_o_n_t_a_c_t_._i_n_a_c_t_i_v_e_(_)
│ │ │ │ │ - which concerns a specific conversation, ie a specific “chat window”
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * ssttaattuuss (OOppttiioonnaall[[_ss_tt_rr]]) – Arbitrary text, details of the
│ │ │ │ │ - status, eg: “Gone to fight capitalism”
│ │ │ │ │ - * llaasstt__sseeeenn (OOppttiioonnaall[[_dd_aa_tt_ee_tt_ii_mm_ee_.._dd_aa_tt_ee_tt_ii_mm_ee]]) – For _X_E_P_-_0_3_1_9
│ │ │ │ │ - busy(ssttaattuuss==NNoonnee, llaasstt__sseeeenn==NNoonnee)_¶
│ │ │ │ │ - Send a “busy” (ie, “dnd”) presence from this contact to the user,
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * ssttaattuuss (OOppttiioonnaall[[_ss_tt_rr]]) – eg: “Trying to make sense of
│ │ │ │ │ - XEP-0100”
│ │ │ │ │ - * llaasstt__sseeeenn (OOppttiioonnaall[[_dd_aa_tt_ee_tt_ii_mm_ee_.._dd_aa_tt_ee_tt_ii_mm_ee]]) – For _X_E_P_-_0_3_1_9
│ │ │ │ │ - offline(ssttaattuuss==NNoonnee, llaasstt__sseeeenn==NNoonnee)_¶
│ │ │ │ │ - Send an “offline” presence from this contact to the user.
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * ssttaattuuss (OOppttiioonnaall[[_ss_tt_rr]]) – eg: “Trying to make sense of
│ │ │ │ │ - XEP-0100”
│ │ │ │ │ - * llaasstt__sseeeenn (OOppttiioonnaall[[_dd_aa_tt_ee_tt_ii_mm_ee_.._dd_aa_tt_ee_tt_ii_mm_ee]]) – For _X_E_P_-_0_3_1_9
│ │ │ │ │ - aassyynncc available_emojis(lleeggaaccyy__mmssgg__iidd==NNoonnee)_¶
│ │ │ │ │ - Override this to restrict the subset of reactions this recipient
│ │ │ │ │ - can handle.
│ │ │ │ │ - Returns:
│ │ │ │ │ - A set of emojis or None if any emoji is allowed
│ │ │ │ │ - Parameters:
│ │ │ │ │ - lleeggaaccyy__mmssgg__iidd (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee]])
│ │ │ │ │ - Return type:
│ │ │ │ │ - Optional[_s_e_t[_s_t_r]]
│ │ │ │ │ ccllaassss slidge.contact.LegacyRoster(sseessssiioonn)_¶
│ │ │ │ │ Virtual roster of a gateway user, that allows to represent all of their
│ │ │ │ │ contacts as singleton instances (if used properly and not too bugged).
│ │ │ │ │ Every _B_a_s_e_S_e_s_s_i_o_n instance will have its own _L_e_g_a_c_y_R_o_s_t_e_r instance
│ │ │ │ │ accessible via the BaseSession.contacts attribute.
│ │ │ │ │ Typically, you will mostly use the _L_e_g_a_c_y_R_o_s_t_e_r_._b_y___l_e_g_a_c_y___i_d_(_) function
│ │ │ │ │ to retrieve a contact instance.
│ │ │ │ │ @@ -485,35 +249,12 @@
│ │ │ │ │ # _L_e_g_a_c_y_C_o_n_t_a_c_t_._r_e_j_e_c_t___f_r_i_e_n_d___r_e_q_u_e_s_t_(_)
│ │ │ │ │ # _L_e_g_a_c_y_C_o_n_t_a_c_t_._o_n___f_r_i_e_n_d___r_e_q_u_e_s_t_(_)
│ │ │ │ │ # _L_e_g_a_c_y_C_o_n_t_a_c_t_._o_n___f_r_i_e_n_d___d_e_l_e_t_e_(_)
│ │ │ │ │ # _L_e_g_a_c_y_C_o_n_t_a_c_t_._o_n___f_r_i_e_n_d___a_c_c_e_p_t_(_)
│ │ │ │ │ # _L_e_g_a_c_y_C_o_n_t_a_c_t_._u_n_s_u_b_s_c_r_i_b_e_(_)
│ │ │ │ │ # _L_e_g_a_c_y_C_o_n_t_a_c_t_._u_p_d_a_t_e___i_n_f_o_(_)
│ │ │ │ │ # _L_e_g_a_c_y_C_o_n_t_a_c_t_._f_e_t_c_h___v_c_a_r_d_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._a_v_a_t_a_r___i_d
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._a_v_a_t_a_r
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._s_e_t___a_v_a_t_a_r_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._i_n_v_i_t_e___t_o_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._a_c_t_i_v_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._c_o_m_p_o_s_i_n_g_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._p_a_u_s_e_d_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._i_n_a_c_t_i_v_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._g_o_n_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._s_e_n_d___f_i_l_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._s_e_n_d___t_e_x_t_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._c_o_r_r_e_c_t_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._r_e_a_c_t_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._r_e_t_r_a_c_t_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._a_c_k_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._r_e_c_e_i_v_e_d_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._d_i_s_p_l_a_y_e_d_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._o_n_l_i_n_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._a_w_a_y_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._e_x_t_e_n_d_e_d___a_w_a_y_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._b_u_s_y_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._o_f_f_l_i_n_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._a_v_a_i_l_a_b_l_e___e_m_o_j_i_s_(_)
│ │ │ │ │ # _L_e_g_a_c_y_R_o_s_t_e_r
│ │ │ │ │ # _L_e_g_a_c_y_R_o_s_t_e_r_._b_y___l_e_g_a_c_y___i_d_(_)
│ │ │ │ │ # _L_e_g_a_c_y_R_o_s_t_e_r_._l_e_g_a_c_y___i_d___t_o___j_i_d___u_s_e_r_n_a_m_e_(_)
│ │ │ │ │ # _L_e_g_a_c_y_R_o_s_t_e_r_._j_i_d___u_s_e_r_n_a_m_e___t_o___l_e_g_a_c_y___i_d_(_)
│ │ │ │ │ # _L_e_g_a_c_y_R_o_s_t_e_r_._f_i_l_l_(_)
│ │ │ ├── ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/group/index.html
│ │ │ │ @@ -463,295 +463,14 @@
│ │ │ │
│ │ │ │ - Parameters:
│ │ │ │ reason (str | None)
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -online(status=None, last_seen=None)
│ │ │ │ -Send an “online” presence from this contact to the user.
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -
│ │ │ │ -status (Optional[str]) – Arbitrary text, details of the status, eg: “Listening to Britney Spears”
│ │ │ │ -last_seen (Optional[datetime.datetime]) – For XEP-0319
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -away(status=None, last_seen=None)
│ │ │ │ -Send an “away” presence from this contact to the user.
│ │ │ │ -This is a global status, as opposed to LegacyContact.inactive()
│ │ │ │ -which concerns a specific conversation, ie a specific “chat window”
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -
│ │ │ │ -status (Optional[str]) – Arbitrary text, details of the status, eg: “Gone to fight capitalism”
│ │ │ │ -last_seen (Optional[datetime.datetime]) – For XEP-0319
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -extended_away(status=None, last_seen=None)
│ │ │ │ -Send an “extended away” presence from this contact to the user.
│ │ │ │ -This is a global status, as opposed to LegacyContact.inactive()
│ │ │ │ -which concerns a specific conversation, ie a specific “chat window”
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -
│ │ │ │ -status (Optional[str]) – Arbitrary text, details of the status, eg: “Gone to fight capitalism”
│ │ │ │ -last_seen (Optional[datetime.datetime]) – For XEP-0319
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -busy(status=None, last_seen=None)
│ │ │ │ -Send a “busy” (ie, “dnd”) presence from this contact to the user,
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ --
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -offline(status=None, last_seen=None)
│ │ │ │ -Send an “offline” presence from this contact to the user.
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ --
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -invite_to(muc, reason=None, password=None, **send_kwargs)
│ │ │ │ -Send an invitation to join a group (XEP-0249) from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -
│ │ │ │ -muc (slidge.group.LegacyMUC) – the muc the user is invited to
│ │ │ │ -reason (Optional[str]) – a text explaining why the user should join this muc
│ │ │ │ -password (Optional[str]) – maybe this will make sense later? not sure
│ │ │ │ -send_kwargs – additional kwargs to be passed to _send()
│ │ │ │ -(internal use by slidge)
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -active(**kwargs)
│ │ │ │ -Send an “active” chat state (XEP-0085) from this
│ │ │ │ -XMPP Entity.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -composing(**kwargs)
│ │ │ │ -Send a “composing” (ie “typing notification”) chat state (XEP-0085)
│ │ │ │ -from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -paused(**kwargs)
│ │ │ │ -Send a “paused” (ie “typing paused notification”) chat state
│ │ │ │ -(XEP-0085) from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -inactive(**kwargs)
│ │ │ │ -Send an “inactive” (ie “contact has not interacted with the chat session
│ │ │ │ -interface for an intermediate period of time”) chat state (XEP-0085)
│ │ │ │ -from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -gone(**kwargs)
│ │ │ │ -Send a “gone” (ie “contact has not interacted with the chat session interface,
│ │ │ │ -system, or device for a relatively long period of time”) chat state
│ │ │ │ -(XEP-0085) from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -ack(legacy_msg_id, **kwargs)
│ │ │ │ -Send an “acknowledged” message marker (XEP-0333) from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -legacy_msg_id (slidge.util.types.LegacyMessageType) – The message this marker refers to
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -received(legacy_msg_id, **kwargs)
│ │ │ │ -Send a “received” message marker (XEP-0333) from this XMPP Entity.
│ │ │ │ -If called on a LegacyContact
, also send a delivery receipt
│ │ │ │ -marker (XEP-0184).
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -legacy_msg_id (slidge.util.types.LegacyMessageType) – The message this marker refers to
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -displayed(legacy_msg_id, **kwargs)
│ │ │ │ -Send a “displayed” message marker (XEP-0333) from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -legacy_msg_id (slidge.util.types.LegacyMessageType) – The message this marker refers to
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -async send_file(file_path=None, legacy_msg_id=None, *, async_data_stream=None, data_stream=None, data=None, file_url=None, file_name=None, content_type=None, reply_to=None, when=None, caption=None, legacy_file_id=None, thread=None, **kwargs)
│ │ │ │ -Send a single file from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -
│ │ │ │ -file_path (Optional[Union[pathlib.Path, str]]) – Path to the attachment
│ │ │ │ -async_data_stream (Optional[AsyncIterator[bytes]]) – Alternatively (and ideally) an AsyncIterator yielding bytes
│ │ │ │ -data_stream (Optional[IO[bytes]]) – Alternatively, a stream of bytes (such as a File object)
│ │ │ │ -data (Optional[bytes]) – Alternatively, a bytes object
│ │ │ │ -file_url (Optional[str]) – Alternatively, a URL
│ │ │ │ -file_name (Optional[str]) – How the file should be named.
│ │ │ │ -content_type (Optional[str]) – MIME type, inferred from filename if not given
│ │ │ │ -legacy_msg_id (Optional[slidge.util.types.LegacyMessageType]) – If you want to be able to transport read markers from the gateway
│ │ │ │ -user to the legacy network, specify this
│ │ │ │ -reply_to (Optional[slidge.util.types.MessageReference]) – Quote another message (XEP-0461)
│ │ │ │ -when (Optional[datetime.datetime]) – when the file was sent, for a “delay” tag (XEP-0203)
│ │ │ │ -caption (Optional[str]) – an optional text that is linked to the file
│ │ │ │ -legacy_file_id (Optional[Union[str, int]]) – A unique identifier for the file on the legacy network.
│ │ │ │ -Plugins should try their best to provide it, to avoid duplicates.
│ │ │ │ -thread (Optional[slidge.util.types.LegacyThreadType])
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -- Return type:
│ │ │ │ -tuple[Optional[str], list[slixmpp.Message]]
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -send_text(body, legacy_msg_id=None, *, when=None, reply_to=None, thread=None, hints=None, carbon=False, archive_only=False, correction=False, correction_event_id=None, link_previews=None, **send_kwargs)
│ │ │ │ -Send a text message from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -
│ │ │ │ -body (str) – Content of the message
│ │ │ │ -legacy_msg_id (Optional[slidge.util.types.LegacyMessageType]) – If you want to be able to transport read markers from the gateway
│ │ │ │ -user to the legacy network, specify this
│ │ │ │ -when (Optional[datetime.datetime]) – when the message was sent, for a “delay” tag (XEP-0203)
│ │ │ │ -reply_to (Optional[slidge.util.types.MessageReference]) – Quote another message (XEP-0461)
│ │ │ │ -hints (Optional[Iterable[slidge.util.types.ProcessingHint]])
│ │ │ │ -thread (Optional[slidge.util.types.LegacyThreadType])
│ │ │ │ -carbon – (only used if called on a LegacyContact
)
│ │ │ │ -Set this to True
if this is actually a message sent to the
│ │ │ │ -LegacyContact
by the User.
│ │ │ │ -Use this to synchronize outgoing history for legacy official apps.
│ │ │ │ -correction – whether this message is a correction or not
│ │ │ │ -correction_event_id (Optional[slidge.util.types.LegacyMessageType]) – in the case where an ID is associated with the legacy
│ │ │ │ -‘correction event’, specify it here to use it on the XMPP side. If not specified,
│ │ │ │ -a random ID will be used.
│ │ │ │ -link_previews (Optional[list[slidge.util.types.LinkPreview]]) – A little of sender (or server, or gateway)-generated
│ │ │ │ -previews of URLs linked in the body.
│ │ │ │ -archive_only – (only in groups) Do not send this message to user,
│ │ │ │ -but store it in the archive. Meant to be used during MUC.backfill()
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -correct(legacy_msg_id, new_text, *, when=None, reply_to=None, thread=None, hints=None, carbon=False, archive_only=False, correction_event_id=None, link_previews=None, **send_kwargs)
│ │ │ │ -Modify a message that was previously sent by this XMPP Entity.
│ │ │ │ -Uses last message correction (XEP-0308)
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -
│ │ │ │ -new_text (str) – New content of the message
│ │ │ │ -legacy_msg_id (slidge.util.types.LegacyMessageType) – The legacy message ID of the message to correct
│ │ │ │ -when (Optional[datetime.datetime]) – when the message was sent, for a “delay” tag (XEP-0203)
│ │ │ │ -reply_to (Optional[slidge.util.types.MessageReference]) – Quote another message (XEP-0461)
│ │ │ │ -hints (Optional[Iterable[slidge.util.types.ProcessingHint]])
│ │ │ │ -thread (Optional[slidge.util.types.LegacyThreadType])
│ │ │ │ -carbon – (only in 1:1) Reflect a message sent to this Contact
by the user.
│ │ │ │ -Use this to synchronize outgoing history for legacy official apps.
│ │ │ │ -archive_only – (only in groups) Do not send this message to user,
│ │ │ │ -but store it in the archive. Meant to be used during MUC.backfill()
│ │ │ │ -correction_event_id (Optional[slidge.util.types.LegacyMessageType]) – in the case where an ID is associated with the legacy
│ │ │ │ -‘correction event’, specify it here to use it on the XMPP side. If not specified,
│ │ │ │ -a random ID will be used.
│ │ │ │ -link_previews (Optional[list[slidge.util.types.LinkPreview]]) – A little of sender (or server, or gateway)-generated
│ │ │ │ -previews of URLs linked in the body.
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -react(legacy_msg_id, emojis=(), thread=None, **kwargs)
│ │ │ │ -Send a reaction (XEP-0444) from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -
│ │ │ │ -legacy_msg_id (slidge.util.types.LegacyMessageType) – The message which the reaction refers to.
│ │ │ │ -emojis (Iterable[str]) – An iterable of emojis used as reactions
│ │ │ │ -thread (Optional[slidge.util.types.LegacyThreadType])
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -retract(legacy_msg_id, thread=None, **kwargs)
│ │ │ │ -Send a message retraction (XEP-0424) from this XMPP Entity.
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ --
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ -
│ │ │ │ class slidge.group.LegacyMUC(session, legacy_id, jid)
│ │ │ │ A room, a.k.a. a Multi-User Chat.
│ │ │ │ MUC instances are obtained by calling slidge.group.bookmarks.LegacyBookmarks()
│ │ │ │ @@ -1040,15 +759,15 @@
│ │ │ │ the XMPP client, there is no guarantee that this is valid or
│ │ │ │ correct.
│ │ │ │
│ │ │ │
│ │ │ │ - Returns:
│ │ │ │ A unique avatar identifier, which will trigger
│ │ │ │ slidge.group.room.LegacyMUC.set_avatar()
. Alternatively, None, if
│ │ │ │ -LegacyMUC.set_avatar()
is meant to be awaited somewhere else.
│ │ │ │ +LegacyMUC.set_avatar()
is meant to be awaited somewhere else.
│ │ │ │
│ │ │ │ Return type:
│ │ │ │ Optional[Union[int, str]]
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ @@ -1176,83 +895,14 @@
│ │ │ │
│ │ │ │ Return type:
│ │ │ │ None
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -property avatar_id: slidge.util.types.AvatarIdType | None
│ │ │ │ -The unique ID of this entity’s avatar.
│ │ │ │ -
│ │ │ │ -- Return type:
│ │ │ │ -Optional[slidge.util.types.AvatarIdType]
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -property avatar: slidge.util.types.AvatarIdType | None
│ │ │ │ -This property can be used to set the avatar, but
│ │ │ │ -set_avatar()
should be preferred because you can
│ │ │ │ -provide a unique ID for the avatar for efficient caching.
│ │ │ │ -Setting this is OKish in case the avatar type is a URL or a local path
│ │ │ │ -that can act as a legacy ID.
│ │ │ │ -Python’s property
is abused here to maintain backwards
│ │ │ │ -compatibility, but when getting it you actually get the avatar legacy
│ │ │ │ -ID.
│ │ │ │ -
│ │ │ │ -- Return type:
│ │ │ │ -Optional[slidge.util.types.AvatarIdType]
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -async set_avatar(a, avatar_unique_id=None, delete=False, blocking=False, cancel=True)
│ │ │ │ -Set an avatar for this entity
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -
│ │ │ │ -a (Optional[slidge.util.types.AvatarType]) – The avatar, in one of the types slidge supports
│ │ │ │ -avatar_unique_id (Optional[slidge.util.types.LegacyFileIdType]) – A globally unique ID for the avatar on the
│ │ │ │ -legacy network
│ │ │ │ -delete (bool) – If the avatar is provided as a Path, whether to delete
│ │ │ │ -it once used or not.
│ │ │ │ -blocking – Internal use by slidge for tests, do not use!
│ │ │ │ -cancel – Internal use by slidge, do not use!
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -- Return type:
│ │ │ │ -None
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ --
│ │ │ │ -async available_emojis(legacy_msg_id=None)
│ │ │ │ -Override this to restrict the subset of reactions this recipient
│ │ │ │ -can handle.
│ │ │ │ -
│ │ │ │ -- Returns:
│ │ │ │ -A set of emojis or None if any emoji is allowed
│ │ │ │ -
│ │ │ │ -- Parameters:
│ │ │ │ -legacy_msg_id (Optional[slidge.util.types.LegacyMessageType])
│ │ │ │ -
│ │ │ │ -- Return type:
│ │ │ │ -Optional[set[str]]
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │ -
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ @@ -1326,33 +976,14 @@
│ │ │ │
│ │ │ │
│ │ │ │ LegacyParticipant
│ │ │ │
│ │ │ │ LegacyMUC
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ ├── html2text {}
│ │ │ │ │ @@ -128,211 +128,14 @@
│ │ │ │ │ Call this when the participant is kicked from the room
│ │ │ │ │ Parameters:
│ │ │ │ │ rreeaassoonn (_ss_tt_rr || NNoonnee)
│ │ │ │ │ ban(rreeaassoonn==NNoonnee)_¶
│ │ │ │ │ Call this when the participant is banned from the room
│ │ │ │ │ Parameters:
│ │ │ │ │ rreeaassoonn (_ss_tt_rr || NNoonnee)
│ │ │ │ │ - online(ssttaattuuss==NNoonnee, llaasstt__sseeeenn==NNoonnee)_¶
│ │ │ │ │ - Send an “online” presence from this contact to the user.
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * ssttaattuuss (OOppttiioonnaall[[_ss_tt_rr]]) – Arbitrary text, details of the
│ │ │ │ │ - status, eg: “Listening to Britney Spears”
│ │ │ │ │ - * llaasstt__sseeeenn (OOppttiioonnaall[[_dd_aa_tt_ee_tt_ii_mm_ee_.._dd_aa_tt_ee_tt_ii_mm_ee]]) – For _X_E_P_-_0_3_1_9
│ │ │ │ │ - away(ssttaattuuss==NNoonnee, llaasstt__sseeeenn==NNoonnee)_¶
│ │ │ │ │ - Send an “away” presence from this contact to the user.
│ │ │ │ │ - This is a global status, as opposed to _L_e_g_a_c_y_C_o_n_t_a_c_t_._i_n_a_c_t_i_v_e_(_)
│ │ │ │ │ - which concerns a specific conversation, ie a specific “chat window”
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * ssttaattuuss (OOppttiioonnaall[[_ss_tt_rr]]) – Arbitrary text, details of the
│ │ │ │ │ - status, eg: “Gone to fight capitalism”
│ │ │ │ │ - * llaasstt__sseeeenn (OOppttiioonnaall[[_dd_aa_tt_ee_tt_ii_mm_ee_.._dd_aa_tt_ee_tt_ii_mm_ee]]) – For _X_E_P_-_0_3_1_9
│ │ │ │ │ - extended_away(ssttaattuuss==NNoonnee, llaasstt__sseeeenn==NNoonnee)_¶
│ │ │ │ │ - Send an “extended away” presence from this contact to the user.
│ │ │ │ │ - This is a global status, as opposed to _L_e_g_a_c_y_C_o_n_t_a_c_t_._i_n_a_c_t_i_v_e_(_)
│ │ │ │ │ - which concerns a specific conversation, ie a specific “chat window”
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * ssttaattuuss (OOppttiioonnaall[[_ss_tt_rr]]) – Arbitrary text, details of the
│ │ │ │ │ - status, eg: “Gone to fight capitalism”
│ │ │ │ │ - * llaasstt__sseeeenn (OOppttiioonnaall[[_dd_aa_tt_ee_tt_ii_mm_ee_.._dd_aa_tt_ee_tt_ii_mm_ee]]) – For _X_E_P_-_0_3_1_9
│ │ │ │ │ - busy(ssttaattuuss==NNoonnee, llaasstt__sseeeenn==NNoonnee)_¶
│ │ │ │ │ - Send a “busy” (ie, “dnd”) presence from this contact to the user,
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * ssttaattuuss (OOppttiioonnaall[[_ss_tt_rr]]) – eg: “Trying to make sense of
│ │ │ │ │ - XEP-0100”
│ │ │ │ │ - * llaasstt__sseeeenn (OOppttiioonnaall[[_dd_aa_tt_ee_tt_ii_mm_ee_.._dd_aa_tt_ee_tt_ii_mm_ee]]) – For _X_E_P_-_0_3_1_9
│ │ │ │ │ - offline(ssttaattuuss==NNoonnee, llaasstt__sseeeenn==NNoonnee)_¶
│ │ │ │ │ - Send an “offline” presence from this contact to the user.
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * ssttaattuuss (OOppttiioonnaall[[_ss_tt_rr]]) – eg: “Trying to make sense of
│ │ │ │ │ - XEP-0100”
│ │ │ │ │ - * llaasstt__sseeeenn (OOppttiioonnaall[[_dd_aa_tt_ee_tt_ii_mm_ee_.._dd_aa_tt_ee_tt_ii_mm_ee]]) – For _X_E_P_-_0_3_1_9
│ │ │ │ │ - invite_to(mmuucc, rreeaassoonn==NNoonnee, ppaasssswwoorrdd==NNoonnee, ****sseenndd__kkwwaarrggss)_¶
│ │ │ │ │ - Send an invitation to join a group (_X_E_P_-_0_2_4_9) from this _X_M_P_P
│ │ │ │ │ - _E_n_t_i_t_y.
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * mmuucc (_ss_ll_ii_dd_gg_ee_.._gg_rr_oo_uu_pp_.._LL_ee_gg_aa_cc_yy_MM_UU_CC) – the muc the user is
│ │ │ │ │ - invited to
│ │ │ │ │ - * rreeaassoonn (OOppttiioonnaall[[_ss_tt_rr]]) – a text explaining why the user
│ │ │ │ │ - should join this muc
│ │ │ │ │ - * ppaasssswwoorrdd (OOppttiioonnaall[[_ss_tt_rr]]) – maybe this will make sense
│ │ │ │ │ - later? not sure
│ │ │ │ │ - * sseenndd__kkwwaarrggss – additional kwargs to be passed to _send()
│ │ │ │ │ - (internal use by slidge)
│ │ │ │ │ - active(****kkwwaarrggss)_¶
│ │ │ │ │ - Send an “active” chat state (_X_E_P_-_0_0_8_5) from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - composing(****kkwwaarrggss)_¶
│ │ │ │ │ - Send a “composing” (ie “typing notification”) chat state (_X_E_P_-_0_0_8_5)
│ │ │ │ │ - from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - paused(****kkwwaarrggss)_¶
│ │ │ │ │ - Send a “paused” (ie “typing paused notification”) chat state (_X_E_P_-
│ │ │ │ │ - _0_0_8_5) from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - inactive(****kkwwaarrggss)_¶
│ │ │ │ │ - Send an “inactive” (ie “contact has not interacted with the chat
│ │ │ │ │ - session interface for an intermediate period of time”) chat state
│ │ │ │ │ - (_X_E_P_-_0_0_8_5) from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - gone(****kkwwaarrggss)_¶
│ │ │ │ │ - Send a “gone” (ie “contact has not interacted with the chat session
│ │ │ │ │ - interface, system, or device for a relatively long period of time”)
│ │ │ │ │ - chat state (_X_E_P_-_0_0_8_5) from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - ack(lleeggaaccyy__mmssgg__iidd, ****kkwwaarrggss)_¶
│ │ │ │ │ - Send an “acknowledged” message marker (_X_E_P_-_0_3_3_3) from this _X_M_P_P
│ │ │ │ │ - _E_n_t_i_t_y.
│ │ │ │ │ - Parameters:
│ │ │ │ │ - lleeggaaccyy__mmssgg__iidd (sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee) – The
│ │ │ │ │ - message this marker refers to
│ │ │ │ │ - received(lleeggaaccyy__mmssgg__iidd, ****kkwwaarrggss)_¶
│ │ │ │ │ - Send a “received” message marker (_X_E_P_-_0_3_3_3) from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - If called on a LegacyContact, also send a delivery receipt marker
│ │ │ │ │ - (_X_E_P_-_0_1_8_4).
│ │ │ │ │ - Parameters:
│ │ │ │ │ - lleeggaaccyy__mmssgg__iidd (sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee) – The
│ │ │ │ │ - message this marker refers to
│ │ │ │ │ - displayed(lleeggaaccyy__mmssgg__iidd, ****kkwwaarrggss)_¶
│ │ │ │ │ - Send a “displayed” message marker (_X_E_P_-_0_3_3_3) from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - Parameters:
│ │ │ │ │ - lleeggaaccyy__mmssgg__iidd (sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee) – The
│ │ │ │ │ - message this marker refers to
│ │ │ │ │ - aassyynncc send_file(ffiillee__ppaatthh==NNoonnee, lleeggaaccyy__mmssgg__iidd==NNoonnee, **,
│ │ │ │ │ - aassyynncc__ddaattaa__ssttrreeaamm==NNoonnee, ddaattaa__ssttrreeaamm==NNoonnee, ddaattaa==NNoonnee, ffiillee__uurrll==NNoonnee,
│ │ │ │ │ - ffiillee__nnaammee==NNoonnee, ccoonntteenntt__ttyyppee==NNoonnee, rreeppllyy__ttoo==NNoonnee, wwhheenn==NNoonnee,
│ │ │ │ │ - ccaappttiioonn==NNoonnee, lleeggaaccyy__ffiillee__iidd==NNoonnee, tthhrreeaadd==NNoonnee, ****kkwwaarrggss)_¶
│ │ │ │ │ - Send a single file from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * ffiillee__ppaatthh (OOppttiioonnaall[[UUnniioonn[[_pp_aa_tt_hh_ll_ii_bb_.._PP_aa_tt_hh,, _ss_tt_rr]]]]) – Path
│ │ │ │ │ - to the attachment
│ │ │ │ │ - * aassyynncc__ddaattaa__ssttrreeaamm (OOppttiioonnaall[[AAssyynnccIItteerraattoorr[[_bb_yy_tt_ee_ss]]]]) –
│ │ │ │ │ - Alternatively (and ideally) an AsyncIterator yielding
│ │ │ │ │ - bytes
│ │ │ │ │ - * ddaattaa__ssttrreeaamm (OOppttiioonnaall[[IIOO[[_bb_yy_tt_ee_ss]]]]) – Alternatively, a
│ │ │ │ │ - stream of bytes (such as a File object)
│ │ │ │ │ - * ddaattaa (OOppttiioonnaall[[_bb_yy_tt_ee_ss]]) – Alternatively, a bytes object
│ │ │ │ │ - * ffiillee__uurrll (OOppttiioonnaall[[_ss_tt_rr]]) – Alternatively, a URL
│ │ │ │ │ - * ffiillee__nnaammee (OOppttiioonnaall[[_ss_tt_rr]]) – How the file should be
│ │ │ │ │ - named.
│ │ │ │ │ - * ccoonntteenntt__ttyyppee (OOppttiioonnaall[[_ss_tt_rr]]) – MIME type, inferred from
│ │ │ │ │ - filename if not given
│ │ │ │ │ - * lleeggaaccyy__mmssgg__iidd (OOppttiioonnaall
│ │ │ │ │ - [[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee]]) – If you want to
│ │ │ │ │ - be able to transport read markers from the gateway user
│ │ │ │ │ - to the legacy network, specify this
│ │ │ │ │ - * rreeppllyy__ttoo (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..MMeessssaaggeeRReeffeerreennccee]])
│ │ │ │ │ - – Quote another message (_X_E_P_-_0_4_6_1)
│ │ │ │ │ - * wwhheenn (OOppttiioonnaall[[_dd_aa_tt_ee_tt_ii_mm_ee_.._dd_aa_tt_ee_tt_ii_mm_ee]]) – when the file was
│ │ │ │ │ - sent, for a “delay” tag (_X_E_P_-_0_2_0_3)
│ │ │ │ │ - * ccaappttiioonn (OOppttiioonnaall[[_ss_tt_rr]]) – an optional text that is
│ │ │ │ │ - linked to the file
│ │ │ │ │ - * lleeggaaccyy__ffiillee__iidd (OOppttiioonnaall[[UUnniioonn[[_ss_tt_rr,, _ii_nn_tt]]]]) – A unique
│ │ │ │ │ - identifier for the file on the legacy network. Plugins
│ │ │ │ │ - should try their best to provide it, to avoid
│ │ │ │ │ - duplicates.
│ │ │ │ │ - * tthhrreeaadd (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyTThhrreeaaddTTyyppee]])
│ │ │ │ │ - Return type:
│ │ │ │ │ - _t_u_p_l_e[Optional[_s_t_r], _l_i_s_t[slixmpp.Message]]
│ │ │ │ │ - send_text(bbooddyy, lleeggaaccyy__mmssgg__iidd==NNoonnee, **, wwhheenn==NNoonnee, rreeppllyy__ttoo==NNoonnee,
│ │ │ │ │ - tthhrreeaadd==NNoonnee, hhiinnttss==NNoonnee, ccaarrbboonn==FFaallssee, aarrcchhiivvee__oonnllyy==FFaallssee,
│ │ │ │ │ - ccoorrrreeccttiioonn==FFaallssee, ccoorrrreeccttiioonn__eevveenntt__iidd==NNoonnee, lliinnkk__pprreevviieewwss==NNoonnee,
│ │ │ │ │ - ****sseenndd__kkwwaarrggss)_¶
│ │ │ │ │ - Send a text message from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * bbooddyy (_ss_tt_rr) – Content of the message
│ │ │ │ │ - * lleeggaaccyy__mmssgg__iidd (OOppttiioonnaall
│ │ │ │ │ - [[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee]]) – If you want to
│ │ │ │ │ - be able to transport read markers from the gateway user
│ │ │ │ │ - to the legacy network, specify this
│ │ │ │ │ - * wwhheenn (OOppttiioonnaall[[_dd_aa_tt_ee_tt_ii_mm_ee_.._dd_aa_tt_ee_tt_ii_mm_ee]]) – when the message
│ │ │ │ │ - was sent, for a “delay” tag (_X_E_P_-_0_2_0_3)
│ │ │ │ │ - * rreeppllyy__ttoo (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..MMeessssaaggeeRReeffeerreennccee]])
│ │ │ │ │ - – Quote another message (_X_E_P_-_0_4_6_1)
│ │ │ │ │ - * hhiinnttss (OOppttiioonnaall[[IItteerraabbllee
│ │ │ │ │ - [[sslliiddggee..uuttiill..ttyyppeess..PPrroocceessssiinnggHHiinntt]]]])
│ │ │ │ │ - * tthhrreeaadd (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyTThhrreeaaddTTyyppee]])
│ │ │ │ │ - * ccaarrbboonn – (only used if called on a LegacyContact) Set
│ │ │ │ │ - this to True if this is actually a message sent ttoo the
│ │ │ │ │ - LegacyContact by the _U_s_e_r. Use this to synchronize
│ │ │ │ │ - outgoing history for legacy official apps.
│ │ │ │ │ - * ccoorrrreeccttiioonn – whether this message is a correction or
│ │ │ │ │ - not
│ │ │ │ │ - * ccoorrrreeccttiioonn__eevveenntt__iidd (OOppttiioonnaall
│ │ │ │ │ - [[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee]]) – in the case
│ │ │ │ │ - where an ID is associated with the legacy ‘correction
│ │ │ │ │ - event’, specify it here to use it on the XMPP side. If
│ │ │ │ │ - not specified, a random ID will be used.
│ │ │ │ │ - * lliinnkk__pprreevviieewwss (OOppttiioonnaall[[_ll_ii_ss_tt
│ │ │ │ │ - [[sslliiddggee..uuttiill..ttyyppeess..LLiinnkkPPrreevviieeww]]]]) – A little of sender
│ │ │ │ │ - (or server, or gateway)-generated previews of URLs
│ │ │ │ │ - linked in the body.
│ │ │ │ │ - * aarrcchhiivvee__oonnllyy – (only in groups) Do not send this
│ │ │ │ │ - message to user, but store it in the archive. Meant to
│ │ │ │ │ - be used during MUC.backfill()
│ │ │ │ │ - correct(lleeggaaccyy__mmssgg__iidd, nneeww__tteexxtt, **, wwhheenn==NNoonnee, rreeppllyy__ttoo==NNoonnee,
│ │ │ │ │ - tthhrreeaadd==NNoonnee, hhiinnttss==NNoonnee, ccaarrbboonn==FFaallssee, aarrcchhiivvee__oonnllyy==FFaallssee,
│ │ │ │ │ - ccoorrrreeccttiioonn__eevveenntt__iidd==NNoonnee, lliinnkk__pprreevviieewwss==NNoonnee, ****sseenndd__kkwwaarrggss)_¶
│ │ │ │ │ - Modify a message that was previously sent by this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - Uses last message correction (_X_E_P_-_0_3_0_8)
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * nneeww__tteexxtt (_ss_tt_rr) – New content of the message
│ │ │ │ │ - * lleeggaaccyy__mmssgg__iidd (sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee) –
│ │ │ │ │ - The legacy message ID of the message to correct
│ │ │ │ │ - * wwhheenn (OOppttiioonnaall[[_dd_aa_tt_ee_tt_ii_mm_ee_.._dd_aa_tt_ee_tt_ii_mm_ee]]) – when the message
│ │ │ │ │ - was sent, for a “delay” tag (_X_E_P_-_0_2_0_3)
│ │ │ │ │ - * rreeppllyy__ttoo (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..MMeessssaaggeeRReeffeerreennccee]])
│ │ │ │ │ - – Quote another message (_X_E_P_-_0_4_6_1)
│ │ │ │ │ - * hhiinnttss (OOppttiioonnaall[[IItteerraabbllee
│ │ │ │ │ - [[sslliiddggee..uuttiill..ttyyppeess..PPrroocceessssiinnggHHiinntt]]]])
│ │ │ │ │ - * tthhrreeaadd (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyTThhrreeaaddTTyyppee]])
│ │ │ │ │ - * ccaarrbboonn – (only in 1:1) Reflect a message sent to this
│ │ │ │ │ - Contact by the user. Use this to synchronize outgoing
│ │ │ │ │ - history for legacy official apps.
│ │ │ │ │ - * aarrcchhiivvee__oonnllyy – (only in groups) Do not send this
│ │ │ │ │ - message to user, but store it in the archive. Meant to
│ │ │ │ │ - be used during MUC.backfill()
│ │ │ │ │ - * ccoorrrreeccttiioonn__eevveenntt__iidd (OOppttiioonnaall
│ │ │ │ │ - [[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee]]) – in the case
│ │ │ │ │ - where an ID is associated with the legacy ‘correction
│ │ │ │ │ - event’, specify it here to use it on the XMPP side. If
│ │ │ │ │ - not specified, a random ID will be used.
│ │ │ │ │ - * lliinnkk__pprreevviieewwss (OOppttiioonnaall[[_ll_ii_ss_tt
│ │ │ │ │ - [[sslliiddggee..uuttiill..ttyyppeess..LLiinnkkPPrreevviieeww]]]]) – A little of sender
│ │ │ │ │ - (or server, or gateway)-generated previews of URLs
│ │ │ │ │ - linked in the body.
│ │ │ │ │ - react(lleeggaaccyy__mmssgg__iidd, eemmoojjiiss==(()), tthhrreeaadd==NNoonnee, ****kkwwaarrggss)_¶
│ │ │ │ │ - Send a reaction (_X_E_P_-_0_4_4_4) from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * lleeggaaccyy__mmssgg__iidd (sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee) –
│ │ │ │ │ - The message which the reaction refers to.
│ │ │ │ │ - * eemmoojjiiss (IItteerraabbllee[[_ss_tt_rr]]) – An iterable of emojis used as
│ │ │ │ │ - reactions
│ │ │ │ │ - * tthhrreeaadd (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyTThhrreeaaddTTyyppee]])
│ │ │ │ │ - retract(lleeggaaccyy__mmssgg__iidd, tthhrreeaadd==NNoonnee, ****kkwwaarrggss)_¶
│ │ │ │ │ - Send a message retraction (_X_E_P_-_0_4_2_4) from this _X_M_P_P_ _E_n_t_i_t_y.
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * lleeggaaccyy__mmssgg__iidd (sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee) –
│ │ │ │ │ - Legacy ID of the message to delete
│ │ │ │ │ - * tthhrreeaadd (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyTThhrreeaaddTTyyppee]])
│ │ │ │ │ ccllaassss slidge.group.LegacyMUC(sseessssiioonn, lleeggaaccyy__iidd, jjiidd)_¶
│ │ │ │ │ A room, a.k.a. a Multi-User Chat.
│ │ │ │ │ MUC instances are obtained by calling
│ │ │ │ │ slidge.group.bookmarks.LegacyBookmarks() on the user’s
│ │ │ │ │ slidge.core.session.BaseSession.
│ │ │ │ │ Parameters:
│ │ │ │ │ * sseessssiioonn (sslliiddggee..ccoorree..sseessssiioonn..BBaasseeSSeessssiioonn)
│ │ │ │ │ @@ -503,15 +306,15 @@
│ │ │ │ │ meant to remove the avatar
│ │ │ │ │ * mmiimmee (OOppttiioonnaall[[_ss_tt_rr]]) – the mime type of the image.
│ │ │ │ │ Since this is provided by the XMPP client, there is no
│ │ │ │ │ guarantee that this is valid or correct.
│ │ │ │ │ Returns:
│ │ │ │ │ A unique avatar identifier, which will trigger
│ │ │ │ │ slidge.group.room.LegacyMUC.set_avatar(). Alternatively,
│ │ │ │ │ - None, if _L_e_g_a_c_y_M_U_C_._s_e_t___a_v_a_t_a_r_(_) is meant to be awaited
│ │ │ │ │ + None, if LegacyMUC.set_avatar() is meant to be awaited
│ │ │ │ │ somewhere else.
│ │ │ │ │ Return type:
│ │ │ │ │ Optional[Union[_i_n_t, _s_t_r]]
│ │ │ │ │ aabbssttrraacctt on_set_affiliation(ccoonnttaacctt, aaffffiilliiaattiioonn, rreeaassoonn, nniicckknnaammee)_¶
│ │ │ │ │ Async:
│ │ │ │ │ Parameters:
│ │ │ │ │ * ccoonnttaacctt (sslliiddggee..ccoonnttaacctt..ccoonnttaacctt..LLeeggaaccyyCCoonnttaacctt)
│ │ │ │ │ @@ -572,53 +375,14 @@
│ │ │ │ │ Triggered when the user requests changing the room subject.
│ │ │ │ │ The legacy module is responsible for updating subject of this
│ │ │ │ │ instance.
│ │ │ │ │ Parameters:
│ │ │ │ │ ssuubbjjeecctt (_ss_tt_rr) – The new subject for this room.
│ │ │ │ │ Return type:
│ │ │ │ │ None
│ │ │ │ │ - pprrooppeerrttyy avatar_id:: sslliiddggee..uuttiill..ttyyppeess..AAvvaattaarrIIddTTyyppee || _NN_oo_nn_ee_¶
│ │ │ │ │ - The unique ID of this entity’s avatar.
│ │ │ │ │ - Return type:
│ │ │ │ │ - Optional[slidge.util.types.AvatarIdType]
│ │ │ │ │ - pprrooppeerrttyy avatar:: sslliiddggee..uuttiill..ttyyppeess..AAvvaattaarrIIddTTyyppee || _NN_oo_nn_ee_¶
│ │ │ │ │ - This property can be used to set the avatar, but set_avatar()
│ │ │ │ │ - should be preferred because you can provide a unique ID for the
│ │ │ │ │ - avatar for efficient caching. Setting this is OKish in case the
│ │ │ │ │ - avatar type is a URL or a local path that can act as a legacy ID.
│ │ │ │ │ - Python’s property is abused here to maintain backwards
│ │ │ │ │ - compatibility, but when getting it you actually get the avatar
│ │ │ │ │ - legacy ID.
│ │ │ │ │ - Return type:
│ │ │ │ │ - Optional[slidge.util.types.AvatarIdType]
│ │ │ │ │ - aassyynncc set_avatar(aa, aavvaattaarr__uunniiqquuee__iidd==NNoonnee, ddeelleettee==FFaallssee,
│ │ │ │ │ - bblloocckkiinngg==FFaallssee, ccaanncceell==TTrruuee)_¶
│ │ │ │ │ - Set an avatar for this entity
│ │ │ │ │ - Parameters:
│ │ │ │ │ - * aa (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..AAvvaattaarrTTyyppee]]) – The
│ │ │ │ │ - avatar, in one of the types slidge supports
│ │ │ │ │ - * aavvaattaarr__uunniiqquuee__iidd (OOppttiioonnaall
│ │ │ │ │ - [[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyFFiilleeIIddTTyyppee]]) – A globally
│ │ │ │ │ - unique ID for the avatar on the legacy network
│ │ │ │ │ - * ddeelleettee (_bb_oo_oo_ll) – If the avatar is provided as a Path,
│ │ │ │ │ - whether to delete it once used or not.
│ │ │ │ │ - * bblloocckkiinngg – Internal use by slidge for tests, do not
│ │ │ │ │ - use!
│ │ │ │ │ - * ccaanncceell – Internal use by slidge, do not use!
│ │ │ │ │ - Return type:
│ │ │ │ │ - None
│ │ │ │ │ - aassyynncc available_emojis(lleeggaaccyy__mmssgg__iidd==NNoonnee)_¶
│ │ │ │ │ - Override this to restrict the subset of reactions this recipient
│ │ │ │ │ - can handle.
│ │ │ │ │ - Returns:
│ │ │ │ │ - A set of emojis or None if any emoji is allowed
│ │ │ │ │ - Parameters:
│ │ │ │ │ - lleeggaaccyy__mmssgg__iidd (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee]])
│ │ │ │ │ - Return type:
│ │ │ │ │ - Optional[_s_e_t[_s_t_r]]
│ │ │ │ │ _N_e_x_t
│ │ │ │ │ _s_l_i_d_g_e_._m_a_i_n
│ │ │ │ │ _P_r_e_v_i_o_u_s
│ │ │ │ │ _s_l_i_d_g_e_._c_o_n_t_a_c_t
│ │ │ │ │ Copyright © 2024, Nicolas Cedilnik
│ │ │ │ │ Made with _S_p_h_i_n_x and _@_p_r_a_d_y_u_n_s_g's _F_u_r_o
│ │ │ │ │ On this page
│ │ │ │ │ @@ -635,33 +399,14 @@
│ │ │ │ │ # _L_e_g_a_c_y_B_o_o_k_m_a_r_k_s_._f_i_l_l_(_)
│ │ │ │ │ # _L_e_g_a_c_y_B_o_o_k_m_a_r_k_s_._r_e_m_o_v_e_(_)
│ │ │ │ │ # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._s_e_n_d___i_n_i_t_i_a_l___p_r_e_s_e_n_c_e_(_)
│ │ │ │ │ # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._l_e_a_v_e_(_)
│ │ │ │ │ # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._k_i_c_k_(_)
│ │ │ │ │ # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._b_a_n_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._o_n_l_i_n_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._a_w_a_y_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._e_x_t_e_n_d_e_d___a_w_a_y_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._b_u_s_y_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._o_f_f_l_i_n_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._i_n_v_i_t_e___t_o_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._a_c_t_i_v_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._c_o_m_p_o_s_i_n_g_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._p_a_u_s_e_d_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._i_n_a_c_t_i_v_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._g_o_n_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._a_c_k_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._r_e_c_e_i_v_e_d_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._d_i_s_p_l_a_y_e_d_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._s_e_n_d___f_i_l_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._s_e_n_d___t_e_x_t_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._c_o_r_r_e_c_t_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._r_e_a_c_t_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._r_e_t_r_a_c_t_(_)
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._S_T_A_B_L_E___A_R_C_H_I_V_E
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._K_E_E_P___B_A_C_K_F_I_L_L_E_D___P_A_R_T_I_C_I_P_A_N_T_S
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._H_A_S___D_E_S_C_R_I_P_T_I_O_N
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._H_A_S___S_U_B_J_E_C_T
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._u_p_d_a_t_e___i_n_f_o_(_)
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._b_a_c_k_f_i_l_l_(_)
│ │ │ │ │ @@ -675,11 +420,7 @@
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._a_d_d___t_o___b_o_o_k_m_a_r_k_s_(_)
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._o_n___a_v_a_t_a_r_(_)
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._o_n___s_e_t___a_f_f_i_l_i_a_t_i_o_n_(_)
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._o_n___k_i_c_k_(_)
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._o_n___s_e_t___c_o_n_f_i_g_(_)
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._o_n___d_e_s_t_r_o_y___r_e_q_u_e_s_t_(_)
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._o_n___s_e_t___s_u_b_j_e_c_t_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_M_U_C_._a_v_a_t_a_r___i_d
│ │ │ │ │ - # _L_e_g_a_c_y_M_U_C_._a_v_a_t_a_r
│ │ │ │ │ - # _L_e_g_a_c_y_M_U_C_._s_e_t___a_v_a_t_a_r_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_M_U_C_._a_v_a_i_l_a_b_l_e___e_m_o_j_i_s_(_)
│ │ │ ├── ./usr/share/doc/python-slidge-doc/html/dev/api/slidge/index.html
│ │ │ │ @@ -341,15 +341,15 @@
│ │ │ │ validate()
│ │ │ │ validate_two_factor_code()
│ │ │ │ get_qr_text()
│ │ │ │ confirm_qr()
│ │ │ │
│ │ │ │ NB: Not all of these must be overridden, it depends on the
│ │ │ │ REGISTRATION_TYPE
.
│ │ │ │ -The other methods, such as send_text()
or react()
are the same
│ │ │ │ +
The other methods, such as send_text()
or react()
are the same
│ │ │ │ as those of LegacyContact
and LegacyParticipant
, because
│ │ │ │ the component itself is also a “messaging actor”, ie, an XMPP Entity.
│ │ │ │ For these methods, you need to specify the JID of the recipient with the
│ │ │ │ mto parameter.
│ │ │ │ Since it inherits from slixmpp.componentxmpp.ComponentXMPP
,you also
│ │ │ │ have a hand on low-level XMPP interactions via slixmpp methods, e.g.:
│ │ │ │ self.send_presence(
│ │ │ │ @@ -1025,17 +1025,17 @@
│ │ │ │
thread (Optional[slidge.util.types.LegacyThreadType])
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
Triggered when the user reads a message in a legacy chat. (XEP-0333)
│ │ │ │
This is only possible if a valid legacy_msg_id
was passed when
│ │ │ │ transmitting a message from a legacy chat to the user, eg in
│ │ │ │ -slidge.contact.LegacyContact.send_text()
│ │ │ │ +slidge.contact.LegacyContact.send_text()
│ │ │ │ or
│ │ │ │ -slidge.group.LegacyParticipant.send_text()
.
│ │ │ │ +
slidge.group.LegacyParticipant.send_text()
.
│ │ │ │
│ │ │ │ - Parameters:
│ │ │ │
│ │ │ │ chat (slidge.util.types.RecipientType) – See BaseSession.on_text()
│ │ │ │ legacy_msg_id (slidge.util.types.LegacyMessageType) – Identifier of the message/
│ │ │ │ thread (Optional[slidge.util.types.LegacyThreadType])
│ │ │ │
│ │ │ │ ├── html2text {}
│ │ │ │ │ @@ -494,16 +494,16 @@
│ │ │ │ │ * cchhaatt (sslliiddggee..uuttiill..ttyyppeess..RReecciippiieennttTTyyppee)
│ │ │ │ │ * lleeggaaccyy__mmssgg__iidd (sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee)
│ │ │ │ │ * tthhrreeaadd (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyTThhrreeaaddTTyyppee]])
│ │ │ │ │ Triggered when the user reads a message in a legacy chat. (_X_E_P_-
│ │ │ │ │ _0_3_3_3)
│ │ │ │ │ This is only possible if a valid legacy_msg_id was passed when
│ │ │ │ │ transmitting a message from a legacy chat to the user, eg in
│ │ │ │ │ - _s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_._s_e_n_d___t_e_x_t_(_) or
│ │ │ │ │ - _s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._s_e_n_d___t_e_x_t_(_).
│ │ │ │ │ + slidge.contact.LegacyContact.send_text() or
│ │ │ │ │ + slidge.group.LegacyParticipant.send_text().
│ │ │ │ │ Parameters:
│ │ │ │ │ * cchhaatt (sslliiddggee..uuttiill..ttyyppeess..RReecciippiieennttTTyyppee) – See
│ │ │ │ │ _B_a_s_e_S_e_s_s_i_o_n_._o_n___t_e_x_t_(_)
│ │ │ │ │ * lleeggaaccyy__mmssgg__iidd (sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee) –
│ │ │ │ │ Identifier of the message/
│ │ │ │ │ * tthhrreeaadd (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyTThhrreeaaddTTyyppee]])
│ │ │ │ │ aabbssttrraacctt on_correct(cchhaatt, tteexxtt, lleeggaaccyy__mmssgg__iidd, **, tthhrreeaadd==NNoonnee,
│ │ │ ├── ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/group/index.html
│ │ │ │ @@ -648,15 +648,15 @@
│ │ │ │ the XMPP client, there is no guarantee that this is valid or
│ │ │ │ correct.
│ │ │ │
│ │ │ │
│ │ │ │ - Returns:
│ │ │ │ A unique avatar identifier, which will trigger
│ │ │ │ slidge.group.room.LegacyMUC.set_avatar()
. Alternatively, None, if
│ │ │ │ -LegacyMUC.set_avatar()
is meant to be awaited somewhere else.
│ │ │ │ +LegacyMUC.set_avatar()
is meant to be awaited somewhere else.
│ │ │ │
│ │ │ │ - Return type:
│ │ │ │ Optional[Union[int, str]]
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ @@ -932,15 +932,15 @@
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ -
│ │ │ │ away(status=None, last_seen=None)
│ │ │ │ Send an “away” presence from this contact to the user.
│ │ │ │ -This is a global status, as opposed to LegacyContact.inactive()
│ │ │ │ +
This is a global status, as opposed to LegacyContact.inactive()
│ │ │ │ which concerns a specific conversation, ie a specific “chat window”
│ │ │ │
│ │ │ │ - Parameters:
│ │ │ │
│ │ │ │ status (Optional[str]) – Arbitrary text, details of the status, eg: “Gone to fight capitalism”
│ │ │ │ last_seen (Optional[datetime.datetime]) – For XEP-0319
│ │ │ │
│ │ │ │ @@ -948,15 +948,15 @@
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ -
│ │ │ │ extended_away(status=None, last_seen=None)
│ │ │ │ Send an “extended away” presence from this contact to the user.
│ │ │ │ -This is a global status, as opposed to LegacyContact.inactive()
│ │ │ │ +
This is a global status, as opposed to LegacyContact.inactive()
│ │ │ │ which concerns a specific conversation, ie a specific “chat window”
│ │ │ │
│ │ │ │ - Parameters:
│ │ │ │
│ │ │ │ status (Optional[str]) – Arbitrary text, details of the status, eg: “Gone to fight capitalism”
│ │ │ │ last_seen (Optional[datetime.datetime]) – For XEP-0319
│ │ │ │
│ │ │ │ ├── html2text {}
│ │ │ │ │ @@ -258,15 +258,15 @@
│ │ │ │ │ meant to remove the avatar
│ │ │ │ │ * mmiimmee (OOppttiioonnaall[[_ss_tt_rr]]) – the mime type of the image.
│ │ │ │ │ Since this is provided by the XMPP client, there is no
│ │ │ │ │ guarantee that this is valid or correct.
│ │ │ │ │ Returns:
│ │ │ │ │ A unique avatar identifier, which will trigger
│ │ │ │ │ slidge.group.room.LegacyMUC.set_avatar(). Alternatively,
│ │ │ │ │ - None, if _L_e_g_a_c_y_M_U_C_._s_e_t___a_v_a_t_a_r_(_) is meant to be awaited
│ │ │ │ │ + None, if LegacyMUC.set_avatar() is meant to be awaited
│ │ │ │ │ somewhere else.
│ │ │ │ │ Return type:
│ │ │ │ │ Optional[Union[_i_n_t, _s_t_r]]
│ │ │ │ │ aabbssttrraacctt on_set_affiliation(ccoonnttaacctt, aaffffiilliiaattiioonn, rreeaassoonn, nniicckknnaammee)_¶
│ │ │ │ │ Async:
│ │ │ │ │ Parameters:
│ │ │ │ │ * ccoonnttaacctt (sslliiddggee..ccoonnttaacctt..ccoonnttaacctt..LLeeggaaccyyCCoonnttaacctt)
│ │ │ │ │ @@ -404,23 +404,23 @@
│ │ │ │ │ Send an “online” presence from this contact to the user.
│ │ │ │ │ Parameters:
│ │ │ │ │ * ssttaattuuss (OOppttiioonnaall[[_ss_tt_rr]]) – Arbitrary text, details of the
│ │ │ │ │ status, eg: “Listening to Britney Spears”
│ │ │ │ │ * llaasstt__sseeeenn (OOppttiioonnaall[[_dd_aa_tt_ee_tt_ii_mm_ee_.._dd_aa_tt_ee_tt_ii_mm_ee]]) – For _X_E_P_-_0_3_1_9
│ │ │ │ │ away(ssttaattuuss==NNoonnee, llaasstt__sseeeenn==NNoonnee)_¶
│ │ │ │ │ Send an “away” presence from this contact to the user.
│ │ │ │ │ - This is a global status, as opposed to _L_e_g_a_c_y_C_o_n_t_a_c_t_._i_n_a_c_t_i_v_e_(_)
│ │ │ │ │ + This is a global status, as opposed to LegacyContact.inactive()
│ │ │ │ │ which concerns a specific conversation, ie a specific “chat window”
│ │ │ │ │ Parameters:
│ │ │ │ │ * ssttaattuuss (OOppttiioonnaall[[_ss_tt_rr]]) – Arbitrary text, details of the
│ │ │ │ │ status, eg: “Gone to fight capitalism”
│ │ │ │ │ * llaasstt__sseeeenn (OOppttiioonnaall[[_dd_aa_tt_ee_tt_ii_mm_ee_.._dd_aa_tt_ee_tt_ii_mm_ee]]) – For _X_E_P_-_0_3_1_9
│ │ │ │ │ extended_away(ssttaattuuss==NNoonnee, llaasstt__sseeeenn==NNoonnee)_¶
│ │ │ │ │ Send an “extended away” presence from this contact to the user.
│ │ │ │ │ - This is a global status, as opposed to _L_e_g_a_c_y_C_o_n_t_a_c_t_._i_n_a_c_t_i_v_e_(_)
│ │ │ │ │ + This is a global status, as opposed to LegacyContact.inactive()
│ │ │ │ │ which concerns a specific conversation, ie a specific “chat window”
│ │ │ │ │ Parameters:
│ │ │ │ │ * ssttaattuuss (OOppttiioonnaall[[_ss_tt_rr]]) – Arbitrary text, details of the
│ │ │ │ │ status, eg: “Gone to fight capitalism”
│ │ │ │ │ * llaasstt__sseeeenn (OOppttiioonnaall[[_dd_aa_tt_ee_tt_ii_mm_ee_.._dd_aa_tt_ee_tt_ii_mm_ee]]) – For _X_E_P_-_0_3_1_9
│ │ │ │ │ busy(ssttaattuuss==NNoonnee, llaasstt__sseeeenn==NNoonnee)_¶
│ │ │ │ │ Send a “busy” (ie, “dnd”) presence from this contact to the user,
│ │ │ ├── ./usr/share/doc/python-slidge-doc/html/dev/api/superduper/session/index.html
│ │ │ │ @@ -594,17 +594,17 @@
│ │ │ │ thread (Optional[slidge.util.types.LegacyThreadType])
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ Triggered when the user reads a message in a legacy chat. (XEP-0333)
│ │ │ │ This is only possible if a valid legacy_msg_id
was passed when
│ │ │ │ transmitting a message from a legacy chat to the user, eg in
│ │ │ │ -slidge.contact.LegacyContact.send_text()
│ │ │ │ +slidge.contact.LegacyContact.send_text()
│ │ │ │ or
│ │ │ │ -slidge.group.LegacyParticipant.send_text()
.
│ │ │ │ +slidge.group.LegacyParticipant.send_text()
.
│ │ │ │
│ │ │ │ - Parameters:
│ │ │ │
│ │ │ │ chat (slidge.util.types.RecipientType) – See BaseSession.on_text()
│ │ │ │ legacy_msg_id (slidge.util.types.LegacyMessageType) – Identifier of the message/
│ │ │ │ thread (Optional[slidge.util.types.LegacyThreadType])
│ │ │ │
│ │ │ │ ├── html2text {}
│ │ │ │ │ @@ -238,16 +238,16 @@
│ │ │ │ │ * cchhaatt (sslliiddggee..uuttiill..ttyyppeess..RReecciippiieennttTTyyppee)
│ │ │ │ │ * lleeggaaccyy__mmssgg__iidd (sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee)
│ │ │ │ │ * tthhrreeaadd (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyTThhrreeaaddTTyyppee]])
│ │ │ │ │ Triggered when the user reads a message in a legacy chat. (_X_E_P_-
│ │ │ │ │ _0_3_3_3)
│ │ │ │ │ This is only possible if a valid legacy_msg_id was passed when
│ │ │ │ │ transmitting a message from a legacy chat to the user, eg in
│ │ │ │ │ - _s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_._s_e_n_d___t_e_x_t_(_) or
│ │ │ │ │ - _s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._s_e_n_d___t_e_x_t_(_).
│ │ │ │ │ + slidge.contact.LegacyContact.send_text() or
│ │ │ │ │ + slidge.group.LegacyParticipant.send_text().
│ │ │ │ │ Parameters:
│ │ │ │ │ * cchhaatt (sslliiddggee..uuttiill..ttyyppeess..RReecciippiieennttTTyyppee) – See
│ │ │ │ │ _B_a_s_e_S_e_s_s_i_o_n_._o_n___t_e_x_t_(_)
│ │ │ │ │ * lleeggaaccyy__mmssgg__iidd (sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyMMeessssaaggeeTTyyppee) –
│ │ │ │ │ Identifier of the message/
│ │ │ │ │ * tthhrreeaadd (OOppttiioonnaall[[sslliiddggee..uuttiill..ttyyppeess..LLeeggaaccyyTThhrreeaaddTTyyppee]])
│ │ │ │ │ aabbssttrraacctt on_correct(cchhaatt, tteexxtt, lleeggaaccyy__mmssgg__iidd, **, tthhrreeaadd==NNoonnee,
│ │ │ ├── ./usr/share/doc/python-slidge-doc/html/genindex.html
│ │ │ │ @@ -383,86 +383,54 @@
│ │ │ │ - module
│ │ │ │
│ │ │ │
│ │ │ │ - accept_friend_request() (slidge.contact.LegacyContact method)
│ │ │ │
│ │ │ │ - ACCESS (slidge.command.Command attribute)
│ │ │ │
│ │ │ │ - - ack() (slidge.contact.LegacyContact method)
│ │ │ │ +
- ack() (superduper.gateway.Gateway method)
│ │ │ │
│ │ │ │
│ │ │ │ - - active() (slidge.contact.LegacyContact method)
│ │ │ │ +
- active() (superduper.gateway.Gateway method)
│ │ │ │
│ │ │ │
│ │ │ │ +
│ │ │ │ + |
│ │ │ │ - |
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ B
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ @@ -606,21 +560,19 @@
│ │ │ │ |
│ │ │ │ + |
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ @@ -631,26 +583,20 @@
│ │ │ │ -
│ │ │ │ e91195719c2c_store_users_avatars_persistently
│ │ │ │
│ │ │ │
│ │ │ │ - module
│ │ │ │
│ │ │ │
│ │ │ │ - - entrypoint() (in module slidge)
│ │ │ │ -
│ │ │ │
│ │ │ │ |
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ F
│ │ │ │
│ │ │ │ @@ -789,21 +731,17 @@
│ │ │ │
│ │ │ │
│ │ │ │ I
│ │ │ │
│ │ │ │ |
│ │ │ │
│ │ │ │ - - invite_to() (slidge.contact.LegacyContact method)
│ │ │ │ +
- invite_to() (superduper.gateway.Gateway method)
│ │ │ │
│ │ │ │
│ │ │ │ - items (slidge.command.SearchResult attribute)
│ │ │ │
│ │ │ │
│ │ │ │ - (slidge.command.TableResult attribute)
│ │ │ │ @@ -1064,22 +998,16 @@
│ │ │ │
│ │ │ │
│ │ │ │
O
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ P
│ │ │ │
│ │ │ │ |
│ │ │ │
│ │ │ │ - private (slidge.command.FormField attribute)
│ │ │ │
│ │ │ │ @@ -1282,31 +1200,23 @@
│ │ │ │
│ │ │ │
│ │ │ │ R
│ │ │ │
│ │ │ │ |
│ │ │ │ - |
│ │ │ │ + |
│ │ │ │
│ │ │ │ - - SigTermInterrupt
│ │ │ │ -
│ │ │ │ - SINGLE_STEP_FORM (slidge.command.register.RegistrationType attribute)
│ │ │ │
│ │ │ │ -
│ │ │ │ slidge
│ │ │ │
│ │ │ │
│ │ │ │ - module
│ │ │ │ ├── html2text {}
│ │ │ │ │ @@ -59,99 +59,91 @@
│ │ │ │ │ * 29f5280c61aa_store_subject_setter_in_room * 8b993243a536_add_vcard_content_to_contact_table
│ │ │ │ │ o _m_o_d_u_l_e o _m_o_d_u_l_e
│ │ │ │ │ * 2b1f45ab7379_store_room_subject_setter_by_nickname * 8d2ced764698_rely_on_db_to_store_contacts_rooms_and_
│ │ │ │ │ o _m_o_d_u_l_e o _m_o_d_u_l_e
│ │ │ │ │ * 3071e0fa69d4_add_contact_client_type
│ │ │ │ │ o _m_o_d_u_l_e
│ │ │ │ │ ********** AA **********
│ │ │ │ │ - * aa9d82a7f6ef_db_creation * _a_d_d___t_o___r_o_s_t_e_r_(_)_
│ │ │ │ │ - o _m_o_d_u_l_e _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_)
│ │ │ │ │ - * abba1ae0edb3_store_avatar_legacy_id_in_the_contact_ * _a_v_a_i_l_a_b_l_e___e_m_o_j_i_s_(_)_
│ │ │ │ │ - o _m_o_d_u_l_e _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_)
│ │ │ │ │ - * _a_c_c_e_p_t___f_r_i_e_n_d___r_e_q_u_e_s_t_(_)_ o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ - _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_) o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ - * _A_C_C_E_S_S_ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._C_o_m_m_a_n_d_ _a_t_t_r_i_b_u_t_e_) * _AA_vv_aa_tt_aa_rr
│ │ │ │ │ - * _a_c_k_(_)_ _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_) * _a_v_a_t_a_r_ _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t
│ │ │ │ │ - o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_ _m_e_t_h_o_d_) _p_r_o_p_e_r_t_y_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y_ _m_e_t_h_o_d_) o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t_ _m_e_t_h_o_d_) _p_r_o_p_e_r_t_y_)
│ │ │ │ │ - * _a_c_t_i_v_e_(_)_ _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_) o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C_ _p_r_o_p_e_r_t_y_)
│ │ │ │ │ - o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_ _m_e_t_h_o_d_) * _a_v_a_t_a_r___i_d_
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y_ _m_e_t_h_o_d_) _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t_ _m_e_t_h_o_d_) _p_r_o_p_e_r_t_y_)
│ │ │ │ │ - * _AA_dd_--_hh_oo_cc_ _CC_oo_mm_mm_aa_nn_dd o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C
│ │ │ │ │ - * _a_d_d___t_o___b_o_o_k_m_a_r_k_s_(_)_ _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_) _p_r_o_p_e_r_t_y_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C_ _m_e_t_h_o_d_) o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C_ _p_r_o_p_e_r_t_y_)
│ │ │ │ │ - * _A_V_A_T_A_R___I_D___T_Y_P_E_ _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y
│ │ │ │ │ - _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + * aa9d82a7f6ef_db_creation * _AA_dd_--_hh_oo_cc_ _CC_oo_mm_mm_aa_nn_dd
│ │ │ │ │ + o _m_o_d_u_l_e * _a_d_d___t_o___b_o_o_k_m_a_r_k_s_(_)_
│ │ │ │ │ + * abba1ae0edb3_store_avatar_legacy_id_in_the_contact_ _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ + o _m_o_d_u_l_e o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C
│ │ │ │ │ + * _a_c_c_e_p_t___f_r_i_e_n_d___r_e_q_u_e_s_t_(_)_ _m_e_t_h_o_d_)
│ │ │ │ │ + _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_) * _a_d_d___t_o___r_o_s_t_e_r_(_)_
│ │ │ │ │ + * _A_C_C_E_S_S_ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._C_o_m_m_a_n_d_ _a_t_t_r_i_b_u_t_e_) _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t
│ │ │ │ │ + * _a_c_k_(_)_ _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y_ _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t_ _m_e_t_h_o_d_) * _a_v_a_i_l_a_b_l_e___e_m_o_j_i_s_(_)_
│ │ │ │ │ + * _a_c_t_i_v_e_(_)_ _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y_ _m_e_t_h_o_d_) _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t_ _m_e_t_h_o_d_) * _AA_vv_aa_tt_aa_rr
│ │ │ │ │ + * _a_v_a_t_a_r_ _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C
│ │ │ │ │ + _p_r_o_p_e_r_t_y_)
│ │ │ │ │ + * _a_v_a_t_a_r___i_d_ _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C
│ │ │ │ │ + _p_r_o_p_e_r_t_y_)
│ │ │ │ │ + * _A_V_A_T_A_R___I_D___T_Y_P_E_
│ │ │ │ │ + _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y_ _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y
│ │ │ │ │ _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ - * _a_w_a_y_(_)_ _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t
│ │ │ │ │ + * _a_w_a_y_(_)_
│ │ │ │ │ + _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ - _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ - _m_e_t_h_o_d_)
│ │ │ │ │ ********** BB **********
│ │ │ │ │ - * b33993e87db3_move_everything_to_persistent_db * _B_a_s_e_G_a_t_e_w_a_y_ _(_c_l_a_s_s_ _i_n_ _s_l_i_d_g_e_)
│ │ │ │ │ - o _m_o_d_u_l_e * _B_a_s_e_S_e_s_s_i_o_n_ _(_c_l_a_s_s_ _i_n_ _s_l_i_d_g_e_)
│ │ │ │ │ - * b64b1a793483_add_source_and_legacy_id_for_archived_ * _B_o_o_k_m_a_r_k_s_ _(_c_l_a_s_s_ _i_n_ _s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_)
│ │ │ │ │ - o _m_o_d_u_l_e * _b_u_s_y_(_)_ _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t
│ │ │ │ │ - * _b_a_c_k_f_i_l_l_(_)_ _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C_ _m_e_t_h_o_d_) o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ - * _b_a_n_(_)_ _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_ _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t_ _m_e_t_h_o_d_) o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ - _m_e_t_h_o_d_)
│ │ │ │ │ + * b33993e87db3_move_everything_to_persistent_db * _b_a_n_(_)_
│ │ │ │ │ + o _m_o_d_u_l_e _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ + * b64b1a793483_add_source_and_legacy_id_for_archived_ _m_e_t_h_o_d_)
│ │ │ │ │ + o _m_o_d_u_l_e o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ + * _b_a_c_k_f_i_l_l_(_)_ _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C_ _m_e_t_h_o_d_) * _B_a_s_e_G_a_t_e_w_a_y_ _(_c_l_a_s_s_ _i_n_ _s_l_i_d_g_e_)
│ │ │ │ │ + * _B_a_s_e_S_e_s_s_i_o_n_ _(_c_l_a_s_s_ _i_n_ _s_l_i_d_g_e_)
│ │ │ │ │ + * _B_o_o_k_m_a_r_k_s_ _(_c_l_a_s_s_ _i_n
│ │ │ │ │ + _s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_)
│ │ │ │ │ + * _b_u_s_y_(_)_
│ │ │ │ │ + _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ + _m_e_t_h_o_d_)
│ │ │ │ │ * _b_y___l_e_g_a_c_y___i_d_(_)_
│ │ │ │ │ - _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_R_o_s_t_e_r_ _m_e_t_h_o_d_)
│ │ │ │ │ + _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_R_o_s_t_e_r
│ │ │ │ │ + _m_e_t_h_o_d_)
│ │ │ │ │ ********** CC **********
│ │ │ │ │ - * c4a8ec35a0e8_per_room_user_nick * _C_O_M_P_O_N_E_N_T___N_A_M_E_ _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y
│ │ │ │ │ - o _m_o_d_u_l_e _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ - * _CC_aa_rr_bb_oo_nn_ss o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y
│ │ │ │ │ - * _C_A_T_E_G_O_R_Y_ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._C_o_m_m_a_n_d _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ - _a_t_t_r_i_b_u_t_e_) * _C_O_M_P_O_N_E_N_T___T_Y_P_E_ _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y
│ │ │ │ │ - * _C_H_A_N_N_E_L_ _(_s_l_i_d_g_e_._g_r_o_u_p_._M_u_c_T_y_p_e _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ - _a_t_t_r_i_b_u_t_e_) o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y
│ │ │ │ │ - * _C_H_A_N_N_E_L___N_O_N___A_N_O_N_Y_M_O_U_S_ _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ - _(_s_l_i_d_g_e_._g_r_o_u_p_._M_u_c_T_y_p_e_ _a_t_t_r_i_b_u_t_e_) * _c_o_m_p_o_s_i_n_g_(_)_
│ │ │ │ │ - * _C_H_A_T___C_O_M_M_A_N_D_ _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_)
│ │ │ │ │ - _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._C_o_m_m_a_n_d o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ - _a_t_t_r_i_b_u_t_e_) _m_e_t_h_o_d_)
│ │ │ │ │ - * _CC_hh_aa_tt_bb_oo_tt_ _CC_oo_mm_mm_aa_nn_dd o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y
│ │ │ │ │ - * _c_l_i_e_n_t___t_y_p_e_ _m_e_t_h_o_d_)
│ │ │ │ │ - _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ - _p_r_o_p_e_r_t_y_) _m_e_t_h_o_d_)
│ │ │ │ │ - * _CC_oo_mm_mm_aa_nn_dd * _c_o_n_f_i_r_m___q_r_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y
│ │ │ │ │ - o _(_c_l_a_s_s_ _i_n_ _s_l_i_d_g_e_._c_o_m_m_a_n_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - * _C_o_m_m_a_n_d_A_c_c_e_s_s_ _(_c_l_a_s_s_ _i_n o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y
│ │ │ │ │ - _s_l_i_d_g_e_._c_o_m_m_a_n_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - * _C_O_M_P_O_N_E_N_T___A_V_A_T_A_R_ * _C_o_n_f_i_r_m_a_t_i_o_n_ _(_c_l_a_s_s_ _i_n
│ │ │ │ │ - _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y_ _a_t_t_r_i_b_u_t_e_) _s_l_i_d_g_e_._c_o_m_m_a_n_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y * _c_o_r_r_e_c_t_(_)_
│ │ │ │ │ - _a_t_t_r_i_b_u_t_e_) _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ - _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y
│ │ │ │ │ - _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ - _m_e_t_h_o_d_)
│ │ │ │ │ + * c4a8ec35a0e8_per_room_user_nick * _C_O_M_P_O_N_E_N_T___A_V_A_T_A_R_
│ │ │ │ │ + o _m_o_d_u_l_e _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y_ _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + * _CC_aa_rr_bb_oo_nn_ss o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y
│ │ │ │ │ + * _C_A_T_E_G_O_R_Y_ _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._C_o_m_m_a_n_d * _C_O_M_P_O_N_E_N_T___N_A_M_E_ _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y
│ │ │ │ │ + _a_t_t_r_i_b_u_t_e_) _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + * _C_H_A_N_N_E_L_ _(_s_l_i_d_g_e_._g_r_o_u_p_._M_u_c_T_y_p_e o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y
│ │ │ │ │ + _a_t_t_r_i_b_u_t_e_) _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + * _C_H_A_N_N_E_L___N_O_N___A_N_O_N_Y_M_O_U_S_ * _C_O_M_P_O_N_E_N_T___T_Y_P_E_ _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y
│ │ │ │ │ + _(_s_l_i_d_g_e_._g_r_o_u_p_._M_u_c_T_y_p_e _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + _a_t_t_r_i_b_u_t_e_) o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y
│ │ │ │ │ + * _C_H_A_T___C_O_M_M_A_N_D_ _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._C_o_m_m_a_n_d * _c_o_m_p_o_s_i_n_g_(_)_
│ │ │ │ │ + _a_t_t_r_i_b_u_t_e_) _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y_ _m_e_t_h_o_d_)
│ │ │ │ │ + * _CC_hh_aa_tt_bb_oo_tt_ _CC_oo_mm_mm_aa_nn_dd o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ + * _c_l_i_e_n_t___t_y_p_e_ _m_e_t_h_o_d_)
│ │ │ │ │ + _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t * _c_o_n_f_i_r_m___q_r_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y
│ │ │ │ │ + _p_r_o_p_e_r_t_y_) _m_e_t_h_o_d_)
│ │ │ │ │ + * _CC_oo_mm_mm_aa_nn_dd o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y
│ │ │ │ │ + o _(_c_l_a_s_s_ _i_n_ _s_l_i_d_g_e_._c_o_m_m_a_n_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + * _C_o_m_m_a_n_d_A_c_c_e_s_s_ _(_c_l_a_s_s_ _i_n * _C_o_n_f_i_r_m_a_t_i_o_n_ _(_c_l_a_s_s_ _i_n
│ │ │ │ │ + _s_l_i_d_g_e_._c_o_m_m_a_n_d_) _s_l_i_d_g_e_._c_o_m_m_a_n_d_)
│ │ │ │ │ + * _c_o_r_r_e_c_t_(_)_
│ │ │ │ │ + _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y_ _m_e_t_h_o_d_)
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ + _m_e_t_h_o_d_)
│ │ │ │ │ ********** DD **********
│ │ │ │ │ - * _d_e_s_c_r_i_p_t_i_o_n_ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._S_e_a_r_c_h_R_e_s_u_l_t_ _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ - o _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._T_a_b_l_e_R_e_s_u_l_t_ _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ - * _d_i_s_p_l_a_y_e_d_(_)_ _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_ _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y_ _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t_ _m_e_t_h_o_d_)
│ │ │ │ │ + * _d_e_s_c_r_i_p_t_i_o_n_ * _d_i_s_p_l_a_y_e_d_(_)_
│ │ │ │ │ + _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._S_e_a_r_c_h_R_e_s_u_l_t _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y_ _m_e_t_h_o_d_)
│ │ │ │ │ + _a_t_t_r_i_b_u_t_e_) o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ + o _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._T_a_b_l_e_R_e_s_u_l_t _m_e_t_h_o_d_)
│ │ │ │ │ + _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ ********** EE **********
│ │ │ │ │ - * e91195719c2c_store_users_avatars_persistently * _e_x_t_e_n_d_e_d___a_w_a_y_(_)_
│ │ │ │ │ - o _m_o_d_u_l_e _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_)
│ │ │ │ │ - * _e_n_t_r_y_p_o_i_n_t_(_)_ _(_i_n_ _m_o_d_u_l_e_ _s_l_i_d_g_e_) o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ - _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ - _m_e_t_h_o_d_)
│ │ │ │ │ + * e91195719c2c_store_users_avatars_persistently * _e_n_t_r_y_p_o_i_n_t_(_)_ _(_i_n_ _m_o_d_u_l_e
│ │ │ │ │ + o _m_o_d_u_l_e _s_l_i_d_g_e_)
│ │ │ │ │ + * _e_x_t_e_n_d_e_d___a_w_a_y_(_)_
│ │ │ │ │ + _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ + _m_e_t_h_o_d_)
│ │ │ │ │ ********** FF **********
│ │ │ │ │ * _f_e_t_c_h___v_c_a_r_d_(_)_ * _f_i_l_l___p_a_r_t_i_c_i_p_a_n_t_s_(_)_
│ │ │ │ │ _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ _m_e_t_h_o_d_) o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C
│ │ │ │ │ * _f_i_e_l_d_s_ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._S_e_a_r_c_h_R_e_s_u_l_t _m_e_t_h_o_d_)
│ │ │ │ │ _a_t_t_r_i_b_u_t_e_) * _F_o_r_m_ _(_c_l_a_s_s_ _i_n_ _s_l_i_d_g_e_._c_o_m_m_a_n_d_)
│ │ │ │ │ o _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._T_a_b_l_e_R_e_s_u_l_t * _F_o_r_m_F_i_e_l_d_ _(_c_l_a_s_s_ _i_n
│ │ │ │ │ @@ -172,24 +164,24 @@
│ │ │ │ │ _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t _m_e_t_h_o_d_)
│ │ │ │ │ _m_e_t_h_o_d_) o _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._F_o_r_m_F_i_e_l_d
│ │ │ │ │ * _g_e_t___p_a_r_t_i_c_i_p_a_n_t_(_)_ _m_e_t_h_o_d_)
│ │ │ │ │ _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_) o _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._S_e_a_r_c_h_R_e_s_u_l_t
│ │ │ │ │ o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C _m_e_t_h_o_d_)
│ │ │ │ │ _m_e_t_h_o_d_) o _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._T_a_b_l_e_R_e_s_u_l_t
│ │ │ │ │ * _g_e_t___p_a_r_t_i_c_i_p_a_n_t___b_y___c_o_n_t_a_c_t_(_)_ _m_e_t_h_o_d_)
│ │ │ │ │ - _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_) * _g_o_n_e_(_)_ _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t
│ │ │ │ │ + _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_) * _g_o_n_e_(_)_ _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y
│ │ │ │ │ o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C _m_e_t_h_o_d_)
│ │ │ │ │ - _m_e_t_h_o_d_) o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ - * _g_e_t___q_r___t_e_x_t_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y _m_e_t_h_o_d_)
│ │ │ │ │ - _m_e_t_h_o_d_) o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y _m_e_t_h_o_d_)
│ │ │ │ │ _m_e_t_h_o_d_) o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ - * _g_e_t___s_y_s_t_e_m___p_a_r_t_i_c_i_p_a_n_t_(_)_ _m_e_t_h_o_d_)
│ │ │ │ │ - _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_) * _G_R_O_U_P_ _(_s_l_i_d_g_e_._g_r_o_u_p_._M_u_c_T_y_p_e
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + * _g_e_t___q_r___t_e_x_t_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y _m_e_t_h_o_d_)
│ │ │ │ │ + _m_e_t_h_o_d_) * _G_R_O_U_P_ _(_s_l_i_d_g_e_._g_r_o_u_p_._M_u_c_T_y_p_e
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + _m_e_t_h_o_d_)
│ │ │ │ │ + * _g_e_t___s_y_s_t_e_m___p_a_r_t_i_c_i_p_a_n_t_(_)_
│ │ │ │ │ + _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C
│ │ │ │ │ _m_e_t_h_o_d_)
│ │ │ │ │ ********** HH **********
│ │ │ │ │ * _h_a_n_d_l_e_r_ * _H_A_S___S_U_B_J_E_C_T_
│ │ │ │ │ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._C_o_n_f_i_r_m_a_t_i_o_n _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ _a_t_t_r_i_b_u_t_e_) o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C
│ │ │ │ │ * _h_a_n_d_l_e_r___a_r_g_s_ _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._C_o_n_f_i_r_m_a_t_i_o_n * _H_E_L_P_ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._C_o_m_m_a_n_d
│ │ │ │ │ @@ -199,26 +191,22 @@
│ │ │ │ │ _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ * _H_A_S___D_E_S_C_R_I_P_T_I_O_N_
│ │ │ │ │ _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C
│ │ │ │ │ _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C
│ │ │ │ │ _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ ********** II **********
│ │ │ │ │ - * _i_m_a_g_e___u_r_l_ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._F_o_r_m_F_i_e_l_d * _i_n_v_i_t_e___t_o_(_)_
│ │ │ │ │ - _a_t_t_r_i_b_u_t_e_) _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_)
│ │ │ │ │ - * _i_n_a_c_t_i_v_e_(_)_ o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ - _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y
│ │ │ │ │ - _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ - _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t * _i_t_e_m_s_ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._S_e_a_r_c_h_R_e_s_u_l_t
│ │ │ │ │ - _m_e_t_h_o_d_) _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ - * _i_n_p_u_t_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y_ _m_e_t_h_o_d_) o _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._T_a_b_l_e_R_e_s_u_l_t
│ │ │ │ │ - o _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n_ _m_e_t_h_o_d_) _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + * _i_m_a_g_e___u_r_l_ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._F_o_r_m_F_i_e_l_d * _i_n_v_i_t_e___t_o_(_)_
│ │ │ │ │ + _a_t_t_r_i_b_u_t_e_) _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y_ _m_e_t_h_o_d_)
│ │ │ │ │ + * _i_n_a_c_t_i_v_e_(_)_ o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ + _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y_ _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t * _i_t_e_m_s_ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._S_e_a_r_c_h_R_e_s_u_l_t
│ │ │ │ │ + _m_e_t_h_o_d_) _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + * _i_n_p_u_t_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y_ _m_e_t_h_o_d_) o _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._T_a_b_l_e_R_e_s_u_l_t
│ │ │ │ │ + o _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n_ _m_e_t_h_o_d_) _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y
│ │ │ │ │ _m_e_t_h_o_d_)
│ │ │ │ │ o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ _m_e_t_h_o_d_)
│ │ │ │ │ ********** JJ **********
│ │ │ │ │ * _JJ_II_DD_ _LL_oo_cc_aa_ll_ _PP_aa_rr_tt
│ │ │ │ │ * _j_i_d___u_s_e_r_n_a_m_e___t_o___l_e_g_a_c_y___i_d_(_)_ _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_R_o_s_t_e_r_ _m_e_t_h_o_d_)
│ │ │ │ │ @@ -298,170 +286,163 @@
│ │ │ │ │ o _s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n
│ │ │ │ │ ********** NN **********
│ │ │ │ │ * _N_A_M_E_ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._C_o_m_m_a_n_d * _n_a_m_e_ _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t
│ │ │ │ │ _a_t_t_r_i_b_u_t_e_) _p_r_o_p_e_r_t_y_)
│ │ │ │ │ * _N_O_D_E_ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._C_o_m_m_a_n_d
│ │ │ │ │ _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ ********** OO **********
│ │ │ │ │ - * _OO_ff_ff_ii_cc_ii_aa_ll_ _CC_ll_ii_ee_nn_tt * _o_n___k_i_c_k_(_)_ _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C
│ │ │ │ │ - * _o_f_f_l_i_n_e_(_)_ _m_e_t_h_o_d_)
│ │ │ │ │ - _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_) o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t * _o_n___l_e_a_v_e___g_r_o_u_p_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n
│ │ │ │ │ - _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ - _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - * _o_n___a_c_t_i_v_e_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n * _o_n___m_o_d_e_r_a_t_e_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n
│ │ │ │ │ - _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ - _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - * _o_n___a_v_a_t_a_r_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n * _o_n___p_a_u_s_e_d_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n
│ │ │ │ │ - _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_) o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C_ _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n * _o_n___p_r_e_s_e_n_c_e_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n
│ │ │ │ │ - _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - * _o_n___c_o_m_p_o_s_i_n_g_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ - _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n * _o_n___r_e_a_c_t_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n
│ │ │ │ │ - _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - * _o_n___c_o_r_r_e_c_t_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ - _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n * _o_n___r_e_t_r_a_c_t_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n
│ │ │ │ │ - _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - * _o_n___c_r_e_a_t_e___g_r_o_u_p_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ - _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n * _o_n___s_e_a_r_c_h_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n
│ │ │ │ │ - _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - * _o_n___d_e_s_t_r_o_y___r_e_q_u_e_s_t_(_)_ o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ - _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C_ _m_e_t_h_o_d_) * _o_n___s_e_t___a_f_f_i_l_i_a_t_i_o_n_(_)_
│ │ │ │ │ - * _o_n___d_i_s_p_l_a_y_e_d_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ - _m_e_t_h_o_d_) o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n * _o_n___s_e_t___c_o_n_f_i_g_(_)_
│ │ │ │ │ - _m_e_t_h_o_d_) _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ - * _o_n___f_i_l_e_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n_ _m_e_t_h_o_d_) o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n * _o_n___s_e_t___s_u_b_j_e_c_t_(_)_
│ │ │ │ │ - _m_e_t_h_o_d_) _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ - * _o_n___f_r_i_e_n_d___a_c_c_e_p_t_(_)_ o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ - _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_) * _o_n___s_t_i_c_k_e_r_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n
│ │ │ │ │ - * _o_n___f_r_i_e_n_d___d_e_l_e_t_e_(_)_ _m_e_t_h_o_d_)
│ │ │ │ │ - _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_) o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ - * _o_n___f_r_i_e_n_d___r_e_q_u_e_s_t_(_)_ _m_e_t_h_o_d_)
│ │ │ │ │ - _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_) * _o_n___t_e_x_t_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n_ _m_e_t_h_o_d_)
│ │ │ │ │ - * _o_n___i_n_a_c_t_i_v_e_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ - _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n * _o_n_l_i_n_e_(_)_
│ │ │ │ │ - _m_e_t_h_o_d_) _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_)
│ │ │ │ │ - * _o_n___i_n_v_i_t_a_t_i_o_n_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ - _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ - _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ -********** PP **********
│ │ │ │ │ - * _P_a_r_t_i_c_i_p_a_n_t_ _(_c_l_a_s_s_ _i_n * _p_r_i_v_a_t_e_ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._F_o_r_m_F_i_e_l_d
│ │ │ │ │ - _s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_) _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ - * _p_a_u_s_e_d_(_)_ * _p_r_o_m_p_t_
│ │ │ │ │ - _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_) _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._C_o_n_f_i_r_m_a_t_i_o_n
│ │ │ │ │ - o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ - _m_e_t_h_o_d_) * _P_R_O_P_E_R___R_E_C_E_I_P_T_S_
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y_ _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ - _m_e_t_h_o_d_) o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + * _OO_ff_ff_ii_cc_ii_aa_ll_ _CC_ll_ii_ee_nn_tt * _o_n___k_i_c_k_(_)_ _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C
│ │ │ │ │ + * _o_f_f_l_i_n_e_(_)_ _m_e_t_h_o_d_)
│ │ │ │ │ + _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C
│ │ │ │ │ + _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + * _o_n___a_c_t_i_v_e_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n * _o_n___l_e_a_v_e___g_r_o_u_p_(_)_
│ │ │ │ │ + _m_e_t_h_o_d_) _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n_ _m_e_t_h_o_d_)
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ + _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + * _o_n___a_v_a_t_a_r_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n * _o_n___m_o_d_e_r_a_t_e_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n
│ │ │ │ │ + _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ + _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C * _o_n___p_a_u_s_e_d_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n
│ │ │ │ │ + _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ + _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + * _o_n___c_o_m_p_o_s_i_n_g_(_)_ * _o_n___p_r_e_s_e_n_c_e_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n
│ │ │ │ │ + _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n_ _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ + _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + * _o_n___c_o_r_r_e_c_t_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n * _o_n___r_e_a_c_t_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n
│ │ │ │ │ + _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ + _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + * _o_n___c_r_e_a_t_e___g_r_o_u_p_(_)_ * _o_n___r_e_t_r_a_c_t_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n
│ │ │ │ │ + _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n_ _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ + _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + * _o_n___d_e_s_t_r_o_y___r_e_q_u_e_s_t_(_)_ * _o_n___s_e_a_r_c_h_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n
│ │ │ │ │ + _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ + _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + * _o_n___d_i_s_p_l_a_y_e_d_(_)_ * _o_n___s_e_t___a_f_f_i_l_i_a_t_i_o_n_(_)_
│ │ │ │ │ + _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n_ _m_e_t_h_o_d_) _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C
│ │ │ │ │ + _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + * _o_n___f_i_l_e_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n * _o_n___s_e_t___c_o_n_f_i_g_(_)_
│ │ │ │ │ + _m_e_t_h_o_d_) _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C
│ │ │ │ │ + _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + * _o_n___f_r_i_e_n_d___a_c_c_e_p_t_(_)_ * _o_n___s_e_t___s_u_b_j_e_c_t_(_)_
│ │ │ │ │ + _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ + _m_e_t_h_o_d_) o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C
│ │ │ │ │ + * _o_n___f_r_i_e_n_d___d_e_l_e_t_e_(_)_ _m_e_t_h_o_d_)
│ │ │ │ │ + _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t * _o_n___s_t_i_c_k_e_r_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n
│ │ │ │ │ + _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + * _o_n___f_r_i_e_n_d___r_e_q_u_e_s_t_(_)_ o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ + _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t _m_e_t_h_o_d_)
│ │ │ │ │ + _m_e_t_h_o_d_) * _o_n___t_e_x_t_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n
│ │ │ │ │ + * _o_n___i_n_a_c_t_i_v_e_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n _m_e_t_h_o_d_)
│ │ │ │ │ + _m_e_t_h_o_d_) o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n _m_e_t_h_o_d_)
│ │ │ │ │ + _m_e_t_h_o_d_) * _o_n_l_i_n_e_(_)_
│ │ │ │ │ + * _o_n___i_n_v_i_t_a_t_i_o_n_(_)_ _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ + _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n_ _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ _m_e_t_h_o_d_)
│ │ │ │ │ +********** PP **********
│ │ │ │ │ + * _P_a_r_t_i_c_i_p_a_n_t_ _(_c_l_a_s_s_ _i_n * _p_r_i_v_a_t_e_ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._F_o_r_m_F_i_e_l_d
│ │ │ │ │ + _s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_) _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + * _p_a_u_s_e_d_(_)_ * _p_r_o_m_p_t_
│ │ │ │ │ + _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y_ _m_e_t_h_o_d_) _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._C_o_n_f_i_r_m_a_t_i_o_n
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + _m_e_t_h_o_d_) * _P_R_O_P_E_R___R_E_C_E_I_P_T_S_
│ │ │ │ │ + _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y_ _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y
│ │ │ │ │ + _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ ********** QQ **********
│ │ │ │ │ * _Q_R_C_O_D_E_ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._r_e_g_i_s_t_e_r_._R_e_g_i_s_t_r_a_t_i_o_n_T_y_p_e_ _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ ********** RR **********
│ │ │ │ │ - * _r_a_i_s_e___i_f___n_o_t___a_u_t_h_o_r_i_z_e_d_(_)_ * _R_e_g_i_s_t_r_a_t_i_o_n_T_y_p_e_ _(_c_l_a_s_s_ _i_n
│ │ │ │ │ - _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._C_o_m_m_a_n_d_ _m_e_t_h_o_d_) _s_l_i_d_g_e_._c_o_m_m_a_n_d_._r_e_g_i_s_t_e_r_)
│ │ │ │ │ - * _r_e_a_c_t_(_)_ _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t * _r_e_j_e_c_t___f_r_i_e_n_d___r_e_q_u_e_s_t_(_)_
│ │ │ │ │ - _m_e_t_h_o_d_) _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t * _r_e_m_o_v_e_(_)_
│ │ │ │ │ - _m_e_t_h_o_d_) _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_B_o_o_k_m_a_r_k_s_ _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._B_o_o_k_m_a_r_k_s
│ │ │ │ │ - _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t * _r_e_m_o_v_e___p_a_r_t_i_c_i_p_a_n_t_(_)_
│ │ │ │ │ - _m_e_t_h_o_d_) _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ - * _r_e_c_e_i_v_e_d_(_)_ o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ - _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_) * _r_e_q_u_i_r_e_d_ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._F_o_r_m_F_i_e_l_d
│ │ │ │ │ - o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ - _m_e_t_h_o_d_) * _R_E_S_O_U_R_C_E_
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t
│ │ │ │ │ - _m_e_t_h_o_d_) _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t * _r_e_t_r_a_c_t_(_)_
│ │ │ │ │ - _m_e_t_h_o_d_) _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_)
│ │ │ │ │ - * _R_E_G_I_S_T_R_A_T_I_O_N___F_I_E_L_D_S_ o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ - _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y_ _a_t_t_r_i_b_u_t_e_) _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y
│ │ │ │ │ - _a_t_t_r_i_b_u_t_e_) _m_e_t_h_o_d_)
│ │ │ │ │ - * _R_E_G_I_S_T_R_A_T_I_O_N___I_N_S_T_R_U_C_T_I_O_N_S_ o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ - _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y_ _a_t_t_r_i_b_u_t_e_) _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y * _RR_oo_ss_tt_ee_rr
│ │ │ │ │ - _a_t_t_r_i_b_u_t_e_) * _R_O_S_T_E_R___G_R_O_U_P_ _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y
│ │ │ │ │ - * _R_E_G_I_S_T_R_A_T_I_O_N___T_Y_P_E_ _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ - _a_t_t_r_i_b_u_t_e_) o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ - _a_t_t_r_i_b_u_t_e_) * _r_u_n_(_)_ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._C_o_m_m_a_n_d_ _m_e_t_h_o_d_)
│ │ │ │ │ + * _r_a_i_s_e___i_f___n_o_t___a_u_t_h_o_r_i_z_e_d_(_)_ * _r_e_j_e_c_t___f_r_i_e_n_d___r_e_q_u_e_s_t_(_)_
│ │ │ │ │ + _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._C_o_m_m_a_n_d_ _m_e_t_h_o_d_) _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t
│ │ │ │ │ + * _r_e_a_c_t_(_)_ _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y _m_e_t_h_o_d_)
│ │ │ │ │ + _m_e_t_h_o_d_) * _r_e_m_o_v_e_(_)_
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_B_o_o_k_m_a_r_k_s
│ │ │ │ │ + _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + * _r_e_c_e_i_v_e_d_(_)_ o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._B_o_o_k_m_a_r_k_s
│ │ │ │ │ + _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y_ _m_e_t_h_o_d_) _m_e_t_h_o_d_)
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t * _r_e_m_o_v_e___p_a_r_t_i_c_i_p_a_n_t_(_)_
│ │ │ │ │ + _m_e_t_h_o_d_) _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ + * _R_E_G_I_S_T_R_A_T_I_O_N___F_I_E_L_D_S_ o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ + _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y_ _a_t_t_r_i_b_u_t_e_) * _r_e_q_u_i_r_e_d_ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._F_o_r_m_F_i_e_l_d
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + _a_t_t_r_i_b_u_t_e_) * _R_E_S_O_U_R_C_E_
│ │ │ │ │ + * _R_E_G_I_S_T_R_A_T_I_O_N___I_N_S_T_R_U_C_T_I_O_N_S_ _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t
│ │ │ │ │ + _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y_ _a_t_t_r_i_b_u_t_e_) _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y * _r_e_t_r_a_c_t_(_)_
│ │ │ │ │ + _a_t_t_r_i_b_u_t_e_) _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y_ _m_e_t_h_o_d_)
│ │ │ │ │ + * _R_E_G_I_S_T_R_A_T_I_O_N___T_Y_P_E_ o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ + _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y_ _a_t_t_r_i_b_u_t_e_) _m_e_t_h_o_d_)
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y * _RR_oo_ss_tt_ee_rr
│ │ │ │ │ + _a_t_t_r_i_b_u_t_e_) * _R_O_S_T_E_R___G_R_O_U_P_ _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y
│ │ │ │ │ + * _R_e_g_i_s_t_r_a_t_i_o_n_T_y_p_e_ _(_c_l_a_s_s_ _i_n _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + _s_l_i_d_g_e_._c_o_m_m_a_n_d_._r_e_g_i_s_t_e_r_) o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y
│ │ │ │ │ + _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + * _r_u_n_(_)_ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._C_o_m_m_a_n_d
│ │ │ │ │ + _m_e_t_h_o_d_)
│ │ │ │ │ ********** SS **********
│ │ │ │ │ - * _S_E_A_R_C_H___F_I_E_L_D_S_ _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y * _S_i_g_T_e_r_m_I_n_t_e_r_r_u_p_t
│ │ │ │ │ - _a_t_t_r_i_b_u_t_e_) * _S_I_N_G_L_E___S_T_E_P___F_O_R_M_
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._r_e_g_i_s_t_e_r_._R_e_g_i_s_t_r_a_t_i_o_n_T_y_p_e
│ │ │ │ │ - _a_t_t_r_i_b_u_t_e_) _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ - * _S_E_A_R_C_H___I_N_S_T_R_U_C_T_I_O_N_S_ * slidge
│ │ │ │ │ - _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y_ _a_t_t_r_i_b_u_t_e_) o _m_o_d_u_l_e
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y * slidge.command
│ │ │ │ │ - _a_t_t_r_i_b_u_t_e_) o _m_o_d_u_l_e
│ │ │ │ │ - * _S_E_A_R_C_H___T_I_T_L_E_ _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y * slidge.command.register
│ │ │ │ │ - _a_t_t_r_i_b_u_t_e_) o _m_o_d_u_l_e
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y * slidge.contact
│ │ │ │ │ - _a_t_t_r_i_b_u_t_e_) o _m_o_d_u_l_e
│ │ │ │ │ - * _S_e_a_r_c_h_R_e_s_u_l_t_ _(_c_l_a_s_s_ _i_n * slidge.group
│ │ │ │ │ - _s_l_i_d_g_e_._c_o_m_m_a_n_d_) o _m_o_d_u_l_e
│ │ │ │ │ - * _s_e_n_d___f_i_l_e_(_)_ * slidge.main
│ │ │ │ │ - _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_) o _m_o_d_u_l_e
│ │ │ │ │ - o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t * _S_P_E_C_I_A_L___M_S_G___I_D___P_R_E_F_I_X_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n
│ │ │ │ │ - _m_e_t_h_o_d_) _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ - _m_e_t_h_o_d_) _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t * _S_T_A_B_L_E___A_R_C_H_I_V_E_ _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C
│ │ │ │ │ - _m_e_t_h_o_d_) _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ - * _s_e_n_d___g_a_t_e_w_a_y___i_n_v_i_t_e_(_)_ o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C_ _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ - _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n_ _m_e_t_h_o_d_) * _s_u_c_c_e_s_s_ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._C_o_n_f_i_r_m_a_t_i_o_n
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ - _m_e_t_h_o_d_) * superduper
│ │ │ │ │ - * _s_e_n_d___g_a_t_e_w_a_y___m_e_s_s_a_g_e_(_)_ o _m_o_d_u_l_e
│ │ │ │ │ - _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n_ _m_e_t_h_o_d_) * superduper.gateway
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n o _m_o_d_u_l_e
│ │ │ │ │ - _m_e_t_h_o_d_) * superduper.group
│ │ │ │ │ - * _s_e_n_d___g_a_t_e_w_a_y___s_t_a_t_u_s_(_)_ o _m_o_d_u_l_e
│ │ │ │ │ - _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n_ _m_e_t_h_o_d_) * superduper.session
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n o _m_o_d_u_l_e
│ │ │ │ │ - _m_e_t_h_o_d_)
│ │ │ │ │ - * _s_e_n_d___i_n_i_t_i_a_l___p_r_e_s_e_n_c_e_(_)_
│ │ │ │ │ - _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ + * _S_E_A_R_C_H___F_I_E_L_D_S_ _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y * _S_I_N_G_L_E___S_T_E_P___F_O_R_M_
│ │ │ │ │ + _a_t_t_r_i_b_u_t_e_) _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._r_e_g_i_s_t_e_r_._R_e_g_i_s_t_r_a_t_i_o_n_T_y_p_e
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + _a_t_t_r_i_b_u_t_e_) * slidge
│ │ │ │ │ + * _S_E_A_R_C_H___I_N_S_T_R_U_C_T_I_O_N_S_ o _m_o_d_u_l_e
│ │ │ │ │ + _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y_ _a_t_t_r_i_b_u_t_e_) * slidge.command
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y o _m_o_d_u_l_e
│ │ │ │ │ + _a_t_t_r_i_b_u_t_e_) * slidge.command.register
│ │ │ │ │ + * _S_E_A_R_C_H___T_I_T_L_E_ _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y o _m_o_d_u_l_e
│ │ │ │ │ + _a_t_t_r_i_b_u_t_e_) * slidge.contact
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y o _m_o_d_u_l_e
│ │ │ │ │ + _a_t_t_r_i_b_u_t_e_) * slidge.group
│ │ │ │ │ + * _S_e_a_r_c_h_R_e_s_u_l_t_ _(_c_l_a_s_s_ _i_n o _m_o_d_u_l_e
│ │ │ │ │ + _s_l_i_d_g_e_._c_o_m_m_a_n_d_) * slidge.main
│ │ │ │ │ + * _s_e_n_d___f_i_l_e_(_)_ o _m_o_d_u_l_e
│ │ │ │ │ + _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y_ _m_e_t_h_o_d_) * _S_P_E_C_I_A_L___M_S_G___I_D___P_R_E_F_I_X_ _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + _m_e_t_h_o_d_) o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ + * _s_e_n_d___g_a_t_e_w_a_y___i_n_v_i_t_e_(_)_ _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n_ _m_e_t_h_o_d_) * _S_T_A_B_L_E___A_R_C_H_I_V_E_ _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + _m_e_t_h_o_d_) o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C_ _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + * _s_e_n_d___g_a_t_e_w_a_y___m_e_s_s_a_g_e_(_)_ * _s_u_c_c_e_s_s_ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._C_o_n_f_i_r_m_a_t_i_o_n
│ │ │ │ │ + _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n_ _m_e_t_h_o_d_) _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n * superduper
│ │ │ │ │ + _m_e_t_h_o_d_) o _m_o_d_u_l_e
│ │ │ │ │ + * _s_e_n_d___g_a_t_e_w_a_y___s_t_a_t_u_s_(_)_ * superduper.gateway
│ │ │ │ │ + _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n_ _m_e_t_h_o_d_) o _m_o_d_u_l_e
│ │ │ │ │ + o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n * superduper.group
│ │ │ │ │ + _m_e_t_h_o_d_) o _m_o_d_u_l_e
│ │ │ │ │ + * _s_e_n_d___i_n_i_t_i_a_l___p_r_e_s_e_n_c_e_(_)_ * superduper.session
│ │ │ │ │ + _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t o _m_o_d_u_l_e
│ │ │ │ │ _m_e_t_h_o_d_)
│ │ │ │ │ o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ _m_e_t_h_o_d_)
│ │ │ │ │ - * _s_e_n_d___q_r_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y_ _m_e_t_h_o_d_)
│ │ │ │ │ + * _s_e_n_d___q_r_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y
│ │ │ │ │ + _m_e_t_h_o_d_)
│ │ │ │ │ o _(_s_l_i_d_g_e_._B_a_s_e_S_e_s_s_i_o_n_ _m_e_t_h_o_d_)
│ │ │ │ │ o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y
│ │ │ │ │ _m_e_t_h_o_d_)
│ │ │ │ │ o _(_s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_._S_e_s_s_i_o_n
│ │ │ │ │ _m_e_t_h_o_d_)
│ │ │ │ │ * _s_e_n_d___t_e_x_t_(_)_
│ │ │ │ │ - _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ - _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y
│ │ │ │ │ - _m_e_t_h_o_d_)
│ │ │ │ │ + _(_s_u_p_e_r_d_u_p_e_r_._g_a_t_e_w_a_y_._G_a_t_e_w_a_y_ _m_e_t_h_o_d_)
│ │ │ │ │ o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ _m_e_t_h_o_d_)
│ │ │ │ │ - * _S_e_s_s_i_o_n_ _(_c_l_a_s_s_ _i_n_ _s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_)
│ │ │ │ │ - * _s_e_t___a_v_a_t_a_r_(_)_
│ │ │ │ │ - _(_s_l_i_d_g_e_._c_o_n_t_a_c_t_._L_e_g_a_c_y_C_o_n_t_a_c_t_ _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_l_i_d_g_e_._g_r_o_u_p_._L_e_g_a_c_y_M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ - o _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C_ _m_e_t_h_o_d_)
│ │ │ │ │ + * _S_e_s_s_i_o_n_ _(_c_l_a_s_s_ _i_n
│ │ │ │ │ + _s_u_p_e_r_d_u_p_e_r_._s_e_s_s_i_o_n_)
│ │ │ │ │ + * _s_e_t___a_v_a_t_a_r_(_)_ _(_s_u_p_e_r_d_u_p_e_r_._g_r_o_u_p_._M_U_C
│ │ │ │ │ + _m_e_t_h_o_d_)
│ │ │ │ │ + * _S_i_g_T_e_r_m_I_n_t_e_r_r_u_p_t
│ │ │ │ │ ********** TT **********
│ │ │ │ │ * _T_a_b_l_e_R_e_s_u_l_t_ _(_c_l_a_s_s_ _i_n_ _s_l_i_d_g_e_._c_o_m_m_a_n_d_) * _T_w_o_F_a_c_t_o_r_N_o_t_R_e_q_u_i_r_e_d
│ │ │ │ │ * _T_W_O___F_A_C_T_O_R___C_O_D_E_ * _t_y_p_e_
│ │ │ │ │ _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._r_e_g_i_s_t_e_r_._R_e_g_i_s_t_r_a_t_i_o_n_T_y_p_e _(_s_l_i_d_g_e_._c_o_m_m_a_n_d_._F_o_r_m_F_i_e_l_d
│ │ │ │ │ _a_t_t_r_i_b_u_t_e_) _a_t_t_r_i_b_u_t_e_)
│ │ │ │ │ ********** UU **********
│ │ │ │ │ * _u_n_r_e_g_i_s_t_e_r_(_)_ _(_s_l_i_d_g_e_._B_a_s_e_G_a_t_e_w_a_y * _u_p_d_a_t_e___i_n_f_o_(_)_
│ │ │ ├── ./usr/share/doc/python-slidge-doc/html/index.html
│ │ │ │ @@ -495,37 +495,14 @@
│ │ │ │
LegacyContact.reject_friend_request()
│ │ │ │ LegacyContact.on_friend_request()
│ │ │ │ LegacyContact.on_friend_delete()
│ │ │ │ LegacyContact.on_friend_accept()
│ │ │ │ LegacyContact.unsubscribe()
│ │ │ │ LegacyContact.update_info()
│ │ │ │ LegacyContact.fetch_vcard()
│ │ │ │ -LegacyContact.avatar_id
│ │ │ │ -LegacyContact.avatar
│ │ │ │ -LegacyContact.set_avatar()
│ │ │ │ -LegacyContact.invite_to()
│ │ │ │ -LegacyContact.active()
│ │ │ │ -LegacyContact.composing()
│ │ │ │ -LegacyContact.paused()
│ │ │ │ -LegacyContact.inactive()
│ │ │ │ -LegacyContact.gone()
│ │ │ │ -LegacyContact.send_file()
│ │ │ │ -LegacyContact.send_text()
│ │ │ │ -LegacyContact.correct()
│ │ │ │ -LegacyContact.react()
│ │ │ │ -LegacyContact.retract()
│ │ │ │ -LegacyContact.ack()
│ │ │ │ -LegacyContact.received()
│ │ │ │ -LegacyContact.displayed()
│ │ │ │ -LegacyContact.online()
│ │ │ │ -LegacyContact.away()
│ │ │ │ -LegacyContact.extended_away()
│ │ │ │ -LegacyContact.busy()
│ │ │ │ -LegacyContact.offline()
│ │ │ │ -LegacyContact.available_emojis()
│ │ │ │
│ │ │ │
│ │ │ │ LegacyRoster
│ │ │ │
│ │ │ │ LegacyParticipant
│ │ │ │
│ │ │ │ LegacyMUC
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ - slidge.main
│ │ │ │ ├── html2text {}
│ │ │ │ │ @@ -191,37 +191,14 @@
│ │ │ │ │ # _L_e_g_a_c_y_C_o_n_t_a_c_t_._r_e_j_e_c_t___f_r_i_e_n_d___r_e_q_u_e_s_t_(_)
│ │ │ │ │ # _L_e_g_a_c_y_C_o_n_t_a_c_t_._o_n___f_r_i_e_n_d___r_e_q_u_e_s_t_(_)
│ │ │ │ │ # _L_e_g_a_c_y_C_o_n_t_a_c_t_._o_n___f_r_i_e_n_d___d_e_l_e_t_e_(_)
│ │ │ │ │ # _L_e_g_a_c_y_C_o_n_t_a_c_t_._o_n___f_r_i_e_n_d___a_c_c_e_p_t_(_)
│ │ │ │ │ # _L_e_g_a_c_y_C_o_n_t_a_c_t_._u_n_s_u_b_s_c_r_i_b_e_(_)
│ │ │ │ │ # _L_e_g_a_c_y_C_o_n_t_a_c_t_._u_p_d_a_t_e___i_n_f_o_(_)
│ │ │ │ │ # _L_e_g_a_c_y_C_o_n_t_a_c_t_._f_e_t_c_h___v_c_a_r_d_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._a_v_a_t_a_r___i_d
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._a_v_a_t_a_r
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._s_e_t___a_v_a_t_a_r_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._i_n_v_i_t_e___t_o_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._a_c_t_i_v_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._c_o_m_p_o_s_i_n_g_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._p_a_u_s_e_d_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._i_n_a_c_t_i_v_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._g_o_n_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._s_e_n_d___f_i_l_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._s_e_n_d___t_e_x_t_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._c_o_r_r_e_c_t_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._r_e_a_c_t_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._r_e_t_r_a_c_t_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._a_c_k_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._r_e_c_e_i_v_e_d_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._d_i_s_p_l_a_y_e_d_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._o_n_l_i_n_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._a_w_a_y_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._e_x_t_e_n_d_e_d___a_w_a_y_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._b_u_s_y_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._o_f_f_l_i_n_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_C_o_n_t_a_c_t_._a_v_a_i_l_a_b_l_e___e_m_o_j_i_s_(_)
│ │ │ │ │ # _L_e_g_a_c_y_R_o_s_t_e_r
│ │ │ │ │ # _L_e_g_a_c_y_R_o_s_t_e_r_._b_y___l_e_g_a_c_y___i_d_(_)
│ │ │ │ │ # _L_e_g_a_c_y_R_o_s_t_e_r_._l_e_g_a_c_y___i_d___t_o___j_i_d___u_s_e_r_n_a_m_e
│ │ │ │ │ _(_)
│ │ │ │ │ # _L_e_g_a_c_y_R_o_s_t_e_r_._j_i_d___u_s_e_r_n_a_m_e___t_o___l_e_g_a_c_y___i_d
│ │ │ │ │ _(_)
│ │ │ │ │ # _L_e_g_a_c_y_R_o_s_t_e_r_._f_i_l_l_(_)
│ │ │ │ │ @@ -241,33 +218,14 @@
│ │ │ │ │ # _L_e_g_a_c_y_B_o_o_k_m_a_r_k_s_._r_e_m_o_v_e_(_)
│ │ │ │ │ # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t
│ │ │ │ │ # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._s_e_n_d___i_n_i_t_i_a_l___p_r_e_s_e_n_c_e
│ │ │ │ │ _(_)
│ │ │ │ │ # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._l_e_a_v_e_(_)
│ │ │ │ │ # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._k_i_c_k_(_)
│ │ │ │ │ # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._b_a_n_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._o_n_l_i_n_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._a_w_a_y_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._e_x_t_e_n_d_e_d___a_w_a_y_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._b_u_s_y_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._o_f_f_l_i_n_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._i_n_v_i_t_e___t_o_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._a_c_t_i_v_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._c_o_m_p_o_s_i_n_g_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._p_a_u_s_e_d_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._i_n_a_c_t_i_v_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._g_o_n_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._a_c_k_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._r_e_c_e_i_v_e_d_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._d_i_s_p_l_a_y_e_d_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._s_e_n_d___f_i_l_e_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._s_e_n_d___t_e_x_t_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._c_o_r_r_e_c_t_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._r_e_a_c_t_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_P_a_r_t_i_c_i_p_a_n_t_._r_e_t_r_a_c_t_(_)
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._S_T_A_B_L_E___A_R_C_H_I_V_E
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._K_E_E_P___B_A_C_K_F_I_L_L_E_D___P_A_R_T_I_C_I_P_A_N_T_S
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._H_A_S___D_E_S_C_R_I_P_T_I_O_N
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._H_A_S___S_U_B_J_E_C_T
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._u_p_d_a_t_e___i_n_f_o_(_)
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._b_a_c_k_f_i_l_l_(_)
│ │ │ │ │ @@ -282,18 +240,14 @@
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._a_d_d___t_o___b_o_o_k_m_a_r_k_s_(_)
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._o_n___a_v_a_t_a_r_(_)
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._o_n___s_e_t___a_f_f_i_l_i_a_t_i_o_n_(_)
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._o_n___k_i_c_k_(_)
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._o_n___s_e_t___c_o_n_f_i_g_(_)
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._o_n___d_e_s_t_r_o_y___r_e_q_u_e_s_t_(_)
│ │ │ │ │ # _L_e_g_a_c_y_M_U_C_._o_n___s_e_t___s_u_b_j_e_c_t_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_M_U_C_._a_v_a_t_a_r___i_d
│ │ │ │ │ - # _L_e_g_a_c_y_M_U_C_._a_v_a_t_a_r
│ │ │ │ │ - # _L_e_g_a_c_y_M_U_C_._s_e_t___a_v_a_t_a_r_(_)
│ │ │ │ │ - # _L_e_g_a_c_y_M_U_C_._a_v_a_i_l_a_b_l_e___e_m_o_j_i_s_(_)
│ │ │ │ │ # _s_l_i_d_g_e_._m_a_i_n
│ │ │ │ │ # _E_x_c_e_p_t_i_o_n_s
│ │ │ │ │ # _M_o_d_u_l_e_ _C_o_n_t_e_n_t_s
│ │ │ │ │ # _S_i_g_T_e_r_m_I_n_t_e_r_r_u_p_t
│ │ │ │ │ # _C_l_a_s_s_e_s
│ │ │ │ │ # _F_u_n_c_t_i_o_n_s
│ │ │ │ │ # _P_a_c_k_a_g_e_ _C_o_n_t_e_n_t_s
│ │ │ ├── ./usr/share/doc/python-slidge-doc/html/objects.inv
│ │ │ │ ├── Sphinx inventory
│ │ │ │ │ @@ -1,526 +1,31 @@
│ │ │ │ │ # Sphinx inventory version 2
│ │ │ │ │ # Project: Slidge
│ │ │ │ │ # Version:
│ │ │ │ │ # The remainder of this file is compressed using zlib.
│ │ │ │ │ +#3XT F۪%S[ST'/sAK(ϏjՖG(up}
│ │ │ │ │
│ │ │ │ │ -09f27f098baa_add_missing_attributes_in_room py:module 0 dev/api/09f27f098baa_add_missing_attributes_in_room/index.html#module-$ -
│ │ │ │ │ -15b0bd83407a_remove_bogus_unique_constraints_on_room_ py:module 0 dev/api/15b0bd83407a_remove_bogus_unique_constraints_on_room_/index.html#module-$ -
│ │ │ │ │ -2461390c0af2_store_contacts_caps_verstring_in_db py:module 0 dev/api/2461390c0af2_store_contacts_caps_verstring_in_db/index.html#module-$ -
│ │ │ │ │ -29f5280c61aa_store_subject_setter_in_room py:module 0 dev/api/29f5280c61aa_store_subject_setter_in_room/index.html#module-$ -
│ │ │ │ │ -2b1f45ab7379_store_room_subject_setter_by_nickname py:module 0 dev/api/2b1f45ab7379_store_room_subject_setter_by_nickname/index.html#module-$ -
│ │ │ │ │ -3071e0fa69d4_add_contact_client_type py:module 0 dev/api/3071e0fa69d4_add_contact_client_type/index.html#module-$ -
│ │ │ │ │ -45c24cc73c91_add_bob py:module 0 dev/api/45c24cc73c91_add_bob/index.html#module-$ -
│ │ │ │ │ -5bd48bfdffa2_lift_room_legacy_id_constraint py:module 0 dev/api/5bd48bfdffa2_lift_room_legacy_id_constraint/index.html#module-$ -
│ │ │ │ │ -82a4af84b679_add_muc_history_filled py:module 0 dev/api/82a4af84b679_add_muc_history_filled/index.html#module-$ -
│ │ │ │ │ -8b993243a536_add_vcard_content_to_contact_table py:module 0 dev/api/8b993243a536_add_vcard_content_to_contact_table/index.html#module-$ -
│ │ │ │ │ -8d2ced764698_rely_on_db_to_store_contacts_rooms_and_ py:module 0 dev/api/8d2ced764698_rely_on_db_to_store_contacts_rooms_and_/index.html#module-$ -
│ │ │ │ │ -aa9d82a7f6ef_db_creation py:module 0 dev/api/aa9d82a7f6ef_db_creation/index.html#module-$ -
│ │ │ │ │ -abba1ae0edb3_store_avatar_legacy_id_in_the_contact_ py:module 0 dev/api/abba1ae0edb3_store_avatar_legacy_id_in_the_contact_/index.html#module-$ -
│ │ │ │ │ -b33993e87db3_move_everything_to_persistent_db py:module 0 dev/api/b33993e87db3_move_everything_to_persistent_db/index.html#module-$ -
│ │ │ │ │ -b64b1a793483_add_source_and_legacy_id_for_archived_ py:module 0 dev/api/b64b1a793483_add_source_and_legacy_id_for_archived_/index.html#module-$ -
│ │ │ │ │ -c4a8ec35a0e8_per_room_user_nick py:module 0 dev/api/c4a8ec35a0e8_per_room_user_nick/index.html#module-$ -
│ │ │ │ │ -e91195719c2c_store_users_avatars_persistently py:module 0 dev/api/e91195719c2c_store_users_avatars_persistently/index.html#module-$ -
│ │ │ │ │ -slidge py:module 0 dev/api/slidge/index.html#module-$ -
│ │ │ │ │ -slidge.BaseGateway py:class 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.AVATAR_ID_TYPE py:attribute 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.COMPONENT_AVATAR py:attribute 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.COMPONENT_NAME py:attribute 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.COMPONENT_TYPE py:attribute 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.LEGACY_CONTACT_ID_TYPE py:attribute 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.LEGACY_MSG_ID_TYPE py:attribute 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.LEGACY_ROOM_ID_TYPE py:attribute 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.MARK_ALL_MESSAGES py:attribute 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.PROPER_RECEIPTS py:attribute 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.REGISTRATION_FIELDS py:attribute 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.REGISTRATION_INSTRUCTIONS py:attribute 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.REGISTRATION_TYPE py:attribute 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.ROSTER_GROUP py:attribute 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.SEARCH_FIELDS py:attribute 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.SEARCH_INSTRUCTIONS py:attribute 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.SEARCH_TITLE py:attribute 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.WELCOME_MESSAGE py:attribute 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.confirm_qr py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.get_qr_text py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.input py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.send_qr py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.unregister py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.validate py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseGateway.validate_two_factor_code py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession py:class 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.MESSAGE_IDS_ARE_THREAD_IDS py:attribute 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.SPECIAL_MSG_ID_PREFIX py:attribute 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.input py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.legacy_to_xmpp_msg_id py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.login py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.logout py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.on_active py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.on_avatar py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.on_composing py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.on_correct py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.on_create_group py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.on_displayed py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.on_file py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.on_inactive py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.on_invitation py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.on_leave_group py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.on_moderate py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.on_paused py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.on_presence py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.on_react py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.on_retract py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.on_search py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.on_sticker py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.on_text py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.send_gateway_invite py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.send_gateway_message py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.send_gateway_status py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.send_qr py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.xmpp py:attribute 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.BaseSession.xmpp_to_legacy_msg_id py:method 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.command py:module 0 dev/api/slidge/command/index.html#module-$ -
│ │ │ │ │ -slidge.command.Command py:class 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.Command.ACCESS py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.Command.CATEGORY py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.Command.CHAT_COMMAND py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.Command.HELP py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.Command.NAME py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.Command.NODE py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.Command.raise_if_not_authorized py:method 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.Command.run py:method 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.CommandAccess py:class 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.Confirmation py:class 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.Confirmation.get_form py:method 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.Confirmation.handler py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.Confirmation.handler_args py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.Confirmation.handler_kwargs py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.Confirmation.prompt py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.Confirmation.success py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.Form py:class 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.Form.get_values py:method 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.Form.get_xml py:method 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.FormField py:class 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.FormField.get_xml py:method 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.FormField.image_url py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.FormField.label py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.FormField.private py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.FormField.required py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.FormField.type py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.FormField.validate py:method 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.FormField.value py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.FormField.var py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.SearchResult py:class 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.SearchResult.description py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.SearchResult.fields py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.SearchResult.get_xml py:method 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.SearchResult.items py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.TableResult py:class 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.TableResult.description py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.TableResult.fields py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.TableResult.get_xml py:method 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.TableResult.items py:attribute 1 dev/api/slidge/command/index.html#$ -
│ │ │ │ │ -slidge.command.register py:module 0 dev/api/slidge/command/register/index.html#module-$ -
│ │ │ │ │ -slidge.command.register.RegistrationType py:class 1 dev/api/slidge/command/register/index.html#$ -
│ │ │ │ │ -slidge.command.register.RegistrationType.QRCODE py:attribute 1 dev/api/slidge/command/register/index.html#$ -
│ │ │ │ │ -slidge.command.register.RegistrationType.SINGLE_STEP_FORM py:attribute 1 dev/api/slidge/command/register/index.html#$ -
│ │ │ │ │ -slidge.command.register.RegistrationType.TWO_FACTOR_CODE py:attribute 1 dev/api/slidge/command/register/index.html#$ -
│ │ │ │ │ -slidge.command.register.TwoFactorNotRequired py:exception 1 dev/api/slidge/command/register/index.html#$ -
│ │ │ │ │ -slidge.contact py:module 0 dev/api/slidge/contact/index.html#module-$ -
│ │ │ │ │ -slidge.contact.LegacyContact py:class 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.RESOURCE py:attribute 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.accept_friend_request py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.ack py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.active py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.add_to_roster py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.available_emojis py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.avatar py:property 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.avatar_id py:property 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.away py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.busy py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.client_type py:property 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.composing py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.correct py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.displayed py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.extended_away py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.fetch_vcard py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.get_msg_xmpp_id_up_to py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.gone py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.inactive py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.invite_to py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.legacy_id py:attribute 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.name py:property 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.offline py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.on_friend_accept py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.on_friend_delete py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.on_friend_request py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.online py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.paused py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.react py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.received py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.reject_friend_request py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.retract py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.send_file py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.send_text py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.set_avatar py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.unsubscribe py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyContact.update_info py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyRoster py:class 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyRoster.by_legacy_id py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyRoster.fill py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyRoster.jid_username_to_legacy_id py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.contact.LegacyRoster.legacy_id_to_jid_username py:method 1 dev/api/slidge/contact/index.html#$ -
│ │ │ │ │ -slidge.entrypoint py:function 1 dev/api/slidge/index.html#$ -
│ │ │ │ │ -slidge.group py:module 0 dev/api/slidge/group/index.html#module-$ -
│ │ │ │ │ -slidge.group.LegacyBookmarks py:class 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyBookmarks.fill py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyBookmarks.jid_username_to_legacy_id py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyBookmarks.legacy_id_to_jid_username py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyBookmarks.remove py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC py:class 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.HAS_DESCRIPTION py:attribute 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.HAS_SUBJECT py:attribute 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.KEEP_BACKFILLED_PARTICIPANTS py:attribute 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.STABLE_ARCHIVE py:attribute 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.add_to_bookmarks py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.available_emojis py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.avatar py:property 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.avatar_id py:property 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.backfill py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.fill_participants py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.get_participant py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.get_participant_by_contact py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.get_system_participant py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.get_user_participant py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.kick_resource py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.on_avatar py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.on_destroy_request py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.on_kick py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.on_set_affiliation py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.on_set_config py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.on_set_subject py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.remove_participant py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.set_avatar py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyMUC.update_info py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant py:class 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.ack py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.active py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.away py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.ban py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.busy py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.composing py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.correct py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.displayed py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.extended_away py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.gone py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.inactive py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.invite_to py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.kick py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.leave py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.offline py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.online py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.paused py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.react py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.received py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.retract py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.send_file py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.send_initial_presence py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.LegacyParticipant.send_text py:method 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.MucType py:class 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.MucType.CHANNEL py:attribute 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.MucType.CHANNEL_NON_ANONYMOUS py:attribute 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.group.MucType.GROUP py:attribute 1 dev/api/slidge/group/index.html#$ -
│ │ │ │ │ -slidge.main py:module 0 dev/api/slidge/main/index.html#module-$ -
│ │ │ │ │ -slidge.main.SigTermInterrupt py:exception 1 dev/api/slidge/main/index.html#$ -
│ │ │ │ │ -superduper py:module 0 dev/api/superduper/index.html#module-$ -
│ │ │ │ │ -superduper.gateway py:module 0 dev/api/superduper/gateway/index.html#module-$ -
│ │ │ │ │ -superduper.gateway.Gateway py:class 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.AVATAR_ID_TYPE py:attribute 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.COMPONENT_AVATAR py:attribute 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.COMPONENT_NAME py:attribute 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.COMPONENT_TYPE py:attribute 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.LEGACY_CONTACT_ID_TYPE py:attribute 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.LEGACY_MSG_ID_TYPE py:attribute 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.LEGACY_ROOM_ID_TYPE py:attribute 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.MARK_ALL_MESSAGES py:attribute 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.PROPER_RECEIPTS py:attribute 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.REGISTRATION_FIELDS py:attribute 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.REGISTRATION_INSTRUCTIONS py:attribute 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.REGISTRATION_TYPE py:attribute 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.ROSTER_GROUP py:attribute 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.SEARCH_FIELDS py:attribute 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.SEARCH_INSTRUCTIONS py:attribute 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.SEARCH_TITLE py:attribute 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.WELCOME_MESSAGE py:attribute 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.ack py:method 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.active py:method 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.composing py:method 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.confirm_qr py:method 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.correct py:method 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.displayed py:method 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.get_qr_text py:method 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.gone py:method 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.inactive py:method 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.input py:method 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.invite_to py:method 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.paused py:method 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.react py:method 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.received py:method 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.retract py:method 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.send_file py:method 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.send_qr py:method 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.send_text py:method 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.unregister py:method 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.validate py:method 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.gateway.Gateway.validate_two_factor_code py:method 1 dev/api/superduper/gateway/index.html#$ -
│ │ │ │ │ -superduper.group py:module 0 dev/api/superduper/group/index.html#module-$ -
│ │ │ │ │ -superduper.group.Bookmarks py:class 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Bookmarks.fill py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Bookmarks.jid_username_to_legacy_id py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Bookmarks.legacy_id_to_jid_username py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Bookmarks.remove py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC py:class 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.HAS_DESCRIPTION py:attribute 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.HAS_SUBJECT py:attribute 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.KEEP_BACKFILLED_PARTICIPANTS py:attribute 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.STABLE_ARCHIVE py:attribute 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.add_to_bookmarks py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.available_emojis py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.avatar py:property 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.avatar_id py:property 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.backfill py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.fill_participants py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.get_participant py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.get_participant_by_contact py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.get_system_participant py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.get_user_participant py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.kick_resource py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.on_avatar py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.on_destroy_request py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.on_kick py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.on_set_affiliation py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.on_set_config py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.on_set_subject py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.remove_participant py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.set_avatar py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.MUC.update_info py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant py:class 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.ack py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.active py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.away py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.ban py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.busy py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.composing py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.correct py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.displayed py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.extended_away py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.gone py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.inactive py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.invite_to py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.kick py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.leave py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.offline py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.online py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.paused py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.react py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.received py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.retract py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.send_file py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.send_initial_presence py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.group.Participant.send_text py:method 1 dev/api/superduper/group/index.html#$ -
│ │ │ │ │ -superduper.session py:module 0 dev/api/superduper/session/index.html#module-$ -
│ │ │ │ │ -superduper.session.Session py:class 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.MESSAGE_IDS_ARE_THREAD_IDS py:attribute 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.SPECIAL_MSG_ID_PREFIX py:attribute 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.input py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.legacy_to_xmpp_msg_id py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.login py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.logout py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.on_active py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.on_avatar py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.on_composing py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.on_correct py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.on_create_group py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.on_displayed py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.on_file py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.on_inactive py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.on_invitation py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.on_leave_group py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.on_moderate py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.on_paused py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.on_presence py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.on_react py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.on_retract py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.on_search py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.on_sticker py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.on_text py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.send_gateway_invite py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.send_gateway_message py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.send_gateway_status py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.send_qr py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.xmpp py:attribute 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -superduper.session.Session.xmpp_to_legacy_msg_id py:method 1 dev/api/superduper/session/index.html#$ -
│ │ │ │ │ -09f27f098baa_add_missing_attributes_in_room std:label -1 dev/api/09f27f098baa_add_missing_attributes_in_room/index.html#module-$ -
│ │ │ │ │ -15b0bd83407a_remove_bogus_unique_constraints_on_room_ std:label -1 dev/api/15b0bd83407a_remove_bogus_unique_constraints_on_room_/index.html#module-$ 15b0bd83407a_remove_bogus_unique_constraints_on_room
│ │ │ │ │ -2461390c0af2_store_contacts_caps_verstring_in_db std:label -1 dev/api/2461390c0af2_store_contacts_caps_verstring_in_db/index.html#module-$ -
│ │ │ │ │ -29f5280c61aa_store_subject_setter_in_room std:label -1 dev/api/29f5280c61aa_store_subject_setter_in_room/index.html#module-$ -
│ │ │ │ │ -2b1f45ab7379_store_room_subject_setter_by_nickname std:label -1 dev/api/2b1f45ab7379_store_room_subject_setter_by_nickname/index.html#module-$ -
│ │ │ │ │ -3071e0fa69d4_add_contact_client_type std:label -1 dev/api/3071e0fa69d4_add_contact_client_type/index.html#module-$ -
│ │ │ │ │ -45c24cc73c91_add_bob std:label -1 dev/api/45c24cc73c91_add_bob/index.html#module-$ -
│ │ │ │ │ -5bd48bfdffa2_lift_room_legacy_id_constraint std:label -1 dev/api/5bd48bfdffa2_lift_room_legacy_id_constraint/index.html#module-$ -
│ │ │ │ │ -82a4af84b679_add_muc_history_filled std:label -1 dev/api/82a4af84b679_add_muc_history_filled/index.html#module-$ -
│ │ │ │ │ -8b993243a536_add_vcard_content_to_contact_table std:label -1 dev/api/8b993243a536_add_vcard_content_to_contact_table/index.html#module-$ -
│ │ │ │ │ -8d2ced764698_rely_on_db_to_store_contacts_rooms_and_ std:label -1 dev/api/8d2ced764698_rely_on_db_to_store_contacts_rooms_and_/index.html#module-$ 8d2ced764698_rely_on_db_to_store_contacts_rooms_and
│ │ │ │ │ -Ad-hoc Command std:term -1 glossary.html#term-Ad-hoc-Command -
│ │ │ │ │ -Avatar std:term -1 glossary.html#term-$ -
│ │ │ │ │ -Carbons std:term -1 glossary.html#term-$ -
│ │ │ │ │ -Chatbot Command std:term -1 glossary.html#term-Chatbot-Command -
│ │ │ │ │ -Command std:term -1 glossary.html#term-$ -
│ │ │ │ │ -JID Local Part std:term -1 glossary.html#term-JID-Local-Part -
│ │ │ │ │ -Legacy Contact std:term -1 glossary.html#term-Legacy-Contact -
│ │ │ │ │ -Legacy Module std:term -1 glossary.html#term-Legacy-Module -
│ │ │ │ │ -Legacy Network std:term -1 glossary.html#term-Legacy-Network -
│ │ │ │ │ -Official Client std:term -1 glossary.html#term-Official-Client -
│ │ │ │ │ -Roster std:term -1 glossary.html#term-$ -
│ │ │ │ │ -User std:term -1 glossary.html#term-$ -
│ │ │ │ │ -XMPP Entity std:term -1 glossary.html#term-XMPP-Entity -
│ │ │ │ │ -aa9d82a7f6ef_db_creation std:label -1 dev/api/aa9d82a7f6ef_db_creation/index.html#module-$ -
│ │ │ │ │ -abba1ae0edb3_store_avatar_legacy_id_in_the_contact_ std:label -1 dev/api/abba1ae0edb3_store_avatar_legacy_id_in_the_contact_/index.html#module-$ abba1ae0edb3_store_avatar_legacy_id_in_the_contact
│ │ │ │ │ -admin/attachments std:doc -1 admin/attachments.html Attachments
│ │ │ │ │ -admin/component std:doc -1 admin/component.html XMPP server config
│ │ │ │ │ -admin/config/index std:doc -1 admin/config/index.html Configuration
│ │ │ │ │ -admin/daemon std:doc -1 admin/daemon.html Running as a daemon
│ │ │ │ │ -admin/examples/index std:doc -1 admin/examples/index.html Example XMPP server configurations
│ │ │ │ │ -admin/index std:doc -1 admin/index.html For admins
│ │ │ │ │ -admin/install std:doc -1 admin/install.html Installation
│ │ │ │ │ -admin/note std:doc -1 admin/note.html
│ │ │ │ │ -admin/privilege std:doc -1 admin/privilege.html Privileges
│ │ │ │ │ -as a systemd unit std:label -1 admin/daemon.html#as-a-systemd-unit As a systemd unit
│ │ │ │ │ -attachments std:label -1 admin/attachments.html#$ Attachments
│ │ │ │ │ -b33993e87db3_move_everything_to_persistent_db std:label -1 dev/api/b33993e87db3_move_everything_to_persistent_db/index.html#module-$ -
│ │ │ │ │ -b64b1a793483_add_source_and_legacy_id_for_archived_ std:label -1 dev/api/b64b1a793483_add_source_and_legacy_id_for_archived_/index.html#module-$ b64b1a793483_add_source_and_legacy_id_for_archived
│ │ │ │ │ -c4a8ec35a0e8_per_room_user_nick std:label -1 dev/api/c4a8ec35a0e8_per_room_user_nick/index.html#module-$ -
│ │ │ │ │ -classes std:label -1 dev/api/superduper/session/index.html#$ Classes
│ │ │ │ │ -commands std:label -1 user/commands.html#$ Commands
│ │ │ │ │ -common config std:label -1 admin/config/index.html#common-config Common config
│ │ │ │ │ -configuration std:label -1 admin/config/index.html#$ Configuration
│ │ │ │ │ -contacts std:label -1 user/commands.html#$ Contacts
│ │ │ │ │ -container install std:label -1 admin/daemon.html#container-install Container install
│ │ │ │ │ -containers std:label -1 admin/daemon.html#$ Containers
│ │ │ │ │ -contributing std:label -1 dev/contributing.html#$ Contributing
│ │ │ │ │ -data persistence std:label -1 admin/daemon.html#data-persistence Data persistence
│ │ │ │ │ -debian std:label -1 admin/install.html#$ -
│ │ │ │ │ -debian packages (systemd) std:label -1 admin/daemon.html#debian-packages-systemd Debian packages (systemd)
│ │ │ │ │ -dev/api/09f27f098baa_add_missing_attributes_in_room/index std:doc -1 dev/api/09f27f098baa_add_missing_attributes_in_room/index.html 09f27f098baa_add_missing_attributes_in_room
│ │ │ │ │ -dev/api/15b0bd83407a_remove_bogus_unique_constraints_on_room_/index std:doc -1 dev/api/15b0bd83407a_remove_bogus_unique_constraints_on_room_/index.html 15b0bd83407a_remove_bogus_unique_constraints_on_room
│ │ │ │ │ -dev/api/2461390c0af2_store_contacts_caps_verstring_in_db/index std:doc -1 dev/api/2461390c0af2_store_contacts_caps_verstring_in_db/index.html 2461390c0af2_store_contacts_caps_verstring_in_db
│ │ │ │ │ -dev/api/29f5280c61aa_store_subject_setter_in_room/index std:doc -1 dev/api/29f5280c61aa_store_subject_setter_in_room/index.html 29f5280c61aa_store_subject_setter_in_room
│ │ │ │ │ -dev/api/2b1f45ab7379_store_room_subject_setter_by_nickname/index std:doc -1 dev/api/2b1f45ab7379_store_room_subject_setter_by_nickname/index.html 2b1f45ab7379_store_room_subject_setter_by_nickname
│ │ │ │ │ -dev/api/3071e0fa69d4_add_contact_client_type/index std:doc -1 dev/api/3071e0fa69d4_add_contact_client_type/index.html 3071e0fa69d4_add_contact_client_type
│ │ │ │ │ -dev/api/45c24cc73c91_add_bob/index std:doc -1 dev/api/45c24cc73c91_add_bob/index.html 45c24cc73c91_add_bob
│ │ │ │ │ -dev/api/5bd48bfdffa2_lift_room_legacy_id_constraint/index std:doc -1 dev/api/5bd48bfdffa2_lift_room_legacy_id_constraint/index.html 5bd48bfdffa2_lift_room_legacy_id_constraint
│ │ │ │ │ -dev/api/82a4af84b679_add_muc_history_filled/index std:doc -1 dev/api/82a4af84b679_add_muc_history_filled/index.html 82a4af84b679_add_muc_history_filled
│ │ │ │ │ -dev/api/8b993243a536_add_vcard_content_to_contact_table/index std:doc -1 dev/api/8b993243a536_add_vcard_content_to_contact_table/index.html 8b993243a536_add_vcard_content_to_contact_table
│ │ │ │ │ -dev/api/8d2ced764698_rely_on_db_to_store_contacts_rooms_and_/index std:doc -1 dev/api/8d2ced764698_rely_on_db_to_store_contacts_rooms_and_/index.html 8d2ced764698_rely_on_db_to_store_contacts_rooms_and
│ │ │ │ │ -dev/api/aa9d82a7f6ef_db_creation/index std:doc -1 dev/api/aa9d82a7f6ef_db_creation/index.html aa9d82a7f6ef_db_creation
│ │ │ │ │ -dev/api/abba1ae0edb3_store_avatar_legacy_id_in_the_contact_/index std:doc -1 dev/api/abba1ae0edb3_store_avatar_legacy_id_in_the_contact_/index.html abba1ae0edb3_store_avatar_legacy_id_in_the_contact
│ │ │ │ │ -dev/api/b33993e87db3_move_everything_to_persistent_db/index std:doc -1 dev/api/b33993e87db3_move_everything_to_persistent_db/index.html b33993e87db3_move_everything_to_persistent_db
│ │ │ │ │ -dev/api/b64b1a793483_add_source_and_legacy_id_for_archived_/index std:doc -1 dev/api/b64b1a793483_add_source_and_legacy_id_for_archived_/index.html b64b1a793483_add_source_and_legacy_id_for_archived
│ │ │ │ │ -dev/api/c4a8ec35a0e8_per_room_user_nick/index std:doc -1 dev/api/c4a8ec35a0e8_per_room_user_nick/index.html c4a8ec35a0e8_per_room_user_nick
│ │ │ │ │ -dev/api/e91195719c2c_store_users_avatars_persistently/index std:doc -1 dev/api/e91195719c2c_store_users_avatars_persistently/index.html e91195719c2c_store_users_avatars_persistently
│ │ │ │ │ -dev/api/slidge/command/index std:doc -1 dev/api/slidge/command/index.html slidge.command
│ │ │ │ │ -dev/api/slidge/command/register/index std:doc -1 dev/api/slidge/command/register/index.html slidge.command.register
│ │ │ │ │ -dev/api/slidge/contact/index std:doc -1 dev/api/slidge/contact/index.html slidge.contact
│ │ │ │ │ -dev/api/slidge/group/index std:doc -1 dev/api/slidge/group/index.html slidge.group
│ │ │ │ │ -dev/api/slidge/index std:doc -1 dev/api/slidge/index.html slidge
│ │ │ │ │ -dev/api/slidge/main/index std:doc -1 dev/api/slidge/main/index.html slidge.main
│ │ │ │ │ -dev/api/superduper/gateway/index std:doc -1 dev/api/superduper/gateway/index.html superduper.gateway
│ │ │ │ │ -dev/api/superduper/group/index std:doc -1 dev/api/superduper/group/index.html superduper.group
│ │ │ │ │ -dev/api/superduper/index std:doc -1 dev/api/superduper/index.html superduper
│ │ │ │ │ -dev/api/superduper/session/index std:doc -1 dev/api/superduper/session/index.html superduper.session
│ │ │ │ │ -dev/contributing std:doc -1 dev/contributing.html Contributing
│ │ │ │ │ -dev/design std:doc -1 dev/design.html Slidge Design
│ │ │ │ │ -dev/howto std:doc -1 dev/howto.html How to…?
│ │ │ │ │ -dev/index std:doc -1 dev/index.html For devs
│ │ │ │ │ -dev/tutorial std:doc -1 dev/tutorial.html Tutorial: minimal legacy module from scratch
│ │ │ │ │ -development setup std:label -1 dev/contributing.html#development-setup Development setup
│ │ │ │ │ -dockerhub std:label -1 admin/install.html#$ Dockerhub
│ │ │ │ │ -e91195719c2c_store_users_avatars_persistently std:label -1 dev/api/e91195719c2c_store_users_avatars_persistently/index.html#module-$ -
│ │ │ │ │ -ejabberd std:label -1 admin/component.html#id2 -
│ │ │ │ │ -example 1: prosody std:label -1 admin/examples/index.html#example-1-prosody Example 1: prosody
│ │ │ │ │ -example 1: prosody's http_files std:label -1 admin/attachments.html#example-1-prosody-s-http-files Example 1: prosody’s http_files
│ │ │ │ │ -example 1: prosody's mod_http_file_share std:label -1 admin/attachments.html#example-1-prosody-s-mod-http-file-share Example 1: prosody’s mod_http_file_share
│ │ │ │ │ -example 2: ejabberd mod_http_upload std:label -1 admin/attachments.html#example-2-ejabberd-mod-http-upload Example 2: ejabberd mod_http_upload
│ │ │ │ │ -example 2: ejabberd/upload-service std:label -1 admin/examples/index.html#example-2-ejabberd-upload-service Example 2: ejabberd/upload-service
│ │ │ │ │ -example 2: nginx std:label -1 admin/attachments.html#example-2-nginx Example 2: nginx
│ │ │ │ │ -example xmpp server configurations std:label -1 admin/examples/index.html#example-xmpp-server-configurations Example XMPP server configurations
│ │ │ │ │ -exceptions std:label -1 dev/api/slidge/main/index.html#$ Exceptions
│ │ │ │ │ -fetching info from the legacy service std:label -1 dev/design.html#fetching-info-from-the-legacy-service Fetching info from the legacy service
│ │ │ │ │ -find std:label -1 user/commands.html#$ Find
│ │ │ │ │ -finding legacy contacts std:label -1 user/contacts.html#finding-legacy-contacts Finding legacy contacts
│ │ │ │ │ -for admins std:label -1 admin/index.html#for-admins For admins
│ │ │ │ │ -for devs std:label -1 dev/index.html#for-devs For devs
│ │ │ │ │ -for users std:label -1 user/index.html#for-users For users
│ │ │ │ │ -from legacy to xmpp std:label -1 dev/tutorial.html#from-legacy-to-xmpp From legacy to XMPP
│ │ │ │ │ -from xmpp to legacy std:label -1 dev/tutorial.html#from-xmpp-to-legacy From XMPP to legacy
│ │ │ │ │ -functions std:label -1 dev/api/slidge/index.html#$ Functions
│ │ │ │ │ -gajim std:label -1 user/register.html#$ Gajim
│ │ │ │ │ -genindex std:label -1 genindex.html Index
│ │ │ │ │ -glossary std:doc -1 glossary.html Glossary
│ │ │ │ │ -glossary std:label -1 glossary.html#$ Glossary
│ │ │ │ │ -going further std:label -1 dev/tutorial.html#going-further Going further
│ │ │ │ │ -groups std:label -1 user/commands.html#$ Groups
│ │ │ │ │ -guidelines std:label -1 dev/contributing.html#$ Guidelines
│ │ │ │ │ -how to…? std:label -1 dev/howto.html#how-to How to…?
│ │ │ │ │ -http file upload std:label -1 admin/attachments.html#http-file-upload HTTP File Upload
│ │ │ │ │ -index std:doc -1 index.html Slidge
│ │ │ │ │ -indices and tables std:label -1 index.html#indices-and-tables Indices and tables
│ │ │ │ │ -installation std:label -1 admin/install.html#$ Installation
│ │ │ │ │ -jid local parts to legacy ids std:label -1 dev/design.html#jid-local-parts-to-legacy-ids JID local parts to legacy IDs
│ │ │ │ │ -keeping a low profile std:label -1 user/low_profile.html#keeping-a-low-profile Keeping a low profile
│ │ │ │ │ -login std:label -1 dev/tutorial.html#$ Login
│ │ │ │ │ -minimal example std:label -1 dev/tutorial.html#minimal-example Minimal example
│ │ │ │ │ -mod_privilege installation std:label -1 admin/privilege.html#mod-privilege-installation -
│ │ │ │ │ -modindex std:label -1 py-modindex.html Module Index
│ │ │ │ │ -module contents std:label -1 dev/api/superduper/session/index.html#module-contents Module Contents
│ │ │ │ │ -movim std:label -1 user/register.html#$ Movim
│ │ │ │ │ -no upload std:label -1 admin/attachments.html#no-upload No upload
│ │ │ │ │ -other clients std:label -1 user/register.html#other-clients Other clients
│ │ │ │ │ -package contents std:label -1 dev/api/slidge/index.html#package-contents Package Contents
│ │ │ │ │ -pipx std:label -1 admin/install.html#$ -
│ │ │ │ │ -pre-filling contacts and groups std:label -1 dev/design.html#pre-filling-contacts-and-groups Pre-filling contacts and groups
│ │ │ │ │ -privileges std:label -1 admin/privilege.html#$ Privileges
│ │ │ │ │ -privileges configuration std:label -1 admin/privilege.html#privileges-configuration Privileges configuration
│ │ │ │ │ -privileges with ejabberd std:label -1 admin/privilege.html#privileges-with-ejabberd Privileges with ejabberd
│ │ │ │ │ -privileges with prosody std:label -1 admin/privilege.html#privileges-with-prosody Privileges with Prosody
│ │ │ │ │ -prosody std:label -1 admin/component.html#id1 Prosody
│ │ │ │ │ -py-modindex std:label -1 py-modindex.html Python Module Index
│ │ │ │ │ -registration std:label -1 user/register.html#$ Registration
│ │ │ │ │ -running as a daemon std:label -1 admin/daemon.html#running-as-a-daemon Running as a daemon
│ │ │ │ │ -search std:label -1 search.html Search Page
│ │ │ │ │ -setup std:label -1 dev/tutorial.html#$ Setup
│ │ │ │ │ -slidge std:label -1 index.html#$ Slidge
│ │ │ │ │ -slidge design std:label -1 dev/design.html#slidge-design Slidge Design
│ │ │ │ │ -slidge.command std:label -1 dev/api/slidge/command/index.html#module-$ -
│ │ │ │ │ -slidge.command.register std:label -1 dev/api/slidge/command/register/index.html#module-$ -
│ │ │ │ │ -slidge.contact std:label -1 dev/api/slidge/contact/index.html#module-$ -
│ │ │ │ │ -slidge.group std:label -1 dev/api/slidge/group/index.html#module-$ -
│ │ │ │ │ -slidge.main std:label -1 dev/api/slidge/main/index.html#module-$ -
│ │ │ │ │ -submodules std:label -1 dev/api/superduper/index.html#$ Submodules
│ │ │ │ │ -superduper std:label -1 dev/api/superduper/index.html#module-$ -
│ │ │ │ │ -superduper.gateway std:label -1 dev/api/superduper/gateway/index.html#module-$ -
│ │ │ │ │ -superduper.group std:label -1 dev/api/superduper/group/index.html#module-$ -
│ │ │ │ │ -superduper.session std:label -1 dev/api/superduper/session/index.html#module-$ -
│ │ │ │ │ -sync :term:`roster` std:label -1 user/commands.html#sync-roster Sync Roster
│ │ │ │ │ -the gateway component std:label -1 dev/tutorial.html#the-gateway-component The gateway component
│ │ │ │ │ -the legacy session std:label -1 dev/tutorial.html#the-legacy-session The legacy session
│ │ │ │ │ -tutorial: minimal legacy module from scratch std:label -1 dev/tutorial.html#tutorial-minimal-legacy-module-from-scratch Tutorial: minimal legacy module from scratch
│ │ │ │ │ -unregister std:label -1 user/commands.html#$ Unregister
│ │ │ │ │ -user/commands std:doc -1 user/commands.html Commands
│ │ │ │ │ -user/contacts std:doc -1 user/contacts.html Finding legacy contacts
│ │ │ │ │ -user/index std:doc -1 user/index.html For users
│ │ │ │ │ -user/low_profile std:doc -1 user/low_profile.html Keeping a low profile
│ │ │ │ │ -user/note std:doc -1 user/note.html
│ │ │ │ │ -user/register std:doc -1 user/register.html Registration
│ │ │ │ │ -using another xmpp client std:label -1 dev/contributing.html#using-another-xmpp-client Using another XMPP client
│ │ │ │ │ -with containers std:label -1 dev/contributing.html#with-containers With containers
│ │ │ │ │ -without containers std:label -1 dev/contributing.html#without-containers Without containers
│ │ │ │ │ -xmpp server config std:label -1 admin/component.html#xmpp-server-config XMPP server config
│ │ │ │ │ +xŝr:Jf悊%SS3Ȳ>>} I%RbG}կ1/0O2HqIrn\bǏvu~:Y`w^yqz$v;sd3Ӆot&.]wc}4-<[7g.x2X'ޏNGq?y1.">t#gɓ6`=x|Fa4W&NghfFxPFb6X'xx9~FZRh6/P|>&/Se|4
FF/#-FiV~wT0g
cİc3Vy>QDD!\R3
│ │ │ │ │ +uP \IFvnle@Tmld/F;S:Ot4Ӗf:ݏLUX)Qonw#ꗡaT'!Me]i !t㇌頽dsh*_=<_S{*-oT`(] @{Tꉶ!ju{PԐC:8iuLPғX6mCZ'1Be/4 (>n[lȢƖ5-jJvw,Hs
W
Cԗjn`1z6Xh4x
│ │ │ │ │ +6zj
│ │ │ │ │ +8e:'wz!"h{+b$(;?
│ │ │ │ │ +_l8Djds;_nГ-m4$|lp~>D}X?7J|gA)a[hH=weڽ%vc'V[R,n>0A#5?/Fl:)⬒`&S+ɀed+< }ij+*4k4V=lijK~~xhjOfOJ}?.&3xDsr-$@ZU.yir$PGjm6@hh>y
#;88"Ua(n0$.vфAL
<0z+;^Mݸr*\;n,JL':Q1g+hfYSw.¶^
│ │ │ │ │ +D)di$~,qg==>*
.Pxn5#
│ │ │ │ │ +$!.9ovӏ#Ry=-^%oǩFhnI_u&OfjMDF*[?t0^RQzsn4SīJ|hHmF _Ǐ;{:-tܺb7j_G@
ΫyeA{~P!qOucMjv?s^QZ>^D{ɯ=X2. kPMmc2]i#]J}i*
│ │ │ │ │ +ipӦ@tPToPlQC7Tc7QQAeT rG5r95,LQ;-nڣmku >m=*`2x>EED)m[U+2uŶwT?q4MޕX橻h3aNqN^Q |
|
|