【问题标题】:In openfire how to create custom bot在openfire中如何创建自定义机器人
【发布时间】:2021-09-01 15:42:51
【问题描述】:

我有一个要求,其中 n 个聊天室每个有 x 个参与者,我需要在 openfire 中运行 bot 来收听所有消息,并且对于每条消息,我都发送自定义属性,例如 department="sales",department="manager"。因此,基于自定义属性,我需要将数据推送到不同的 REST API 端点。我听说过XMPP Bot over Channels,但对此一无所知。那么,如何使用机器人实现上述场景。

【问题讨论】:

    标签: xmpp openfire


    【解决方案1】:

    有几种方法可以解决这个问题。最简单的方法可能是编写一个 Openfire 插件,它使用 PacketInterceptor 来监听感兴趣的节。您可以在https://download.igniterealtime.org/openfire/docs/latest/documentation/plugin-dev-guide.html中阅读有关如何开发 Openfire 插件的信息

    另一种方法是创建一个自定义客户端,让您以某种方式加入您感兴趣的所有聊天室。由于您的客户会以其他任何人的身份加入聊天室,因此它会收到在该房间内共享的消息 - 您可以再次采取相应的行动。

    前一种解决方案可能扩展性最好,并且可能是最不复杂的。后一种解决方案更容易作为独立进程运行,并且允许您使用与 Openfire 提供的 API 不同的 API。

    【讨论】:

    • 但不是拦截所有消息,我想创建一个机器人,它将以机器人用户身份登录,并且机器人需要加入它已添加到的所有 muc 组,并且需要将消息接收到REST API。这可能吗?
    • 是的,这基本上是我给出的第二个选项。您必须创建男孩可以使用的某种 XMPP 客户端,确保它加入相关的 MUC 房间,并进行 REST API 交互。
    猜你喜欢
    • 2017-11-26
    • 2017-09-15
    • 1970-01-01
    • 2021-09-12
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2017-12-04
    • 2021-07-17
    相关资源
    最近更新 更多