diff --git a/src/Types/Message.ts b/src/Types/Message.ts index d1ac8a68..22ecb9c6 100644 --- a/src/Types/Message.ts +++ b/src/Types/Message.ts @@ -295,11 +295,9 @@ export type AnyRegularMessageContent = ( Editable & Partial & Partial & - Partial) + Partial & + Partial) | AnyMediaMessageContent - | ({ - interactiveMessage: proto.Message.IInteractiveMessage - } & Partial) | { event: EventMessageOptions } | ({ poll: PollMessageOptions diff --git a/src/Utils/messages.ts b/src/Utils/messages.ts index 24235ca9..86a38228 100644 --- a/src/Utils/messages.ts +++ b/src/Utils/messages.ts @@ -625,8 +625,25 @@ export const generateWAMessageContent = async ( ? proto.Message.ButtonsMessage.HeaderType.IMAGE : proto.Message.ButtonsMessage.HeaderType.VIDEO + // Extract only media properties to avoid type errors + const mediaContent: AnyMediaMessageContent = mediaType === 'image' + ? { + image: (message as any).image, + caption: (message as any).caption, + jpegThumbnail: (message as any).jpegThumbnail, + mimetype: (message as any).mimetype + } + : { + video: (message as any).video, + caption: (message as any).caption, + jpegThumbnail: (message as any).jpegThumbnail, + gifPlayback: (message as any).gifPlayback, + ptv: (message as any).ptv, + mimetype: (message as any).mimetype + } + // Prepare media - const mediaMessage = await prepareWAMessageMedia(message as any, options) + const mediaMessage = await prepareWAMessageMedia(mediaContent, options) const buttonsMessage: proto.Message.IButtonsMessage = { contentText: (message as any).caption || (message as any).text || '',