https://github.com/hwipl/nuqql-slixmppd
XMPP client network daemon using slixmpp
https://github.com/hwipl/nuqql-slixmppd
daemon instant-messaging-client network python slixmpp xmpp-client
Last synced: 13 days ago
JSON representation
XMPP client network daemon using slixmpp
- Host: GitHub
- URL: https://github.com/hwipl/nuqql-slixmppd
- Owner: hwipl
- License: mit
- Created: 2019-04-02T12:29:04.000Z (about 7 years ago)
- Default Branch: main
- Last Pushed: 2026-05-04T07:52:37.000Z (about 2 months ago)
- Last Synced: 2026-05-04T09:44:22.226Z (about 2 months ago)
- Topics: daemon, instant-messaging-client, network, python, slixmpp, xmpp-client
- Language: Python
- Homepage:
- Size: 132 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# nuqql-slixmppd
nuqql-slixmppd is a network daemon that implements the nuqql interface and uses
[slixmpp](https://codeberg.org/poezio/slixmpp) to connect to XMPP chat
networks. It can be used as a backend for
[nuqql](https://github.com/hwipl/nuqql) or as a standalone chat client daemon.
nuqql-slixmppd's dependencies are:
* [nuqql-based](https://github.com/hwipl/nuqql-based)
* [slixmpp](https://codeberg.org/poezio/slixmpp)
* [daemon](https://pypi.org/project/python-daemon/) (optional)
## Quick Start
You can install nuqql-slixmppd and its dependencies, for example, with pip for
your user only with the following command:
```console
$ pip install --user nuqql-slixmppd
```
After the installation, you can run nuqql-slixmppd by running the
`nuqql-slixmppd` command:
```console
$ 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:
```console
$ telnet localhost 32000
```
In the telnet session you can:
* add XMPP accounts with: `account add xmpp `.
* retrieve the list of accounts and their numbers/IDs with `account list`.
* retrieve your buddy list with `account buddies`
* send a message to a user with `account send `
## 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.8.11:
* Update slixmpp to v1.16.0
* v0.8.10:
* Update slixmpp to v1.15.0
* v0.8.9:
* Update slixmpp to v1.14.1
* v0.8.8:
* Update slixmpp to v1.13.2
* v0.8.7:
* Update slixmpp to v1.12.0
* v0.8.6:
* Update slixmpp to v1.11.0
* v0.8.5:
* Update slixmpp to v1.10.0
* v0.8.4:
* Update slixmpp to v1.8.6
* v0.8.3:
* Update slixmpp to v1.8.5
* v0.8.2:
* Update slixmpp to v1.8.4
* v0.8.1:
* Update slixmpp to v1.8.3
* v0.8.0:
* Update slixmpp to v1.8.0, which should fix python 3.10 issues
* 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
``
* 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 to `debug`, `info`,
`warn`, or `error`. Default: `warn`.
* Make daemon python module optional
* Fixes and improvements
* v0.3:
* Add group chat support and messages:
* list chats on account: `account chat list`
* join a chat on account: `account chat join `
* part a chat on account: `account chat part `
* send a message to a chat on account:
`account chat send `
* list users of a chat on account: `account chat users `
* Cleanups, fixes, and improvements
* v0.2:
* Add account status message:
* Set current status with: `account status set `
* Get current status with: `account status get`
* Use stricter permissions for account, log, and sock files
* v0.1:
* First/initial release.