feat: event message_ciphertext (#2292)
* add option cipherMsg * add event message_ciphertext * example * remove option cipherMsg * removing unlinked code * Update Client.js --------- Co-authored-by: Shir Serlui <70711723+shirser121@users.noreply.github.com> Co-authored-by: alechkos <93551621+alechkos@users.noreply.github.com>
This commit is contained in:
parent
981fa822a0
commit
1dd35be834
4 changed files with 28 additions and 0 deletions
|
|
@ -386,6 +386,14 @@ client.on('message_create', (msg) => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
client.on('message_ciphertext', (msg) => {
|
||||||
|
// Receiving new incoming messages that have been encrypted
|
||||||
|
// msg.type === 'ciphertext'
|
||||||
|
msg.body = 'Waiting for this message. Check your phone.';
|
||||||
|
|
||||||
|
// do stuff here
|
||||||
|
});
|
||||||
|
|
||||||
client.on('message_revoke_everyone', async (after, before) => {
|
client.on('message_revoke_everyone', async (after, before) => {
|
||||||
// Fired whenever a message is deleted by anyone (including you)
|
// Fired whenever a message is deleted by anyone (including you)
|
||||||
console.log(after); // message after it was deleted.
|
console.log(after); // message after it was deleted.
|
||||||
|
|
|
||||||
7
index.d.ts
vendored
7
index.d.ts
vendored
|
|
@ -304,6 +304,12 @@ declare namespace WAWebJS {
|
||||||
/** The message that was created */
|
/** The message that was created */
|
||||||
message: Message
|
message: Message
|
||||||
) => void): this
|
) => void): this
|
||||||
|
|
||||||
|
/** Emitted when a new message ciphertext is received */
|
||||||
|
on(event: 'message_ciphertext', listener: (
|
||||||
|
/** The message that was ciphertext */
|
||||||
|
message: Message
|
||||||
|
) => void): this
|
||||||
|
|
||||||
/** Emitted when a message is deleted for everyone in the chat */
|
/** Emitted when a message is deleted for everyone in the chat */
|
||||||
on(event: 'message_revoke_everyone', listener: (
|
on(event: 'message_revoke_everyone', listener: (
|
||||||
|
|
@ -647,6 +653,7 @@ declare namespace WAWebJS {
|
||||||
AUTHENTICATION_FAILURE = 'auth_failure',
|
AUTHENTICATION_FAILURE = 'auth_failure',
|
||||||
READY = 'ready',
|
READY = 'ready',
|
||||||
MESSAGE_RECEIVED = 'message',
|
MESSAGE_RECEIVED = 'message',
|
||||||
|
MESSAGE_CIPHERTEXT = 'message_ciphertext',
|
||||||
MESSAGE_CREATE = 'message_create',
|
MESSAGE_CREATE = 'message_create',
|
||||||
MESSAGE_REVOKED_EVERYONE = 'message_revoke_everyone',
|
MESSAGE_REVOKED_EVERYONE = 'message_revoke_everyone',
|
||||||
MESSAGE_REVOKED_ME = 'message_revoke_me',
|
MESSAGE_REVOKED_ME = 'message_revoke_me',
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,7 @@ const NoAuth = require('./authStrategies/NoAuth');
|
||||||
* @fires Client#message_create
|
* @fires Client#message_create
|
||||||
* @fires Client#message_revoke_me
|
* @fires Client#message_revoke_me
|
||||||
* @fires Client#message_revoke_everyone
|
* @fires Client#message_revoke_everyone
|
||||||
|
* @fires Client#message_ciphertext
|
||||||
* @fires Client#message_edit
|
* @fires Client#message_edit
|
||||||
* @fires Client#media_uploaded
|
* @fires Client#media_uploaded
|
||||||
* @fires Client#group_join
|
* @fires Client#group_join
|
||||||
|
|
@ -659,6 +660,16 @@ class Client extends EventEmitter {
|
||||||
*/
|
*/
|
||||||
this.emit(Events.MESSAGE_EDIT, new Message(this, msg), newBody, prevBody);
|
this.emit(Events.MESSAGE_EDIT, new Message(this, msg), newBody, prevBody);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
await page.exposeFunction('onAddMessageCiphertextEvent', msg => {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Emitted when messages are edited
|
||||||
|
* @event Client#message_ciphertext
|
||||||
|
* @param {Message} message
|
||||||
|
*/
|
||||||
|
this.emit(Events.MESSAGE_CIPHERTEXT, new Message(this, msg));
|
||||||
|
});
|
||||||
|
|
||||||
await page.evaluate(() => {
|
await page.evaluate(() => {
|
||||||
window.Store.Msg.on('change', (msg) => { window.onChangeMessageEvent(window.WWebJS.getMessageModel(msg)); });
|
window.Store.Msg.on('change', (msg) => { window.onChangeMessageEvent(window.WWebJS.getMessageModel(msg)); });
|
||||||
|
|
@ -677,6 +688,7 @@ class Client extends EventEmitter {
|
||||||
if(msg.type === 'ciphertext') {
|
if(msg.type === 'ciphertext') {
|
||||||
// defer message event until ciphertext is resolved (type changed)
|
// defer message event until ciphertext is resolved (type changed)
|
||||||
msg.once('change:type', (_msg) => window.onAddMessageEvent(window.WWebJS.getMessageModel(_msg)));
|
msg.once('change:type', (_msg) => window.onAddMessageEvent(window.WWebJS.getMessageModel(_msg)));
|
||||||
|
window.onAddMessageCiphertextEvent(window.WWebJS.getMessageModel(msg));
|
||||||
} else {
|
} else {
|
||||||
window.onAddMessageEvent(window.WWebJS.getMessageModel(msg));
|
window.onAddMessageEvent(window.WWebJS.getMessageModel(msg));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,7 @@ exports.Events = {
|
||||||
CHAT_REMOVED: 'chat_removed',
|
CHAT_REMOVED: 'chat_removed',
|
||||||
CHAT_ARCHIVED: 'chat_archived',
|
CHAT_ARCHIVED: 'chat_archived',
|
||||||
MESSAGE_RECEIVED: 'message',
|
MESSAGE_RECEIVED: 'message',
|
||||||
|
MESSAGE_CIPHERTEXT: 'message_ciphertext',
|
||||||
MESSAGE_CREATE: 'message_create',
|
MESSAGE_CREATE: 'message_create',
|
||||||
MESSAGE_REVOKED_EVERYONE: 'message_revoke_everyone',
|
MESSAGE_REVOKED_EVERYONE: 'message_revoke_everyone',
|
||||||
MESSAGE_REVOKED_ME: 'message_revoke_me',
|
MESSAGE_REVOKED_ME: 'message_revoke_me',
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue