XMPP client network daemon using slixmpp
Project description
nuqql-slixmppd
nuqql-slixmppd is a network daemon that implements the nuqql interface and uses slixmpp to connect to XMPP chat networks. It can be used as a backend for nuqql or as a standalone chat client daemon.
nuqql-slixmppd's dependencies are:
- nuqql-based
- slixmpp
- daemon (optional)
Quick Start
You can install nuqql-slixmppd and its dependencies, for example, with pip for your user only with the following command:
$ pip install --user nuqql-slixmppd
After the installation, you can run nuqql-slixmppd by running the
nuqql-slixmppd
command:
$ nuqql-slixmppd
By default, it listens on TCP port 32000 on your local host. So, you can connect with, e.g., telnet to it with the following command:
$ telnet localhost 32000
In the telnet session you can:
- add XMPP accounts with:
account add xmpp <username> <password>
. - retrieve the list of accounts and their numbers/IDs with
account list
. - retrieve your buddy list with
account <id> buddies
- send a message to a user with
account <id> send <username> <message>
Usage
See nuqql-slixmppd --help
for a list of command line arguments:
usage: nuqql-slixmppd [--address ADDRESS] [--af {inet,unix}] [-d] [--dir DIR]
[--disable-history] [--filter-own] [-h] [--loglevel {debug,info,warn,error}]
[--port PORT] [--push-accounts] [--sockfile SOCKFILE] [--version]
Run nuqql backend slixmppd.
optional arguments:
--address ADDRESS set AF_INET listen address
--af {inet,unix} set socket address family: "inet" for AF_INET, "unix"
for AF_UNIX
-d, --daemonize daemonize process
--dir DIR set working directory
--disable-history disable message history
--filter-own enable filtering of own messages
-h, --help show this help message and exit
--loglevel {debug,info,warn,error}
set logging level
--port PORT set AF_INET listen port
--push-accounts enable pushing accounts to client
--sockfile SOCKFILE set AF_UNIX socket file in DIR
--version show program's version number and exit
Changes
- v0.7.0:
- Update nuqql-based to v0.3.0, switch to asyncio, require python version >= 3.7.
- Add welcome and account adding help messages.
- Disable filtering of own messages, rewrite sender of own messages to
<self>
- v0.6.0:
- Update nuqql-based to v0.2.0
- v0.5:
- Use nuqql-based as dependency and adapt to nuqql-based changes
- Add setup.py for installation and package distribution
- Add python type annotations
- Restructure code
- v0.4:
- Add new commands:
bye
: disconnect from the backend.quit
: quit the backend.help
: show list of commands and their description.
- Add and use "chat msg" message format for group chat messages
- Store accounts in .ini file
accounts.ini
in the backend's working directory. Note: existing accounts have to be re-added to the backend to be usable with the .ini file. - Add configuration file support: in addition to the command line arguments,
configuration parameters can now be set in the .ini file
config.ini
in the backend's working directory. - Add
loglevel
configuration parameter to command line arguments and configuration file for setting the logging level todebug
,info
,warn
, orerror
. Default:warn
. - Make daemon python module optional
- Fixes and improvements
- Add new commands:
- v0.3:
- Add group chat support and messages:
- list chats on account:
account <id> chat list
- join a chat on account:
account <id> chat join <chat>
- part a chat on account:
account <id> chat part <chat>
- send a message to a chat on account:
account <id> chat send <chat> <message>
- list users of a chat on account:
account <id> chat users <chat>
- list chats on account:
- Cleanups, fixes, and improvements
- Add group chat support and messages:
- v0.2:
- Add account status message:
- Set current status with:
account <id> status set <status>
- Get current status with:
account <id> status get
- Set current status with:
- Use stricter permissions for account, log, and sock files
- Add account status message:
- v0.1:
- First/initial release.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file nuqql-slixmppd-0.7.0.tar.gz
.
File metadata
- Download URL: nuqql-slixmppd-0.7.0.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91516903e0c031333e313d8550c9ffd5ccfa5bf5cc918fa2f675f63bc324dc5b |
|
MD5 | 645bcf46c94a25f99d2b262f8bbb6360 |
|
BLAKE2b-256 | c90489bf18a5b83042585d2ce37788c0164262be5323619d18e00a5ef2b5aeac |
Provenance
File details
Details for the file nuqql_slixmppd-0.7.0-py3-none-any.whl
.
File metadata
- Download URL: nuqql_slixmppd-0.7.0-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a33677291fdc559d28061955149b2137f8d626b289a2749f42669d873f4db05 |
|
MD5 | 6b2ca205bb9278dc80565fdbeba7f178 |
|
BLAKE2b-256 | 60391a202a022eb93cfa2cd6b87aa9760b655d29706631801cf86da94c341d1b |