File size: 3,934 Bytes
9844ee9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
import { Chat } from './chat';
import { Contact } from './contact';
import { MessageType } from './enum';
import { Wid } from './wid';
/** available during the `onMessage` event */
export interface Message {
    id: 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`) */
    body?: string;
    type: MessageType;
    /**
     * When type is GP2: {@link GroupNotificationType}
     */
    subtype: string;
    t: number;
    /** profile alias chosen by the sender */
    notifyName: string;
    from: string;
    to: string;
    author: string;
    self: string;
    ack: number;
    invis: boolean;
    isNewMsg: boolean;
    star: boolean;
    kicNotified: boolean;
    recvFresh: boolean;
    interactiveAnnotations: any[];
    clientUrl: string;
    deprecatedMms3Url: string;
    directPath: string;
    mimetype: string;
    filehash: string;
    uploadhash: string;
    size: number;
    mediaKey: string;
    mediaKeyTimestamp: number;
    width: number;
    height: number;
    /** exists when `type` is set to {@link MessageType.VIDEO} || {@link MessageType.IMAGE} */
    isViewOnce?: boolean;
    broadcast: boolean;
    /** array of the users who were mentioned in this message; given in the serialized format: "xxxxxxxxxx@c.us" / "xxxxxxxxxx@g.us" */
    mentionedJidList: string[];
    isVcardOverMmsDocument: boolean;
    /** exists when `type` is set to {@link MessageType.VCARD}; it is the name of the sent contact */
    vcardFormattedName?: string;
    isForwarded: boolean;
    hasReaction: boolean;
    productHeaderImageRejected: boolean;
    lastPlaybackProgress: number;
    isDynamicReplyButtonsMsg: boolean;
    isCarouselCard: boolean;
    parentMsgId: any;
    isMdHistoryMsg: boolean;
    stickerSentTs: number;
    isAvatar: boolean;
    lastUpdateFromServerTs: number;
    invokedBotWid: null | Wid;
    bizBotType: null;
    botResponseTargetId: null;
    botPluginType: null;
    botPluginReferenceIndex: null;
    botPluginSearchProvider: null;
    botPluginSearchUrl: null;
    botPluginSearchQuery: null;
    botPluginMaybeParent: boolean;
    botReelPluginThumbnailCdnUrl: null;
    botMsgBodyType: null;
    requiresDirectConnection: null;
    bizContentPlaceholderType: null;
    hostedBizEncStateMismatch: boolean;
    senderOrRecipientAccountTypeHosted: boolean;
    placeholderCreatedWhenAccountIsHosted: boolean;
    labels?: any[];
    sender: Contact;
    timestamp: number;
    content: string;
    isGroupMsg: boolean;
    isMMS: boolean;
    isMedia: boolean;
    isNotification: boolean;
    isPSA: boolean;
    /**
     * @deprecated Use `getChat` to get chat details
     */
    chat: Chat;
    lastSeen: null | number | boolean;
    /** if `string`, it is serialized: `"user@server"` */
    chatId: string | Wid;
    fromMe: boolean;
    /**
     * @deprecated Use the `quotedMsgId` attribute in `getMessageById` to get the message details
     */
    quotedMsgObj: null;
    quotedMsgId: null;
    mediaData: MediaData;
    recipients?: string[];
    /** exists for image and video types {@link GroupNotificationType} */
    caption?: string;
    ctwaContext?: {
        conversionSource?: string;
        conversionData?: object;
        sourceUrl?: string;
        description?: string;
        title?: string;
        thumbnail?: string;
        thumbnailUrl?: string;
        mediaType?: number;
        adContextPreviewDismissed?: boolean;
        sourceApp?: string;
        greetingMessageBody?: string;
        automatedGreetingMessageShown?: boolean;
        sourceId?: string;
        originalImageUrl?: string;
        mediaUrl?: string;
    };
}
export interface MediaData {
    type: string;
    mediaStage: string;
    animationDuration: number;
    animatedAsNewMsg: boolean;
    _swStreamingSupported: boolean;
    _listeningToSwSupport: boolean;
}