我想知道这里是否有人可以提供有关以下场景的一些代码示例。我对使用 xmpppy 执行此操作特别感兴趣,因为我已经在我的应用程序中使用该库,但其他库也可以。不幸的是,xmpppy 项目网站没有任何关于此的示例。浏览专家/高级 API 文档时,我不知道该怎么做,或者 xmpppy 不支持多用户聊天 (MUC)?

  • 通过邀请特定用户(比如 2 或 3)来创建 MUC
  • 向现有 MUC 发送消息(假设您知道它是 MUC JID 句柄或昵称)
  • 在 XMPP 服务器上查找现有的 MUC,获取 JID 或昵称等。如果这是通过获取 roster 来完成的,我们只想查找 MUC,而忽略用户。

  • 我在这里找到了一些答案,但是我可能必须学习新的库 API 调用并弄清楚如何执行上述场景,因为此示例并未涵盖所有这些场景:

    pyxmpp: quick tutorial for creating a muc client?

    我真的希望做一个负载生成器,将消息泵送到 MUC 并创建具有许多参与者的大型 MUC。我已经准备好向用户收件人发送消息的部分。

    最佳答案

    虽然我不知道那里的特定 MUC 接口(interface),但 xmpppy 支持自定义消息,因此它支持整个 XMPP。

    要加入聊天,您需要发送状态片段,conn.send(xmpp.Presence(to='{0}/{1}'.format(room, nick)))
    要发送消息进行聊天:

        stranza = "<message to='{0}' type='groupchat'><body>{1}</body></message>".format(room, text)
        conn.send(stranza)
    

    至于创建新聊天或在花名册中查找,我手头没有现成的代码,但以相同的方式编写很容易,只需在 XEP 中查找所需的段落:

    http://xmpp.org/extensions/xep-0045.html#createroom

    http://xmpp.org/extensions/xep-0045.html#disco-rooms

    http://xmpp.org/extensions/xep-0045.html#invite

    关于python - 如何使用 Python 和 XMPP 创建 MUC 并向现有 MUC 发送消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3528373/

    10-09 07:24