2

问题: 我想从两个用户 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;
  }

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

4

1 回答 1

0

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

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

于 2021-03-22T12:23:11.877 回答