From 594a65d5e84ab97b518a58395893abaf76eb8b61 Mon Sep 17 00:00:00 2001 From: Pedro Lopez Date: Sun, 17 Feb 2019 23:50:50 -0400 Subject: [PATCH] [+] Get all chats --- src/client/Client.js | 12 +++++++++++- src/models/Message.js | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/client/Client.js b/src/client/Client.js index 27bb6c7..9512f13 100644 --- a/src/client/Client.js +++ b/src/client/Client.js @@ -30,7 +30,8 @@ class Client extends EventEmitter { await page.goto(WhatsWebURL); await page.evaluate(ExposeStore); - await page.waitForSelector('._1jjYO'); // Wait for QR Code + // Wait for QR Code + await page.waitForSelector('._1jjYO'); const qr = await page.$eval('._2EZ_m', node => node.getAttribute('data-ref')); this.emit(Events.QR_RECEIVED, qr); @@ -48,6 +49,7 @@ class Client extends EventEmitter { await page.evaluate(LoadExtraProps, model.WAppModel, model.extraFields); } + // Register events await page.exposeFunction('onAddMessageEvent', msg => { if (msg.id.fromMe || !msg.isNewMsg) return; this.emit(Events.MESSAGE_CREATE, new Message(this, msg)); @@ -81,6 +83,14 @@ class Client extends EventEmitter { }, chatId, message) } + async getChats() { + let chats = await this.pupPage.evaluate(() => { + return Store.Chat.serialize() + }); + + return chats.map(chatData => new Chat(this, chatData)); + } + async getChatById(chatId) { let chat = await this.pupPage.evaluate(chatId => { return Store.Chat.get(chatId).serialize(); diff --git a/src/models/Message.js b/src/models/Message.js index 138f87c..3a95751 100644 --- a/src/models/Message.js +++ b/src/models/Message.js @@ -17,7 +17,7 @@ class Message extends Base { this.id = data.id; this.body = data.body; this.type = data.type; - this.timestame = data.t; + this.timestamp = data.t; this.from = data.from; this.to = data.to; this.author = data.author;