Skip to main content

Matrix client network daemon using the Matrix Python SDK

Project description

nuqql-matrixd

nuqql-matrixd is a network daemon that implements the nuqql interface and uses the Matrix Python SDK to connect to Matrix chat networks. It can be used as a backend for nuqql or as a standalone chat client daemon.

nuqql-matrixd's dependencies are:

Status

Note: the Matrix Python SDK project status strongly recommends using matrix-nio rather than the Matrix Python SDK. Thus, please consider using nuqql-matrixd-nio that uses matrix-nio rather than nuqql-matrixd.

Quick Start

You can install nuqql-matrixd and its dependencies, for example, with pip for your user only with the following command:

$ pip install --user nuqql-matrixd

After the installation, you can run nuqql-matrixd by running the nuqql-matrixd command:

$ nuqql-matrixd

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 Matrix accounts with: account add matrix <account> <password>.
    • Note: the format of <account> is <username>@<homeserver>, e.g., dummy_user@matrix.org.
  • retrieve the list of accounts and their numbers/IDs with account list.
  • retrieve your buddy/room list with account <id> buddies or account <id> chat list
  • send a message to a room with account <id> chat send <room> <message>

Usage

See nuqql-matrixd --help for a list of command line arguments:

usage: nuqql-matrixd [--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 matrixd.

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.6.0:
    • Update matrix_client to v0.4.0
  • v0.5.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.4.0:
    • Update nuqql-based to v0.2.0
  • v0.3:
    • 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
    • Cleanups, fixes, and improvements
  • v0.2:
    • Allow specification of the homeserver url in the account user when adding an account. Thus, the following account users are possible:
      • <user>@<domain> (defaults to https)
      • <user>@http://<domain>[:<port>]
      • <user>@https://<domain>[:<port>]
    • Save sync token for each account in a file. So, only messages newer than the last sync are retrieved after a restart of the backend.
    • 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.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

nuqql-matrixd-0.6.0.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

nuqql_matrixd-0.6.0-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file nuqql-matrixd-0.6.0.tar.gz.

File metadata

  • Download URL: nuqql-matrixd-0.6.0.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for nuqql-matrixd-0.6.0.tar.gz
Algorithm Hash digest
SHA256 a6fc8bb6a30c1b303edcc2e9d841e5da48ac710a709f6976f9015146663a10c6
MD5 c08742f346e42859b584d0c05988d732
BLAKE2b-256 8106f15b16569fb8dd3eda323d6b5e9b6c6314406564c91ee79d9de9c83e9550

See more details on using hashes here.

File details

Details for the file nuqql_matrixd-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: nuqql_matrixd-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 13.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for nuqql_matrixd-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 901780493910ac5be83671afeb753cb69018d8c8e6c97755deae3e005346e891
MD5 d622f7dfb5a4e662d68a62659cf92bbd
BLAKE2b-256 6a13649706931488aa93bae9ee819ed109f9f1c756ebaf21e7723234394f915d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page