XMPP Webhook Bridge
Project description
Note that xmppwb is currently in early development and may contain bugs.
A bot that bridges XMPP (chats and MUCs) with webhooks, thus making it possible to interact with services outside the XMPP world. This can be used to connect XMPP to other chat services that provide a webhook API (for example Rocket.Chat, Mattermost or Slack).
Install
xmppwb requires Python 3.4+ and depends on the following libraries, which can be installed using pip3:
pip3 install aiohttp pyyaml slixmpp
After cloning this repository you can run xmppwb like this:
python3 xmppwb.py --help
Configuration
A documented example config is provided in example.conf. A simple config file looks like this:
xmpp: jid: alice@example.com password: "<bot-password>" mucs: - jid: conference1@conference.example.com nickname: WebhookBridge password: "<muc-password>" incoming_webhook_listener: bind_address: "127.0.0.1" port: 5000 bridges: - xmpp: - muc: conference1@conference.example.com - relay_all_normal: true webhooks: outgoing: - url: http://127.0.0.1:8065/hooks/<yourtoken> override_username: "{nick}" incoming: - token: <your-token2>
Note that the password is stored in cleartext, so take precautions such as restricting file permissions. It is recommended to use a dedicated JID for this bridge.
Usage
This bridge is meant to run on the same server as the application you are bridging with, as it currently uses HTTP for incoming webhooks.
To run the bridge:
python3 xmppwb.py --config configfile.conf
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.