Telepath

No matter where you are, everyone is always connected.

xmpp-utilities (1.1.0)

Published 2026-04-23 17:35:48 +00:00 by architect in telepath/xmpp-utilities

Installation

pip install --index-url https://foundry.fsky.io/api/packages/telepath/pypi/simple/ --extra-index-url https://pypi.org/simple xmpp-utilities

About this package

XMPP Utilities

XMPP Utilities is a simple XMPP bot that provides various diagnostic and informational tools for XMPP entities and domains. It can be used to check software versions, service items, contact information, uptime, and more.

Features

The bot responds to commands prefixed with !xmpp in both direct messages and configured Multi-User Chats (MUCs).

Available Commands

  • !xmpp help - Displays the help message with all available commands.
  • !xmpp version <jid> - Shows the software version of an XMPP entity (XEP-0092).
  • !xmpp items <jid> - Lists the service items of an XMPP entity (XEP-0030).
  • !xmpp contact <jid> - Displays contact information for an XMPP entity (XEP-0030).
  • !xmpp info <jid> - Lists the identities and features of an XMPP entity (XEP-0030).
  • !xmpp ping <jid> - Pings an XMPP entity and reports the round-trip time (XEP-0199).
  • !xmpp uptime <jid> - Shows the uptime of an XMPP entity (XEP-0012).
  • !xmpp srv <domain> - Performs DNS SRV lookups for XMPP services (_xmpp-client, _xmpp-server, etc.).
  • !xmpp compliance <domain> - Shows the compliance score of a server from compliance.conversations.im.

Configuration

The bot is configured using environment variables. You can copy .env.example to .env and fill in your details:

cp .env.example .env
# Edit .env with your credentials
Variable Description Required Default
XMPP_UTILS_JID The JID of the bot account (e.g., bot@example.com). Yes -
XMPP_UTILS_PASSWORD The password for the bot account. Yes -
XMPP_UTILS_MUCS A comma-separated list of MUC JIDs to join. No -
XMPP_UTILS_NICK The nickname to use in MUCs. No XMPP Utilities

Requirements

  • Python 3.13+
  • slixmpp
  • dnspython

Installation

pip/pipx (PyPI)

You can install XMPP Utilities from PyPI with pip:

pip install xmpp-utilities

Or with pipx for an isolated environment:

pipx install xmpp-utilities

pip/pipx (FSKY Foundry)

To download the package from FSKY Foundry instead of PyPI:

pip install xmpp-utilities --pip-args="--index-url https://foundry.fsky.io/api/packages/telepath/pypi/simple --extra-index-url https://pypi.org/simple"

Or with pipx:

pipx install xmpp-utilities --pip-args="--index-url https://foundry.fsky.io/api/packages/telepath/pypi/simple --extra-index-url https://pypi.org/simple"

From wheel

Download the wheel from the releases page and install with pip:

pip install xmpp_utilities-*.whl

Running

Installed package

After installing, set the environment variables and run the bot:

export XMPP_UTILS_JID="xmpp-utilities@telepath.im"
export XMPP_UTILS_PASSWORD="your-password"
xmpp-utilities

Local development

Requires uv.

  1. Clone the repository:

    git clone https://foundry.fsky.io/telepath/xmpp-utilities.git
    cd xmpp-utilities
    
  2. Install dependencies:

    uv sync
    
  3. Set the environment variables and run the bot:

    export XMPP_UTILS_JID="xmpp-utilities@telepath.im"
    export XMPP_UTILS_PASSWORD="your-password"
    uv run xmpp-utilities
    

Container (Docker/Podman)

A container image is available for this project.

podman run -d \
  --name xmpp-utilities \
  -e XMPP_UTILS_JID="xmpp-utilities@telepath.im" \
  -e XMPP_UTILS_PASSWORD="your-password" \
  foundry.fsky.io/telepath/xmpp-utilities:latest

Systemd Quadlet

A Quadlet file is available at contrib/quadlet/xmpp-utilities.container. You can use it to manage the container via systemd.

Edit the file to suit your needs, place it into ~/.config/containers/systemd/ or /etc/containers/systemd/, and run:

systemctl --user daemon-reload
systemctl --user start xmpp-utilities

License

This project is released into the public domain under the Unlicense.

Requirements

Requires Python: >=3.13
Details
PyPI
2026-04-23 17:35:48 +00:00
0
18 KiB
Assets (2)
Versions (1) View all
1.1.0 2026-04-23