Skip to main content

XMPP Webhook 桥接器

项目描述

请注意,xmppwb 目前处于早期开发阶段,可能包含错误。

一个将 XMPP(聊天和 MUC)与 webhook 连接起来的机器人,从而可以与 XMPP 世界之外的服务进行交互。这可用于将 XMPP 连接到提供 webhook API 的其他聊天服务(例如 Rocket.ChatMattermost)。

<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

这将自动安装依赖项(aiohttppyyamlslixmpp)。

用法

此网桥旨在与您正在桥接的应用程序在同一台服务器上运行,因为它当前使用 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>

  1. 要在 RocketChat 中创建相应的 webhook,请转到 Administration->Integrations并创建一个新的传入 webhook。您可以在此处选择要桥接的频道。

  2. 保存后会生成一个 webhook URL。复制它并将其填充到配置文件中的<incoming-webhook-url-from-rocketchat>占位符中。

  3. 现在创建一个传出 webhook。URL 的格式为 http://{bind_adress}:{port}/并取决于您在 incoming_webhook_listener部分中的设置。它默认为 http://127.0.0.1:5000/

  4. 复制令牌并将其填充到 <outgoing-webhook-token-from-rocketchat>占位符中。

  5. 填写完所有其他占位符后,桥就可以运行了(参见用法)。

与 Mattermost 集成

mattermost.example.conf中提供了 将 XMPP 与Mattermost桥接的示例配置。建议复制并填写所有<placeholders>

  1. 要在 Mattermost 中创建相应的 webhook,请转到 Account Settings->Integrations并创建一个新的传入 webhook。您可以在此处选择要桥接的频道。

  2. 保存后会生成一个 webhook URL。复制它并将其填充到配置文件中的<incoming-webhook-url-from-mattermost>占位符中。

  3. 现在创建一个传出 webhook。回调 URL 的格式为 http://{bind_adress}:{port}/并取决于您在 incoming_webhook_listener部分中的设置。它默认为 http://127.0.0.1:5000/

  4. 保存后,复制令牌并将其填充到 <outgoing-webhook-token-from-mattermost>占位符中。

  5. 填写完所有其他占位符后,桥就可以运行了(参见用法)。

执照

xmppwb 是在 MIT 许可下发布的。有关详细信息,请阅读 许可证

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

xmppwb-0.5.0.tar.gz (16.0 kB 查看哈希

已上传 source