【问题标题】:XMPP - How do I delete all messages between two jids, but only for one user?XMPP - 如何删除两个 jid 之间的所有消息,但仅限于一个用户?
【发布时间】:2021-04-23 18:30:13
【问题描述】:

问题: 我想从两个用户 A 和 B 之间的等式的一侧删除所有消息(和线程)。我不知道这是否可能,如果可以,如何。

我有:

  • 每个用户的jid
  • JS 中的 XMPP 库(自定义)允许我发送 IQ 或任何其他类型的节。

例如,这是我获取朋友(名册)列表的方式:

  async getFriends() {
    const requestId = this.sendStanza(
      'iq',
      { type: 'get' },
      (stanza) => stanza.c('query', { xmlns: 'jabber:iq:roster' }),
    )
    const result = await this.once('*', requestId);
    const requests = result.children[0].children.map(child => child.attrs.jid);
    return requests;
  }

希望这足以让有人给我建议。谢谢。

【问题讨论】:

    标签: javascript xmpp chat message stanza.io


    【解决方案1】:

    如果您对客户端逻辑具有完全访问权限,则可以实现自己的逻辑,例如,您可以在接收方收到时发送具有特定名称空间 (xmlns) 以及一些元素/属性的 IQ 节IQ,它会做任何你想做的逻辑(删除消息、线程等)

    检查一下: https://xmpp.org/extensions/xep-0424.html 它是删除(撤回)单个消息的扩展。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-05
      • 2022-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-16
      相关资源
      最近更新 更多