Skip to content

Commit

Permalink
fix: Fixed deleteMessage function (#1954) (close #1939)
Browse files Browse the repository at this point in the history
  • Loading branch information
opsJson committed Jun 6, 2024
1 parent 2a557c1 commit 6e71b0d
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 8 deletions.
32 changes: 28 additions & 4 deletions src/chat/functions/deleteMessage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
* limitations under the License.
*/

import { compare } from 'compare-versions';

import { assertGetChat } from '../../assert';
import { Cmd, Wid } from '../../whatsapp';
import { MSG_TYPE, SendMsgResult } from '../../whatsapp/enums';
Expand Down Expand Up @@ -83,7 +85,7 @@ export async function deleteMessage(
let sendMsgResult: SendMsgResult = SendMsgResult.ERROR_UNKNOWN;
let isRevoked = false;
let isDeleted = false;
const isSentByMe = msg.isSentByMe;
const isSentByMe = msg.senderObj.isMe;

if (msg.type === MSG_TYPE.REVOKED && revoke) {
// Message is already revoked
Expand All @@ -94,17 +96,39 @@ export async function deleteMessage(
(msg as any).__x_isUserCreatedType = true;
}

Cmd.sendRevokeMsgs(chat, [msg], { clearMedia: deleteMediaInDevice });
if (compare(self.Debug.VERSION, '2.3000.0', '>=')) {
Cmd.sendRevokeMsgs(
chat,
{
type: 'message',
list: [msg],
},
{ clearMedia: deleteMediaInDevice }
);
} else {
Cmd.sendRevokeMsgs(chat, [msg], { clearMedia: deleteMediaInDevice });
}

if (chat.promises.sendRevokeMsgs) {
const result = await chat.promises.sendRevokeMsgs;
if (Array.isArray(result)) {
sendMsgResult = result[0];
}
}
isRevoked = msg.isRevokedByMe;
isRevoked = msg.type == 'revoked';
} else {
Cmd.sendDeleteMsgs(chat, [msg], deleteMediaInDevice);
if (compare(self.Debug.VERSION, '2.3000.0', '>=')) {
Cmd.sendDeleteMsgs(
chat,
{
type: 'message',
list: [msg],
},
{ clearMedia: deleteMediaInDevice }
);
} else {
Cmd.sendDeleteMsgs(chat, [msg], { clearMedia: deleteMediaInDevice });
}

if (chat.promises.sendDeleteMsgs) {
const result = await chat.promises.sendDeleteMsgs;
Expand Down
20 changes: 16 additions & 4 deletions src/whatsapp/misc/Cmd.ts
Original file line number Diff line number Diff line change
Expand Up @@ -68,13 +68,25 @@ export declare class CmdClass extends EventEmitter {
): void;
sendDeleteMsgs(
chat: ChatModel,
msgs: MsgModel[],
clearMedia?: boolean,
toastPosition?: any
msg:
| {
type: string;
list: MsgModel[];
}
| MsgModel[],
options?: {
clearMedia?: boolean;
toastPosition?: any;
}
): void;
sendRevokeMsgs(
chat: ChatModel,
msgs: MsgModel[],
msg:
| {
type: string;
list: MsgModel[];
}
| MsgModel[],
options?: {
clearMedia?: boolean;
toastPosition?: any;
Expand Down

0 comments on commit 6e71b0d

Please sign in to comment.