diff --git a/example.js b/example.js index 2ec9e1a..0ed0e00 100644 --- a/example.js +++ b/example.js @@ -84,6 +84,13 @@ client.on('message', async msg => { } }); +client.on('message_create', (msg) => { + // Fired on all message creations, including your own + if(msg.fromMe) { + // do stuff here + } +}) + client.on('disconnected', () => { console.log('Client was logged out'); }) diff --git a/src/Client.js b/src/Client.js index caa3b75..cb384f6 100644 --- a/src/Client.js +++ b/src/Client.js @@ -107,8 +107,11 @@ class Client extends EventEmitter { // Register events await page.exposeFunction('onAddMessageEvent', msg => { + const message = new Message(this, msg); + this.emit(Events.MESSAGE_CREATE, message); + if (msg.id.fromMe || !msg.isNewMsg) return; - this.emit(Events.MESSAGE_CREATE, new Message(this, msg)); + this.emit(Events.MESSAGE_RECEIVED, message); }); await page.exposeFunction('onConnectionChangedEvent', (conn, connected) => { diff --git a/src/structures/Message.js b/src/structures/Message.js index e92dc27..c8f8a17 100644 --- a/src/structures/Message.js +++ b/src/structures/Message.js @@ -23,6 +23,7 @@ class Message extends Base { this.author = data.author; this.isForwarded = data.isForwarded; this.broadcast = data.broadcast; + this.fromMe = data.id.fromMe; return super._patch(data); } diff --git a/src/util/Constants.js b/src/util/Constants.js index 2ba1404..3020957 100644 --- a/src/util/Constants.js +++ b/src/util/Constants.js @@ -21,7 +21,8 @@ exports.Events = { AUTHENTICATED: 'authenticated', AUTHENTICATION_FAILURE: 'auth_failure', READY: 'ready', - MESSAGE_CREATE: 'message', + MESSAGE_RECEIVED: 'message', + MESSAGE_CREATE: 'message_create', QR_RECEIVED: 'qr', DISCONNECTED: 'disconnected' }