diff --git a/index.d.ts b/index.d.ts index 8127770492b..9dcfd5183a1 100644 --- a/index.d.ts +++ b/index.d.ts @@ -244,9 +244,15 @@ declare namespace WAWebJS { /** * Sets the current user's status message - * @param status New status message - */ - setStatus(status: string): Promise; + * @param {string} status New status message + * @param {string} emoji New emoji to status + * @param {number} duration seconds for status duration + */ + setStatus( + status: string, + emoji: string, + duration: number, + ): Promise; /** * Sets the current user's display name diff --git a/src/Client.js b/src/Client.js index a122a8f336b..c7ab5940e87 100644 --- a/src/Client.js +++ b/src/Client.js @@ -2000,13 +2000,22 @@ class Client extends EventEmitter { /** * Sets the current user's status message * @param {string} status New status message + * @param {string} emoji New emoji to status + * @param {number} duration seconds for status duration */ - async setStatus(status) { - await this.pupPage.evaluate(async (status) => { - return await window - .require('WAWebContactStatusBridge') - .setMyStatus(status); - }, status); + async setStatus(status, emoji, duration) { + return await this.pupPage.evaluate( + async (status, emoji, duration) => { + const res = await window + .require('WAWebUpdateTextStatusJob') + .updateTextStatus(status, emoji, duration); + + return res && res.result === 'SUCCESS'; + }, + status, + emoji, + duration, + ); } /**