繁体   English   中英

如何使用Strophe存档插件获取到特定日期的所有聊天记录?

[英]How can i get all chat history up to a certain date using strophe archive pluggin?

我像往常一样在互联网上搜索,使用strophe或其中一个插件查找有关给定功能的文档。 在这种情况下是这样的: https : //github.com/strophe/strophejs-plugins/blob/master/archive/strophe.archive.js 可能关于RSM的规范有点麻烦,但是基本上,如果使用此插件,一个人如何在一段时间内获取用户与另一用户之间的所有消息。 我发现这是唯一可用的示例代码: https : //groups.google.com/forum/#!searchin/strophe/RSM/strophe/BjHUyxb-sYI/Ow-7ELNxNQoJ

附带说明一下,由于缺乏当前的开发以及有关strophe,插件的强大文档,而没有什么用,几乎没有人使用这东西了吗?

在这里:调整了我链接的代码段之后,我设法使其正常运行。 我现在不希望限制结果集,但是第二个参数和rsm vars就是为了这个目的。 另外,一旦获得集合,就会有一个回调,您可以迭代集合并获取消息。 Somecallback应该处理消息。 这里需要Strophe RSM插件,我认为存档插件在内部。

connection.archive.listCollections(fullJID, null, fromDate, function (collections, responseRsm) {
//Loop the collections
for (var int = 0; int < collections.length; int++) {
    var lastCollection = collections[int]; 
    rsm = new Strophe.RSM({}); 
    lastCollection.retrieveMessages(rsm, function (messages, responseRsm) {
        someCallback(fullJID, messages);
    });
}

});

请注意,原始插件没有fromDate参数。 我需要将其添加到list元素,以便仅从该日期检索。

listCollections: function(jid, rsm, fromDate, callback) {
var xml = $iq({type: 'get', id: this._connection.getUniqueId('list')}).c('list', {xmlns:Strophe.NS.ARCHIVE, 'with': jid, 'from':fromDate});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM