available during the onMessage event

interface Message {
    ack: number;
    author: string;
    bizBotType: null;
    bizContentPlaceholderType: null;
    body?: string;
    botMsgBodyType: null;
    botPluginMaybeParent: boolean;
    botPluginReferenceIndex: null;
    botPluginSearchProvider: null;
    botPluginSearchQuery: null;
    botPluginSearchUrl: null;
    botPluginType: null;
    botReelPluginThumbnailCdnUrl: null;
    botResponseTargetId: null;
    broadcast: boolean;
    caption?: string;
    chat: Chat;
    chatId: string | Wid;
    clientUrl: string;
    content: string;
    deprecatedMms3Url: string;
    directPath: string;
    filehash: string;
    from: string;
    fromMe: boolean;
    hasReaction: boolean;
    height: number;
    hostedBizEncStateMismatch: boolean;
    id: string;
    interactiveAnnotations: any[];
    invis: boolean;
    invokedBotWid: Wid;
    isAvatar: boolean;
    isCarouselCard: boolean;
    isDynamicReplyButtonsMsg: boolean;
    isForwarded: boolean;
    isGroupMsg: boolean;
    isMdHistoryMsg: boolean;
    isMedia: boolean;
    isMMS: boolean;
    isNewMsg: boolean;
    isNotification: boolean;
    isPSA: boolean;
    isVcardOverMmsDocument: boolean;
    isViewOnce?: boolean;
    kicNotified: boolean;
    labels?: any[];
    lastPlaybackProgress: number;
    lastSeen: number | boolean;
    lastUpdateFromServerTs: number;
    mediaData: MediaData;
    mediaKey: string;
    mediaKeyTimestamp: number;
    mentionedJidList: string[];
    mimetype: string;
    notifyName: string;
    parentMsgId: any;
    placeholderCreatedWhenAccountIsHosted: boolean;
    productHeaderImageRejected: boolean;
    quotedMsgId: null;
    quotedMsgObj: null;
    recipients?: string[];
    recvFresh: boolean;
    requiresDirectConnection: null;
    self: string;
    sender: Contact;
    senderOrRecipientAccountTypeHosted: boolean;
    size: number;
    star: boolean;
    stickerSentTs: number;
    subtype: string;
    t: number;
    timestamp: number;
    to: string;
    type: MessageType;
    uploadhash: string;
    vcardFormattedName?: string;
    width: number;
}

Properties

ack: number
author: string
bizBotType
bizContentPlaceholderType
body?: string

exists when it is a displayable message (i.e. MessageType.CHAT / "chat"); the body is not included in notifications like group removal, etc. (gp2)

botMsgBodyType
botPluginMaybeParent: boolean
botPluginReferenceIndex
botPluginSearchProvider
botPluginSearchQuery
botPluginSearchUrl
botPluginType
botReelPluginThumbnailCdnUrl
botResponseTargetId
broadcast: boolean
caption?: string

exists for image and video types GroupNotificationType

chat: Chat

Use getChat to get chat details

chatId: string | Wid

if string, it is serialized: "user@server"

clientUrl: string
content: string
deprecatedMms3Url: string
directPath: string
filehash: string
from: string
fromMe: boolean
hasReaction: boolean
height: number
hostedBizEncStateMismatch: boolean
id: string
interactiveAnnotations: any[]
invis: boolean
invokedBotWid: Wid
isAvatar: boolean
isCarouselCard: boolean
isDynamicReplyButtonsMsg: boolean
isForwarded: boolean
isGroupMsg: boolean
isMdHistoryMsg: boolean
isMedia: boolean
isMMS: boolean
isNewMsg: boolean
isNotification: boolean
isPSA: boolean
isVcardOverMmsDocument: boolean
isViewOnce?: boolean

exists when type is set to MessageType.VIDEO || MessageType.IMAGE

kicNotified: boolean
labels?: any[]
lastPlaybackProgress: number
lastSeen: number | boolean
lastUpdateFromServerTs: number
mediaData: MediaData
mediaKey: string
mediaKeyTimestamp: number
mentionedJidList: string[]

array of the users who were mentioned in this message; given in the serialized format: "xxxxxxxxxx@c.us" / "xxxxxxxxxx@g.us"

mimetype: string
notifyName: string

profile alias chosen by the sender

parentMsgId: any
placeholderCreatedWhenAccountIsHosted: boolean
productHeaderImageRejected: boolean
quotedMsgId
quotedMsgObj

Use the quotedMsgId attribute in getMessageById to get the message details

recipients?: string[]
recvFresh: boolean
requiresDirectConnection
self: string
sender: Contact
senderOrRecipientAccountTypeHosted: boolean
size: number
star: boolean
stickerSentTs: number
subtype: string

When type is GP2: GroupNotificationType

t: number
timestamp: number
to: string
uploadhash: string
vcardFormattedName?: string

exists when type is set to MessageType.VCARD; it is the name of the sent contact

width: number