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:
tofers 2023-12-16 19:10:26 +03:00 • committed by GitHub
commit 1dd35be834
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -43,6 +43,7 @@ const NoAuth = require('./authStrategies/NoAuth');
* @fires Client#message_create
* @fires Client#message_revoke_me
* @fires Client#message_revoke_everyone
* @fires Client#message_ciphertext
* @fires Client#message_edit
* @fires Client#media_uploaded
* @fires Client#group_join
@ -659,6 +660,16 @@ class Client extends EventEmitter {
*/
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(() => {
window.Store.Msg.on('change', (msg) => { window.onChangeMessageEvent(window.WWebJS.getMessageModel(msg)); });
@ -677,6 +688,7 @@ class Client extends EventEmitter {
if(msg.type === 'ciphertext') {
// defer message event until ciphertext is resolved (type changed)
msg.once('change:type', (_msg) => window.onAddMessageEvent(window.WWebJS.getMessageModel(_msg)));
window.onAddMessageCiphertextEvent(window.WWebJS.getMessageModel(msg));
} else {
window.onAddMessageEvent(window.WWebJS.getMessageModel(msg));
}