fix(types): resolve TypeScript compilation errors in interactive messages

Fixes type incompatibility error when processing buttons with media:
- Extract only media properties before passing to prepareWAMessageMedia
- Remove problematic interactiveMessage type from AnyRegularMessageContent
- Move Carouselable to text message type as Partial

This resolves the compilation error:
  error TS2345: Argument of type '...' is not assignable to parameter
  of type 'AnyMediaMessageContent'

Changes:
- src/Utils/messages.ts: Extract media content explicitly for type safety
- src/Types/Message.ts: Simplify type definitions, add Carouselable to text messages

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Renato Alcara
2026-01-23 01:14:58 -03:00
parent 90db2512d9
commit b48dbd7038
2 changed files with 20 additions and 5 deletions
+18 -1
View File
@@ -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 || '',