XMPP Webhook 桥接器
项目描述
请注意,xmppwb 目前处于早期开发阶段,可能包含错误。
一个将 XMPP(聊天和 MUC)与 webhook 连接起来的机器人,从而可以与 XMPP 世界之外的服务进行交互。这可用于将 XMPP 连接到提供 webhook API 的其他聊天服务(例如 Rocket.Chat或Mattermost)。
<nav class="contents local" id="contents" role="doc-toc"> </nav>安装
注意:需要 Python 3.5。它不适用于 Python 3.4,因为 xmppwb 使用 Python 3.5 引入的特定语法。
xmppwb需要Python 3.5+并且可以使用 pip3 安装:
$ pip3 install --upgrade xmppwb
这将自动安装依赖项(aiohttp、pyyaml和 slixmpp)。
用法
此网桥旨在与您正在桥接的应用程序在同一台服务器上运行,因为它当前使用 HTTP 来处理传入的 webhook。
运行桥:
$ xmppwb --config configfile.conf
或者:
$ python3 -m xmppwb --config configfile.conf
概要:
$ xmppwb -c CONFIG [-h] [-v] [-l LOGFILE] [-d] [--version]
另请参见xmppwb --help。
配置
有关详细文档,请参阅CONFIGURATION.rst 。一个简单的配置文件如下所示( <placeholders>需要更改):
xmpp:
# This JID must exist.
jid: <alice@example.com>
password: <s>"<bot-password>"</s>
# Define all MUCs that should be available to the bridges defined later.
mucs:
- jid: <conference1@conference.example.com>
nickname: <nickname>
# password: "<muc-password>"
incoming_webhook_listener:
bind_address: <s>"127.0.0.1"</s>
port: 5000
bridges:
- xmpp_endpoints:
- muc: <conference1@conference.example.com>
outgoing_webhooks:
- url: <incoming-webhook-url-from-other-end>
incoming_webhooks:
- token: <outgoing-webhook-token-from-other-end>
请注意,密码以明文形式存储,因此请采取预防措施,例如限制文件权限。建议为此网桥使用专用的 JID。
配置文件中的术语传入和传出是指从这个桥的角度来看的 webhook。webhook 还必须在另一端定义(例如,Rocket.Chat 和 Mattermost 为此提供了一个 UI)。Rocket.Chat 中的传出 webhook必须 在此网桥的传入 webhook 部分中设置,反之亦然。
与 Rocket.Chat 集成
Rocketchat.example.conf中提供了 将 XMPP 与Rocket.Chat桥接的示例配置。建议复制并填写所有<placeholders>。
要在 RocketChat 中创建相应的 webhook,请转到 Administration->Integrations并创建一个新的传入 webhook。您可以在此处选择要桥接的频道。
保存后会生成一个 webhook URL。复制它并将其填充到配置文件中的<incoming-webhook-url-from-rocketchat>占位符中。
现在创建一个传出 webhook。URL 的格式为 http://{bind_adress}:{port}/并取决于您在 incoming_webhook_listener部分中的设置。它默认为 http://127.0.0.1:5000/。
复制令牌并将其填充到 <outgoing-webhook-token-from-rocketchat>占位符中。
填写完所有其他占位符后,桥就可以运行了(参见用法)。
与 Mattermost 集成
mattermost.example.conf中提供了 将 XMPP 与Mattermost桥接的示例配置。建议复制并填写所有<placeholders>。
要在 Mattermost 中创建相应的 webhook,请转到 Account Settings->Integrations并创建一个新的传入 webhook。您可以在此处选择要桥接的频道。
保存后会生成一个 webhook URL。复制它并将其填充到配置文件中的<incoming-webhook-url-from-mattermost>占位符中。
现在创建一个传出 webhook。回调 URL 的格式为 http://{bind_adress}:{port}/并取决于您在 incoming_webhook_listener部分中的设置。它默认为 http://127.0.0.1:5000/。
保存后,复制令牌并将其填充到 <outgoing-webhook-token-from-mattermost>占位符中。
填写完所有其他占位符后,桥就可以运行了(参见用法)。
执照
xmppwb 是在 MIT 许可下发布的。有关详细信息,请阅读 许可证。