# Baileys API Documentation Reference > Auto-generated documentation for WhatsApp Nucleo development > Source: https://baileys.wiki > Generated: 2025-12-03T02:48:39.883Z This document contains the relevant Baileys API documentation for developing the WhatsApp Nucleo messaging features. ## Table of Contents ### Interfaces - [Contact](#interface-contact) - [GroupMetadata](#interface-groupmetadata) - [GroupModificationResponse](#interface-groupmodificationresponse) - [PresenceData](#interface-presencedata) - [BaileysEventEmitter](#interface-baileyseventemitter) - [WAUrlInfo](#interface-waurlinfo) - [RecentMessage](#interface-recentmessage) ### Type Aliases - [Chat](#type-chat) - [ChatModification](#type-chatmodification) - [ChatUpdate](#type-chatupdate) - [ChatMutation](#type-chatmutation) - [WAMessage](#type-wamessage) - [WAMessageContent](#type-wamessagecontent) - [WAMessageKey](#type-wamessagekey) - [WAMessageUpdate](#type-wamessageupdate) - [MessageType](#type-messagetype) - [MessageUpsertType](#type-messageupserttype) - [AnyMessageContent](#type-anymessagecontent) - [AnyMediaMessageContent](#type-anymediamessagecontent) - [AnyRegularMessageContent](#type-anyregularmessagecontent) - [MessageGenerationOptions](#type-messagegenerationoptions) - [MessageContentGenerationOptions](#type-messagecontentgenerationoptions) - [MinimalMessage](#type-minimalmessage) - [MediaType](#type-mediatype) - [MediaDownloadOptions](#type-mediadownloadoptions) - [WAMediaUpload](#type-wamediaupload) - [DownloadableMessage](#type-downloadablemessage) - [MediaGenerationOptions](#type-mediagenerationoptions) - [GroupParticipant](#type-groupparticipant) - [GroupInviteInfo](#type-groupinviteinfo) - [ParticipantAction](#type-participantaction) - [WAPresence](#type-wapresence) - [ConnectionState](#type-connectionstate) - [BaileysEventMap](#type-baileyseventmap) - [BaileysEvent](#type-baileysevent) - [AuthenticationCreds](#type-authenticationcreds) - [AuthenticationState](#type-authenticationstate) - [WASocket](#type-wasocket) - [SocketConfig](#type-socketconfig) - [UserFacingSocketConfig](#type-userfacingsocketconfig) ### Functions - [generateWAMessage](#function-generatewamessage) - [generateWAMessageContent](#function-generatewamessagecontent) - [generateWAMessageFromContent](#function-generatewamessagefromcontent) - [extractMessageContent](#function-extractmessagecontent) - [getContentType](#function-getcontenttype) - [normalizeMessageContent](#function-normalizemessagecontent) - [downloadMediaMessage](#function-downloadmediamessage) - [downloadContentFromMessage](#function-downloadcontentfrommessage) - [prepareWAMessageMedia](#function-preparewamessagemedia) - [extractImageThumb](#function-extractimagethumb) - [generateThumbnail](#function-generatethumbnail) - [generateProfilePicture](#function-generateprofilepicture) - [getMediaKeys](#function-getmediakeys) - [encryptedStream](#function-encryptedstream) - [jidDecode](#function-jiddecode) - [jidEncode](#function-jidencode) - [jidNormalizedUser](#function-jidnormalizeduser) - [isJidGroup](#function-isjidgroup) - [isJidBroadcast](#function-isjidbroadcast) - [isJidStatusBroadcast](#function-isjidstatusbroadcast) - [areJidsSameUser](#function-arejidssameuser) - [isLidUser](#function-isliduser) - [downloadAndProcessHistorySyncNotification](#function-downloadandprocesshistorysyncnotification) - [processHistoryMessage](#function-processhistorymessage) - [getHistoryMsg](#function-gethistorymsg) - [makeWASocket](#function-makewasocket) - [makeCacheableSignalKeyStore](#function-makecacheablesignalkeystore) - [useMultiFileAuthState](#function-usemultifileauthstate) - [delay](#function-delay) - [toNumber](#function-tonumber) - [toBuffer](#function-tobuffer) - [unixTimestampSeconds](#function-unixtimestampseconds) ### Variables - [WAMessageStatus](#variable-wamessagestatus) - [WAMessageStubType](#variable-wamessagestubtype) - [S_WHATSAPP_NET](#variable-s_whatsapp_net) - [Browsers](#variable-browsers) - [MEDIA_KEYS](#variable-media_keys) - [DEFAULT_CONNECTION_CONFIG](#variable-default_connection_config) ### Enumerations - [DisconnectReason](#enum-disconnectreason) # Interfaces --- ## Interface: Contact **Source:** https://baileys.wiki/docs/api/interfaces/Contact On this page Defined in: src/Types/Contact.ts:1 ## Properties​ ### id​ **id**: `string` Defined in: src/Types/Contact.ts:3 ID either in lid or jid format (preferred) * ### imgUrl?​ `optional` **imgUrl**: `null` | `string` Defined in: src/Types/Contact.ts:22 Url of the profile picture of the contact 'changed' => if the profile picture has changed null => if the profile picture has not been set (default profile picture) any other string => url of the profile picture ### lid?​ `optional` **lid**: `string` Defined in: src/Types/Contact.ts:5 ID in LID format (@lid) * ### name?​ `optional` **name**: `string` Defined in: src/Types/Contact.ts:9 name of the contact, you have saved on your WA ### notify?​ `optional` **notify**: `string` Defined in: src/Types/Contact.ts:11 name of the contact, the contact has set on their own on WA ### phoneNumber?​ `optional` **phoneNumber**: `string` Defined in: src/Types/Contact.ts:7 ID in PN format (@s.whatsapp.net) * ### status?​ `optional` **status**: `string` Defined in: src/Types/Contact.ts:23 ### verifiedName?​ `optional` **verifiedName**: `string` Defined in: src/Types/Contact.ts:13 I have no idea - Properties id - imgUrl? - lid? - name? - notify? - phoneNumber? - status? - verifiedName? --- ## Interface: GroupMetadata **Source:** https://baileys.wiki/docs/api/interfaces/GroupMetadata On this page Defined in: src/Types/GroupMetadata.ts:16 ## Properties​ ### addressingMode?​ `optional` **addressingMode**: `WAMessageAddressingMode` Defined in: src/Types/GroupMetadata.ts:20 group uses 'lid' or 'pn' to send messages ### announce?​ `optional` **announce**: `boolean` Defined in: src/Types/GroupMetadata.ts:41 is set when the group only allows admins to write messages ### author?​ `optional` **author**: `string` Defined in: src/Types/GroupMetadata.ts:57 the person who added you to group or changed some setting in group ### authorPn?​ `optional` **authorPn**: `string` Defined in: src/Types/GroupMetadata.ts:58 ### creation?​ `optional` **creation**: `number` Defined in: src/Types/GroupMetadata.ts:30 ### desc?​ `optional` **desc**: `string` Defined in: src/Types/GroupMetadata.ts:31 ### descId?​ `optional` **descId**: `string` Defined in: src/Types/GroupMetadata.ts:34 ### descOwner?​ `optional` **descOwner**: `string` Defined in: src/Types/GroupMetadata.ts:32 ### descOwnerPn?​ `optional` **descOwnerPn**: `string` Defined in: src/Types/GroupMetadata.ts:33 ### descTime?​ `optional` **descTime**: `number` Defined in: src/Types/GroupMetadata.ts:35 ### ephemeralDuration?​ `optional` **ephemeralDuration**: `number` Defined in: src/Types/GroupMetadata.ts:54 ### id​ **id**: `string` Defined in: src/Types/GroupMetadata.ts:17 ### inviteCode?​ `optional` **inviteCode**: `string` Defined in: src/Types/GroupMetadata.ts:55 ### isCommunity?​ `optional` **isCommunity**: `boolean` Defined in: src/Types/GroupMetadata.ts:47 is this a community ### isCommunityAnnounce?​ `optional` **isCommunityAnnounce**: `boolean` Defined in: src/Types/GroupMetadata.ts:49 is this the announce of a community ### joinApprovalMode?​ `optional` **joinApprovalMode**: `boolean` Defined in: src/Types/GroupMetadata.ts:45 Request approval to join the group ### linkedParent?​ `optional` **linkedParent**: `string` Defined in: src/Types/GroupMetadata.ts:37 if this group is part of a community, it returns the jid of the community to which it belongs ### memberAddMode?​ `optional` **memberAddMode**: `boolean` Defined in: src/Types/GroupMetadata.ts:43 is set when the group also allows members to add participants ### notify?​ `optional` **notify**: `string` Defined in: src/Types/GroupMetadata.ts:18 ### owner​ **owner**: `undefined` | `string` Defined in: src/Types/GroupMetadata.ts:21 ### owner_country_code?​ `optional` **owner_country_code**: `string` Defined in: src/Types/GroupMetadata.ts:23 ### ownerPn?​ `optional` **ownerPn**: `string` Defined in: src/Types/GroupMetadata.ts:22 ### participants​ **participants**: `GroupParticipant`[] Defined in: src/Types/GroupMetadata.ts:53 ### restrict?​ `optional` **restrict**: `boolean` Defined in: src/Types/GroupMetadata.ts:39 is set when the group only allows admins to change group settings ### size?​ `optional` **size**: `number` Defined in: src/Types/GroupMetadata.ts:51 number of group participants ### subject​ **subject**: `string` Defined in: src/Types/GroupMetadata.ts:24 ### subjectOwner?​ `optional` **subjectOwner**: `string` Defined in: src/Types/GroupMetadata.ts:26 group subject owner ### subjectOwnerPn?​ `optional` **subjectOwnerPn**: `string` Defined in: src/Types/GroupMetadata.ts:27 ### subjectTime?​ `optional` **subjectTime**: `number` Defined in: src/Types/GroupMetadata.ts:29 group subject modification date - Properties addressingMode? - announce? - author? - authorPn? - creation? - desc? - descId? - descOwner? - descOwnerPn? - descTime? - ephemeralDuration? - id - inviteCode? - isCommunity? - isCommunityAnnounce? - joinApprovalMode? - linkedParent? - memberAddMode? - notify? - owner - owner_country_code? - ownerPn? - participants - restrict? - size? - subject - subjectOwner? - subjectOwnerPn? - subjectTime? --- ## Interface: GroupModificationResponse **Source:** https://baileys.wiki/docs/api/interfaces/GroupModificationResponse On this page Defined in: src/Types/GroupMetadata.ts:67 ## Properties​ ### participants?​ `optional` **participants**: `object` Defined in: src/Types/GroupMetadata.ts:69 #### Index Signature​ [`key`: `string`]: `object` ### status​ **status**: `number` Defined in: src/Types/GroupMetadata.ts:68 - Properties participants? - status --- ## Interface: PresenceData **Source:** https://baileys.wiki/docs/api/interfaces/PresenceData On this page Defined in: src/Types/Chat.ts:36 ## Properties​ ### lastKnownPresence​ **lastKnownPresence**: `WAPresence` Defined in: src/Types/Chat.ts:37 ### lastSeen?​ `optional` **lastSeen**: `number` Defined in: src/Types/Chat.ts:38 - Properties lastKnownPresence - lastSeen? --- ## Interface: BaileysEventEmitter **Source:** https://baileys.wiki/docs/api/interfaces/BaileysEventEmitter On this page Defined in: src/Types/Events.ts:127 ## Methods​ ### emit()​ **emit**<`T`>(`event`, `arg`): `boolean` Defined in: src/Types/Events.ts:131 #### Type Parameters​ • **T** *extends* keyof `BaileysEventMap` #### Parameters​ event​ `T` arg​ `BaileysEventMap`[`T`] #### Returns​ `boolean` ### off()​ **off**<`T`>(`event`, `listener`): `void` Defined in: src/Types/Events.ts:129 #### Type Parameters​ • **T** *extends* keyof `BaileysEventMap` #### Parameters​ event​ `T` listener​ (`arg`) => `void` #### Returns​ `void` ### on()​ **on**<`T`>(`event`, `listener`): `void` Defined in: src/Types/Events.ts:128 #### Type Parameters​ • **T** *extends* keyof `BaileysEventMap` #### Parameters​ event​ `T` listener​ (`arg`) => `void` #### Returns​ `void` ### removeAllListeners()​ **removeAllListeners**<`T`>(`event`): `void` Defined in: src/Types/Events.ts:130 #### Type Parameters​ • **T** *extends* keyof `BaileysEventMap` #### Parameters​ event​ `T` #### Returns​ `void` - Methods emit() - off() - on() - removeAllListeners() --- ## Interface: WAUrlInfo **Source:** https://baileys.wiki/docs/api/interfaces/WAUrlInfo On this page Defined in: src/Types/Message.ts:102 ## Properties​ ### canonical-url​ **canonical-url**: `string` Defined in: src/Types/Message.ts:103 ### description?​ `optional` **description**: `string` Defined in: src/Types/Message.ts:106 ### highQualityThumbnail?​ `optional` **highQualityThumbnail**: `IImageMessage` Defined in: src/Types/Message.ts:108 ### jpegThumbnail?​ `optional` **jpegThumbnail**: `Buffer`<`ArrayBufferLike`> Defined in: src/Types/Message.ts:107 ### matched-text​ **matched-text**: `string` Defined in: src/Types/Message.ts:104 ### originalThumbnailUrl?​ `optional` **originalThumbnailUrl**: `string` Defined in: src/Types/Message.ts:109 ### title​ **title**: `string` Defined in: src/Types/Message.ts:105 - Properties canonical-url - description? - highQualityThumbnail? - jpegThumbnail? - matched-text - originalThumbnailUrl? - title --- ## Interface: RecentMessage **Source:** https://baileys.wiki/docs/api/interfaces/RecentMessage On this page Defined in: src/Utils/message-retry-manager.ts:18 ## Properties​ ### message​ **message**: `IMessage` Defined in: src/Utils/message-retry-manager.ts:19 ### timestamp​ **timestamp**: `number` Defined in: src/Utils/message-retry-manager.ts:20 - Properties message - timestamp # Types --- ## Type: Chat **Source:** https://baileys.wiki/docs/api/type-aliases/Chat On this page **Chat**: `IConversation` & `object` Defined in: src/Types/Chat.ts:59 ## Type declaration​ ### lastMessageRecvTimestamp?​ `optional` **lastMessageRecvTimestamp**: `number` unix timestamp of when the last message was received in the chat - Type declaration lastMessageRecvTimestamp? --- ## Type: ChatModification **Source:** https://baileys.wiki/docs/api/type-aliases/ChatModification On this page **ChatModification**: { `archive`: `boolean`; `lastMessages`: `LastMessageList`; } | { `pushNameSetting`: `string`; } | { `pin`: `boolean`; } | { `mute`: `number` | `null`; } | { `clear`: `boolean`; `lastMessages`: `LastMessageList`; } | { `deleteForMe`: { `deleteMedia`: `boolean`; `key`: `WAMessageKey`; `timestamp`: `number`; }; } | { `star`: { `messages`: `object`[]; `star`: `boolean`; }; } | { `lastMessages`: `LastMessageList`; `markRead`: `boolean`; } | { `delete`: `true`; `lastMessages`: `LastMessageList`; } | { `contact`: `IContactAction` | `null`; } | { `disableLinkPreviews`: `IPrivacySettingDisableLinkPreviewsAction`; } | { `addLabel`: `LabelActionBody`; } | { `addChatLabel`: `ChatLabelAssociationActionBody`; } | { `removeChatLabel`: `ChatLabelAssociationActionBody`; } | { `addMessageLabel`: `MessageLabelAssociationActionBody`; } | { `removeMessageLabel`: `MessageLabelAssociationActionBody`; } | { `quickReply`: `QuickReplyAction`; } Defined in: src/Types/Chat.ts:87 ## Type declaration​ { `archive`: `boolean`; `lastMessages`: `LastMessageList`; } ### archive​ **archive**: `boolean` ### lastMessages​ **lastMessages**: `LastMessageList` { `pushNameSetting`: `string`; } ### pushNameSetting​ **pushNameSetting**: `string` { `pin`: `boolean`; } ### pin​ **pin**: `boolean` { `mute`: `number` | `null`; } ### mute​ **mute**: `number` | `null` mute for duration, or provide timestamp of mute to remove { `clear`: `boolean`; `lastMessages`: `LastMessageList`; } ### clear​ **clear**: `boolean` ### lastMessages​ **lastMessages**: `LastMessageList` { `deleteForMe`: { `deleteMedia`: `boolean`; `key`: `WAMessageKey`; `timestamp`: `number`; }; } ### deleteForMe​ **deleteForMe**: `object` #### deleteForMe.deleteMedia​ **deleteMedia**: `boolean` #### deleteForMe.key​ **key**: `WAMessageKey` #### deleteForMe.timestamp​ **timestamp**: `number` { `star`: { `messages`: `object`[]; `star`: `boolean`; }; } ### star​ **star**: `object` #### star.messages​ **messages**: `object`[] #### star.star​ **star**: `boolean` { `lastMessages`: `LastMessageList`; `markRead`: `boolean`; } ### lastMessages​ **lastMessages**: `LastMessageList` ### markRead​ **markRead**: `boolean` { `delete`: `true`; `lastMessages`: `LastMessageList`; } ### delete​ **delete**: `true` ### lastMessages​ **lastMessages**: `LastMessageList` { `contact`: `IContactAction` | `null`; } ### contact​ **contact**: `IContactAction` | `null` { `disableLinkPreviews`: `IPrivacySettingDisableLinkPreviewsAction`; } ### disableLinkPreviews​ **disableLinkPreviews**: `IPrivacySettingDisableLinkPreviewsAction` { `addLabel`: `LabelActionBody`; } ### addLabel​ **addLabel**: `LabelActionBody` { `addChatLabel`: `ChatLabelAssociationActionBody`; } ### addChatLabel​ **addChatLabel**: `ChatLabelAssociationActionBody` { `removeChatLabel`: `ChatLabelAssociationActionBody`; } ### removeChatLabel​ **removeChatLabel**: `ChatLabelAssociationActionBody` { `addMessageLabel`: `MessageLabelAssociationActionBody`; } ### addMessageLabel​ **addMessageLabel**: `MessageLabelAssociationActionBody` { `removeMessageLabel`: `MessageLabelAssociationActionBody`; } ### removeMessageLabel​ **removeMessageLabel**: `MessageLabelAssociationActionBody` { `quickReply`: `QuickReplyAction`; } ### quickReply​ **quickReply**: `QuickReplyAction` - Type declaration archive - lastMessages - pushNameSetting - pin - mute - clear - lastMessages - deleteForMe - star - lastMessages - markRead - delete - lastMessages - contact - disableLinkPreviews - addLabel - addChatLabel - removeChatLabel - addMessageLabel - removeMessageLabel - quickReply --- ## Type: ChatUpdate **Source:** https://baileys.wiki/docs/api/type-aliases/ChatUpdate **ChatUpdate**: `Partial`<`Chat` & `object`> Defined in: src/Types/Chat.ts:64 --- ## Type: ChatMutation **Source:** https://baileys.wiki/docs/api/type-aliases/ChatMutation On this page **ChatMutation**: `object` Defined in: src/Types/Chat.ts:46 ## Type declaration​ ### index​ **index**: `string`[] ### syncAction​ **syncAction**: `ISyncActionData` - Type declaration index - syncAction --- ## Type: WAMessage **Source:** https://baileys.wiki/docs/api/type-aliases/WAMessage On this page **WAMessage**: `IWebMessageInfo` & `object` Defined in: src/Types/Message.ts:11 ## Type declaration​ ### category?​ `optional` **category**: `string` ### key​ **key**: `WAMessageKey` ### messageStubParameters?​ `optional` **messageStubParameters**: `any` ### retryCount?​ `optional` **retryCount**: `number` - Type declaration category? - key - messageStubParameters? - retryCount? --- ## Type: WAMessageContent **Source:** https://baileys.wiki/docs/api/type-aliases/WAMessageContent **WAMessageContent**: `IMessage` Defined in: src/Types/Message.ts:17 --- ## Type: WAMessageKey **Source:** https://baileys.wiki/docs/api/type-aliases/WAMessageKey On this page **WAMessageKey**: `IMessageKey` & `object` Defined in: src/Types/Message.ts:20 ## Type declaration​ ### addressingMode?​ `optional` **addressingMode**: `string` ### isViewOnce?​ `optional` **isViewOnce**: `boolean` ### participantAlt?​ `optional` **participantAlt**: `string` ### remoteJidAlt?​ `optional` **remoteJidAlt**: `string` ### server_id?​ `optional` **server_id**: `string` - Type declaration addressingMode? - isViewOnce? - participantAlt? - remoteJidAlt? - server_id? --- ## Type: WAMessageUpdate **Source:** https://baileys.wiki/docs/api/type-aliases/WAMessageUpdate On this page **WAMessageUpdate**: `object` Defined in: src/Types/Message.ts:368 ## Type declaration​ ### key​ **key**: `WAMessageKey` ### update​ **update**: `Partial`<`WAMessage`> - Type declaration key - update --- ## Type: MessageType **Source:** https://baileys.wiki/docs/api/type-aliases/MessageType **MessageType**: keyof `Message` Defined in: src/Types/Message.ts:43 Set of message types that are supported by the library --- ## Type: MessageUpsertType **Source:** https://baileys.wiki/docs/api/type-aliases/MessageUpsertType **MessageUpsertType**: `"append"` | `"notify"` Defined in: src/Types/Message.ts:364 Type of message upsert - notify => notify the user, this message was just received - append => append the message to the chat history, no notification required --- ## Type: AnyMessageContent **Source:** https://baileys.wiki/docs/api/type-aliases/AnyMessageContent On this page **AnyMessageContent**: `AnyRegularMessageContent` | { `force`: `boolean`; `forward`: `WAMessage`; } | { `delete`: `WAMessageKey`; } | { `disappearingMessagesInChat`: `boolean` | `number`; } | { `limitSharing`: `boolean`; } Defined in: src/Types/Message.ts:271 ## Type declaration​ `AnyRegularMessageContent` { `force`: `boolean`; `forward`: `WAMessage`; } ### force?​ `optional` **force**: `boolean` ### forward​ **forward**: `WAMessage` { `delete`: `WAMessageKey`; } ### delete​ **delete**: `WAMessageKey` Delete your message or anyone's message in a group (admin required) { `disappearingMessagesInChat`: `boolean` | `number`; } ### disappearingMessagesInChat​ **disappearingMessagesInChat**: `boolean` | `number` { `limitSharing`: `boolean`; } ### limitSharing​ **limitSharing**: `boolean` - Type declaration force? - forward - delete - disappearingMessagesInChat - limitSharing --- ## Type: AnyMediaMessageContent **Source:** https://baileys.wiki/docs/api/type-aliases/AnyMediaMessageContent On this page **AnyMediaMessageContent**: `object` & `Mentionable` & `Contextable` & `WithDimensions` | `object` & `Mentionable` & `Contextable` & `WithDimensions` | { `audio`: `WAMediaUpload`; `ptt`: `boolean`; `seconds`: `number`; } | `object` & `WithDimensions` | `object` & `Contextable` & `object` & `Editable` Defined in: src/Types/Message.ts:163 ## Type declaration​ ### mimetype?​ `optional` **mimetype**: `string` - Type declaration mimetype? --- ## Type: AnyRegularMessageContent **Source:** https://baileys.wiki/docs/api/type-aliases/AnyRegularMessageContent **AnyRegularMessageContent**: `object` & `Mentionable` & `Contextable` & `Editable` | `AnyMediaMessageContent` | { `event`: `EventMessageOptions`; } | `object` & `Mentionable` & `Contextable` & `Editable` | { `contacts`: { `contacts`: `IContactMessage`[]; `displayName`: `string`; }; } | { `location`: `WALocationMessage`; } | { `react`: `IReactionMessage`; } | { `buttonReply`: `ButtonReplyInfo`; `type`: `"template"` | `"plain"`; } | { `groupInvite`: `GroupInviteInfo`; } | { `listReply`: `Omit`<`IListResponseMessage`, `"contextInfo"`>; } | { `pin`: `WAMessageKey`; `time`: `86400` | `604800` | `2592000`; `type`: `Type`; } | { `body`: `string`; `businessOwnerJid`: `string`; `footer`: `string`; `product`: `WASendableProduct`; } | `SharePhoneNumber` | `RequestPhoneNumber` & `ViewOnce` Defined in: src/Types/Message.ts:218 --- ## Type: MessageGenerationOptions **Source:** https://baileys.wiki/docs/api/type-aliases/MessageGenerationOptions **MessageGenerationOptions**: `MessageContentGenerationOptions` & `MessageGenerationOptionsFromContent` Defined in: src/Types/Message.ts:357 --- ## Type: MessageContentGenerationOptions **Source:** https://baileys.wiki/docs/api/type-aliases/MessageContentGenerationOptions On this page **MessageContentGenerationOptions**: `MediaGenerationOptions` & `object` Defined in: src/Types/Message.ts:351 ## Type declaration​ ### getCallLink()?​ `optional` **getCallLink**: (`type`, `event`?) => `Promise`<`string` | `undefined`> #### Parameters​ type​ `"audio"` | `"video"` event?​ startTime​ `number` #### Returns​ `Promise`<`string` | `undefined`> ### getProfilePicUrl()?​ `optional` **getProfilePicUrl**: (`jid`, `type`) => `Promise`<`string` | `undefined`> #### Parameters​ jid​ `string` type​ `"image"` | `"preview"` #### Returns​ `Promise`<`string` | `undefined`> ### getUrlInfo()?​ `optional` **getUrlInfo**: (`text`) => `Promise`<`WAUrlInfo` | `undefined`> #### Parameters​ text​ `string` #### Returns​ `Promise`<`WAUrlInfo` | `undefined`> ### jid?​ `optional` **jid**: `string` - Type declaration getCallLink()? - getProfilePicUrl()? - getUrlInfo()? - jid? --- ## Type: MinimalMessage **Source:** https://baileys.wiki/docs/api/type-aliases/MinimalMessage **MinimalMessage**: `Pick`<`WAMessage`, `"key"` | `"messageTimestamp"`> Defined in: src/Types/Message.ts:380 --- ## Type: MediaType **Source:** https://baileys.wiki/docs/api/type-aliases/MediaType **MediaType**: keyof *typeof* `MEDIA_HKDF_KEY_MAPPING` Defined in: src/Defaults/index.ts:117 --- ## Type: MediaDownloadOptions **Source:** https://baileys.wiki/docs/api/type-aliases/MediaDownloadOptions On this page **MediaDownloadOptions**: `object` Defined in: src/Utils/messages-media.ts:498 ## Type declaration​ ### endByte?​ `optional` **endByte**: `number` ### options?​ `optional` **options**: `RequestInit` ### startByte?​ `optional` **startByte**: `number` - Type declaration endByte? - options? - startByte? --- ## Type: WAMediaUpload **Source:** https://baileys.wiki/docs/api/type-aliases/WAMediaUpload **WAMediaUpload**: `Buffer` | `WAMediaPayloadStream` | `WAMediaPayloadURL` Defined in: src/Types/Message.ts:41 --- ## Type: DownloadableMessage **Source:** https://baileys.wiki/docs/api/type-aliases/DownloadableMessage On this page **DownloadableMessage**: `object` Defined in: src/Types/Message.ts:83 ## Type declaration​ ### directPath?​ `optional` **directPath**: `string` | `null` ### mediaKey?​ `optional` **mediaKey**: `Uint8Array` | `null` ### url?​ `optional` **url**: `string` | `null` - Type declaration directPath? - mediaKey? - url? --- ## Type: MediaGenerationOptions **Source:** https://baileys.wiki/docs/api/type-aliases/MediaGenerationOptions On this page **MediaGenerationOptions**: `object` Defined in: src/Types/Message.ts:336 ## Type declaration​ ### backgroundColor?​ `optional` **backgroundColor**: `string` ### font?​ `optional` **font**: `number` ### logger?​ `optional` **logger**: `ILogger` ### mediaCache?​ `optional` **mediaCache**: `CacheStore` cache media so it does not have to be uploaded again ### mediaTypeOverride?​ `optional` **mediaTypeOverride**: `MediaType` ### mediaUploadTimeoutMs?​ `optional` **mediaUploadTimeoutMs**: `number` ### options?​ `optional` **options**: `RequestInit` ### upload​ **upload**: `WAMediaUploadFunction` - Type declaration backgroundColor? - font? - logger? - mediaCache? - mediaTypeOverride? - mediaUploadTimeoutMs? - options? - upload --- ## Type: GroupParticipant **Source:** https://baileys.wiki/docs/api/type-aliases/GroupParticipant On this page **GroupParticipant**: `Contact` & `object` Defined in: src/Types/GroupMetadata.ts:4 ## Type declaration​ ### admin?​ `optional` **admin**: `"admin"` | `"superadmin"` | `null` ### isAdmin?​ `optional` **isAdmin**: `boolean` ### isSuperAdmin?​ `optional` **isSuperAdmin**: `boolean` - Type declaration admin? - isAdmin? - isSuperAdmin? --- ## Type: GroupInviteInfo **Source:** https://baileys.wiki/docs/api/type-aliases/GroupInviteInfo On this page **GroupInviteInfo**: `object` Defined in: src/Types/Message.ts:206 ## Type declaration​ ### inviteCode​ **inviteCode**: `string` ### inviteExpiration​ **inviteExpiration**: `number` ### jid​ **jid**: `string` ### subject​ **subject**: `string` ### text​ **text**: `string` - Type declaration inviteCode - inviteExpiration - jid - subject - text --- ## Type: ParticipantAction **Source:** https://baileys.wiki/docs/api/type-aliases/ParticipantAction **ParticipantAction**: `"add"` | `"remove"` | `"promote"` | `"demote"` | `"modify"` Defined in: src/Types/GroupMetadata.ts:10 --- ## Type: WAPresence **Source:** https://baileys.wiki/docs/api/type-aliases/WAPresence **WAPresence**: `"unavailable"` | `"available"` | `"composing"` | `"recording"` | `"paused"` Defined in: src/Types/Chat.ts:24 set of statuses visible to other people; see updatePresence() in WhatsAppWeb.Send --- ## Type: ConnectionState **Source:** https://baileys.wiki/docs/api/type-aliases/ConnectionState On this page **ConnectionState**: `object` Defined in: src/Types/State.ts:17 ## Type declaration​ ### connection​ **connection**: `WAConnectionState` connection is now open, connecting or closed ### isNewLogin?​ `optional` **isNewLogin**: `boolean` is this a new login ### isOnline?​ `optional` **isOnline**: `boolean` if the client is shown as an active, online client. If this is false, the primary phone and other devices will receive notifs ### lastDisconnect?​ `optional` **lastDisconnect**: `object` the error that caused the connection to close #### lastDisconnect.date​ **date**: `Date` #### lastDisconnect.error​ **error**: `Boom` | `Error` | `undefined` ### legacy?​ `optional` **legacy**: `object` legacy connection options #### legacy.phoneConnected​ **phoneConnected**: `boolean` #### legacy.user?​ `optional` **user**: `Contact` ### qr?​ `optional` **qr**: `string` the current QR code ### receivedPendingNotifications?​ `optional` **receivedPendingNotifications**: `boolean` has the device received all pending notifications while it was offline - Type declaration connection - isNewLogin? - isOnline? - lastDisconnect? - legacy? - qr? - receivedPendingNotifications? --- ## Type: BaileysEventMap **Source:** https://baileys.wiki/docs/api/type-aliases/BaileysEventMap On this page **BaileysEventMap**: `object` Defined in: src/Types/Events.ts:20 ## Type declaration​ #### blocklist.set​ **set**: `object` #### blocklist.set.blocklist​ **blocklist**: `string`[] #### blocklist.update​ **update**: `object` #### blocklist.update.blocklist​ **blocklist**: `string`[] #### blocklist.update.type​ **type**: `"add"` | `"remove"` ### call​ **call**: `WACallEvent`[] Receive an update on a call, including when the call was received, rejected, accepted #### chats.delete​ **delete**: `string`[] delete chats with given ID #### chats.update​ **update**: `ChatUpdate`[] update the given chats #### chats.upsert​ **upsert**: `Chat`[] upsert chats #### connection.update​ **update**: `Partial`<`ConnectionState`> connection state has been updated -- WS closed, opened, connecting etc. #### contacts.update​ **update**: `Partial`<`Contact`>[] #### contacts.upsert​ **upsert**: `Contact`[] #### creds.update​ **update**: `Partial`<`AuthenticationCreds`> credentials updated -- some metadata, keys or something #### group-participants.update​ **update**: `object` apply an action to participants in a group #### group-participants.update.action​ **action**: `ParticipantAction` #### group-participants.update.author​ **author**: `string` #### group-participants.update.authorPn?​ `optional` **authorPn**: `string` #### group-participants.update.id​ **id**: `string` #### group-participants.update.participants​ **participants**: `GroupParticipant`[] #### group.join-request​ **join-request**: `object` #### group.join-request.action​ **action**: `RequestJoinAction` #### group.join-request.author​ **author**: `string` #### group.join-request.authorPn?​ `optional` **authorPn**: `string` #### group.join-request.id​ **id**: `string` #### group.join-request.method​ **method**: `RequestJoinMethod` #### group.join-request.participant​ **participant**: `string` #### group.join-request.participantPn?​ `optional` **participantPn**: `string` #### groups.update​ **update**: `Partial`<`GroupMetadata`>[] #### groups.upsert​ **upsert**: `GroupMetadata`[] #### labels.association​ **association**: `object` #### labels.association.association​ **association**: `LabelAssociation` #### labels.association.type​ **type**: `"add"` | `"remove"` #### labels.edit​ **edit**: `Label` #### lid-mapping.update​ **update**: `object` #### lid-mapping.update.lid​ **lid**: `string` #### lid-mapping.update.pn​ **pn**: `string` #### message-receipt.update​ **update**: `MessageUserReceiptUpdate`[] #### messages.delete​ **delete**: { `keys`: `WAMessageKey`[]; } | { `all`: `true`; `jid`: `string`; } #### messages.media-update​ **media-update**: `object`[] #### messages.reaction​ **reaction**: `object`[] message was reacted to. If reaction was removed -- then "reaction.text" will be falsey #### messages.update​ **update**: `WAMessageUpdate`[] #### messages.upsert​ **upsert**: `object` add/update the given messages. If they were received while the connection was online, the update will have type: "notify" if requestId is provided, then the messages was received from the phone due to it being unavailable #### messages.upsert.messages​ **messages**: `WAMessage`[] #### messages.upsert.requestId?​ `optional` **requestId**: `string` #### messages.upsert.type​ **type**: `MessageUpsertType` #### messaging-history.set​ **set**: `object` set chats (history sync), everything is reverse chronologically sorted #### messaging-history.set.chats​ **chats**: `Chat`[] #### messaging-history.set.contacts​ **contacts**: `Contact`[] #### messaging-history.set.isLatest?​ `optional` **isLatest**: `boolean` #### messaging-history.set.messages​ **messages**: `WAMessage`[] #### messaging-history.set.peerDataRequestSessionId?​ `optional` **peerDataRequestSessionId**: `string` | `null` #### messaging-history.set.progress?​ `optional` **progress**: `number` | `null` #### messaging-history.set.syncType?​ `optional` **syncType**: `HistorySyncType` | `null` #### newsletter-participants.update​ **update**: `object` #### newsletter-participants.update.action​ **action**: `string` #### newsletter-participants.update.author​ **author**: `string` #### newsletter-participants.update.id​ **id**: `string` #### newsletter-participants.update.new_role​ **new_role**: `string` #### newsletter-participants.update.user​ **user**: `string` #### newsletter-settings.update​ **update**: `object` #### newsletter-settings.update.id​ **id**: `string` #### newsletter-settings.update.update​ **update**: `any` #### newsletter.reaction​ **reaction**: `object` Newsletter-related events #### newsletter.reaction.id​ **id**: `string` #### newsletter.reaction.reaction​ **reaction**: `object` #### newsletter.reaction.reaction.code?​ `optional` **code**: `string` #### newsletter.reaction.reaction.count?​ `optional` **count**: `number` #### newsletter.reaction.reaction.removed?​ `optional` **removed**: `boolean` #### newsletter.reaction.server_id​ **server_id**: `string` #### newsletter.view​ **view**: `object` #### newsletter.view.count​ **count**: `number` #### newsletter.view.id​ **id**: `string` #### newsletter.view.server_id​ **server_id**: `string` #### presence.update​ **update**: `object` presence of contact in a chat updated #### presence.update.id​ **id**: `string` #### presence.update.presences​ **presences**: `object` Index Signature​ [`participant`: `string`]: `PresenceData` - Type declaration call --- ## Type: BaileysEvent **Source:** https://baileys.wiki/docs/api/type-aliases/BaileysEvent **BaileysEvent**: keyof `BaileysEventMap` Defined in: src/Types/Events.ts:125 --- ## Type: AuthenticationCreds **Source:** https://baileys.wiki/docs/api/type-aliases/AuthenticationCreds On this page **AuthenticationCreds**: `SignalCreds` & `object` Defined in: src/Types/Auth.ts:48 ## Type declaration​ ### account?​ `optional` **account**: `IADVSignedDeviceIdentity` ### accountSettings​ **accountSettings**: `AccountSettings` ### accountSyncCounter​ **accountSyncCounter**: `number` number of times history & app state has been synced ### additionalData?​ `optional` **additionalData**: `any` ### advSecretKey​ **advSecretKey**: `string` ### firstUnuploadedPreKeyId​ **firstUnuploadedPreKeyId**: `number` ### lastAccountSyncTimestamp?​ `optional` **lastAccountSyncTimestamp**: `number` ### lastPropHash​ **lastPropHash**: `string` | `undefined` ### me?​ `optional` **me**: `Contact` ### myAppStateKeyId?​ `optional` **myAppStateKeyId**: `string` ### nextPreKeyId​ **nextPreKeyId**: `number` ### noiseKey​ `readonly` **noiseKey**: `KeyPair` ### pairingCode​ **pairingCode**: `string` | `undefined` ### pairingEphemeralKeyPair​ `readonly` **pairingEphemeralKeyPair**: `KeyPair` ### platform?​ `optional` **platform**: `string` ### processedHistoryMessages​ **processedHistoryMessages**: `MinimalMessage`[] ### registered​ **registered**: `boolean` ### routingInfo​ **routingInfo**: `Buffer` | `undefined` ### signalIdentities?​ `optional` **signalIdentities**: `SignalIdentity`[] - Type declaration account? - accountSettings - accountSyncCounter - additionalData? - advSecretKey - firstUnuploadedPreKeyId - lastAccountSyncTimestamp? - lastPropHash - me? - myAppStateKeyId? - nextPreKeyId - noiseKey - pairingCode - pairingEphemeralKeyPair - platform? - processedHistoryMessages - registered - routingInfo - signalIdentities? --- ## Type: AuthenticationState **Source:** https://baileys.wiki/docs/api/type-aliases/AuthenticationState On this page **AuthenticationState**: `object` Defined in: src/Types/Auth.ts:112 ## Type declaration​ ### creds​ **creds**: `AuthenticationCreds` ### keys​ **keys**: `SignalKeyStore` - Type declaration creds - keys --- ## Type: WASocket **Source:** https://baileys.wiki/docs/api/type-aliases/WASocket **WASocket**: `ReturnType`<*typeof* `makeWASocket`> Defined in: src/index.ts:11 --- ## Type: SocketConfig **Source:** https://baileys.wiki/docs/api/type-aliases/SocketConfig On this page **SocketConfig**: `object` Defined in: src/Types/Socket.ts:32 ## Type declaration​ ### agent?​ `optional` **agent**: `Agent` proxy agent ### appStateMacVerification​ **appStateMacVerification**: `object` verify app state MACs #### appStateMacVerification.patch​ **patch**: `boolean` #### appStateMacVerification.snapshot​ **snapshot**: `boolean` ### auth​ **auth**: `AuthenticationState` provide an auth state object to maintain the auth state ### browser​ **browser**: `WABrowserDescription` override browser config ### cachedGroupMetadata()​ **cachedGroupMetadata**: (`jid`) => `Promise`<`GroupMetadata` | `undefined`> cached group metadata, use to prevent redundant requests to WA & speed up msg sending #### Parameters​ jid​ `string` #### Returns​ `Promise`<`GroupMetadata` | `undefined`> ### callOfferCache?​ `optional` **callOfferCache**: `CacheStore` cache to store call offers ### connectTimeoutMs​ **connectTimeoutMs**: `number` Fails the connection if the socket times out in this interval ### countryCode​ **countryCode**: `string` alphanumeric country code (USA -> US) for the number used ### customUploadHosts​ **customUploadHosts**: `MediaConnInfo`[`"hosts"`] custom upload hosts to upload media to ### defaultQueryTimeoutMs​ **defaultQueryTimeoutMs**: `number` | `undefined` Default timeout for queries, undefined for no timeout ### emitOwnEvents​ **emitOwnEvents**: `boolean` should events be emitted for actions done by this socket connection ### enableAutoSessionRecreation​ **enableAutoSessionRecreation**: `boolean` Enable automatic session recreation for failed messages ### enableRecentMessageCache​ **enableRecentMessageCache**: `boolean` Enable recent message caching for retry handling ### fetchAgent?​ `optional` **fetchAgent**: `Agent` agent used for fetch requests -- uploading/downloading media ### fireInitQueries​ **fireInitQueries**: `boolean` Should baileys fire init queries automatically, default true ### generateHighQualityLinkPreview​ **generateHighQualityLinkPreview**: `boolean` generate a high quality link preview, entails uploading the jpegThumbnail to WA ### getMessage()​ **getMessage**: (`key`) => `Promise`<`IMessage` | `undefined`> fetch a message from your store implement this so that messages failed to send (solves the "this message can take a while" issue) can be retried #### Parameters​ key​ `WAMessageKey` #### Returns​ `Promise`<`IMessage` | `undefined`> ### keepAliveIntervalMs​ **keepAliveIntervalMs**: `number` ping-pong interval for WS connection ### linkPreviewImageThumbnailWidth​ **linkPreviewImageThumbnailWidth**: `number` width for link preview images ### logger​ **logger**: `ILogger` logger ### makeSignalRepository()​ **makeSignalRepository**: (`auth`, `logger`, `pnToLIDFunc`?) => `SignalRepositoryWithLIDStore` #### Parameters​ auth​ `SignalAuthState` logger​ `ILogger` pnToLIDFunc?​ (`jids`) => `Promise`<`LIDMapping`[] | `undefined`> #### Returns​ `SignalRepositoryWithLIDStore` ### markOnlineOnConnect​ **markOnlineOnConnect**: `boolean` marks the client as online whenever the socket successfully connects ### maxMsgRetryCount​ **maxMsgRetryCount**: `number` max retry count ### mediaCache?​ `optional` **mediaCache**: `CacheStore` provide a cache to store media, so does not have to be re-uploaded ### mobile?​ `optional` **mobile**: `boolean` should baileys use the mobile api instead of the multi device api #### Deprecated​ This feature has been removed ### msgRetryCounterCache?​ `optional` **msgRetryCounterCache**: `CacheStore` map to store the retry counts for failed messages; used to determine whether to retry a message or not ### options​ **options**: `RequestInit` options for HTTP fetch requests ### patchMessageBeforeSending()​ **patchMessageBeforeSending**: (`msg`, `recipientJids`?) => `Promise`<`PatchedMessageWithRecipientJID`[] | `PatchedMessageWithRecipientJID`> | `PatchedMessageWithRecipientJID`[] | `PatchedMessageWithRecipientJID` Optionally patch the message before sending out #### Parameters​ msg​ `IMessage` recipientJids?​ `string`[] #### Returns​ `Promise`<`PatchedMessageWithRecipientJID`[] | `PatchedMessageWithRecipientJID`> | `PatchedMessageWithRecipientJID`[] | `PatchedMessageWithRecipientJID` ### placeholderResendCache?​ `optional` **placeholderResendCache**: `CacheStore` cache to track placeholder resends ### printQRInTerminal?​ `optional` **printQRInTerminal**: `boolean` should the QR be printed in the terminal #### Deprecated​ This feature has been removed ### qrTimeout?​ `optional` **qrTimeout**: `number` time to wait for the generation of the next QR in ms ### retryRequestDelayMs​ **retryRequestDelayMs**: `number` time to wait between sending new retry requests ### shouldIgnoreJid()​ **shouldIgnoreJid**: (`jid`) => `boolean` | `undefined` Returns if a jid should be ignored, no event for that jid will be triggered. Messages from that jid will also not be decrypted #### Parameters​ jid​ `string` #### Returns​ `boolean` | `undefined` ### shouldSyncHistoryMessage()​ **shouldSyncHistoryMessage**: (`msg`) => `boolean` manage history processing with this control; by default will sync up everything #### Parameters​ msg​ `IHistorySyncNotification` #### Returns​ `boolean` ### syncFullHistory​ **syncFullHistory**: `boolean` Should Baileys ask the phone for full history, will be received async ### transactionOpts​ **transactionOpts**: `TransactionCapabilityOptions` transaction capability options for SignalKeyStore ### userDevicesCache?​ `optional` **userDevicesCache**: `PossiblyExtendedCacheStore` provide a cache to store a user's device list ### version​ **version**: `WAVersion` version to connect with ### waWebSocketUrl​ **waWebSocketUrl**: `string` | `URL` the WS url to connect to WA - Type declaration agent? - appStateMacVerification - auth - browser - cachedGroupMetadata() - callOfferCache? - connectTimeoutMs - countryCode - customUploadHosts - defaultQueryTimeoutMs - emitOwnEvents - enableAutoSessionRecreation - enableRecentMessageCache - fetchAgent? - fireInitQueries - generateHighQualityLinkPreview - getMessage() - keepAliveIntervalMs - linkPreviewImageThumbnailWidth - logger - makeSignalRepository() - markOnlineOnConnect - maxMsgRetryCount - mediaCache? - mobile? - msgRetryCounterCache? - options - patchMessageBeforeSending() - placeholderResendCache? - printQRInTerminal? - qrTimeout? - retryRequestDelayMs - shouldIgnoreJid() - shouldSyncHistoryMessage() - syncFullHistory - transactionOpts - userDevicesCache? - version - waWebSocketUrl --- ## Type: UserFacingSocketConfig **Source:** https://baileys.wiki/docs/api/type-aliases/UserFacingSocketConfig On this page **UserFacingSocketConfig**: `Partial`<`SocketConfig`> & `object` Defined in: src/Types/index.ts:17 ## Type declaration​ ### auth​ **auth**: `AuthenticationState` - Type declaration auth # Functions --- ## Function: generateWAMessage **Source:** https://baileys.wiki/docs/api/functions/generateWAMessage On this page **generateWAMessage**(`jid`, `content`, `options`): `Promise`<`WAMessage`> Defined in: src/Utils/messages.ts:707 ## Parameters​ ### jid​ `string` ### content​ `AnyMessageContent` ### options​ `MessageGenerationOptions` ## Returns​ `Promise`<`WAMessage`> - Parameters jid - content - options - Returns --- ## Function: generateWAMessageContent **Source:** https://baileys.wiki/docs/api/functions/generateWAMessageContent On this page **generateWAMessageContent**(`message`, `options`): `Promise`<`Message`> Defined in: src/Utils/messages.ts:369 ## Parameters​ ### message​ `AnyMessageContent` ### options​ `MessageContentGenerationOptions` ## Returns​ `Promise`<`Message`> - Parameters message - options - Returns --- ## Function: generateWAMessageFromContent **Source:** https://baileys.wiki/docs/api/functions/generateWAMessageFromContent On this page **generateWAMessageFromContent**(`jid`, `message`, `options`): `WAMessage` Defined in: src/Utils/messages.ts:623 ## Parameters​ ### jid​ `string` ### message​ `IMessage` ### options​ `MessageGenerationOptionsFromContent` ## Returns​ `WAMessage` - Parameters jid - message - options - Returns --- ## Function: extractMessageContent **Source:** https://baileys.wiki/docs/api/functions/extractMessageContent On this page **extractMessageContent**(`content`): `undefined` | `IMessage` Defined in: src/Utils/messages.ts:762 Extract the true message content from a message Eg. extracts the inner message from a disappearing message/view once message ## Parameters​ ### content​ `undefined` | `null` | `IMessage` ## Returns​ `undefined` | `IMessage` - Parameters content - Returns --- ## Function: getContentType **Source:** https://baileys.wiki/docs/api/functions/getContentType On this page **getContentType**(`content`): `undefined` | keyof IMessage Defined in: src/Utils/messages.ts:715 Get the key to access the true type of content ## Parameters​ ### content​ `undefined` | `IMessage` ## Returns​ `undefined` | keyof IMessage - Parameters content - Returns --- ## Function: normalizeMessageContent **Source:** https://baileys.wiki/docs/api/functions/normalizeMessageContent On this page **normalizeMessageContent**(`content`): `undefined` | `IMessage` Defined in: src/Utils/messages.ts:729 Normalizes ephemeral, view once messages to regular message content Eg. image messages in ephemeral messages, in view once messages etc. ## Parameters​ ### content​ `undefined` | `null` | `IMessage` ## Returns​ `undefined` | `IMessage` - Parameters content - Returns --- ## Function: downloadMediaMessage **Source:** https://baileys.wiki/docs/api/functions/downloadMediaMessage On this page **downloadMediaMessage**<`Type`>(`message`, `type`, `options`, `ctx`?): `Promise`<`Type` *extends* `"buffer"` ? `Buffer`<`ArrayBufferLike`> : `Transform`> Defined in: src/Utils/messages.ts:985 Downloads the given message. Throws an error if it's not a media message ## Type Parameters​ • **Type** *extends* `"buffer"` | `"stream"` ## Parameters​ ### message​ `WAMessage` ### type​ `Type` ### options​ `MediaDownloadOptions` ### ctx?​ `DownloadMediaMessageContext` ## Returns​ `Promise`<`Type` *extends* `"buffer"` ? `Buffer`<`ArrayBufferLike`> : `Transform`> - Type Parameters - Parameters message - type - options - ctx? - Returns --- ## Function: downloadContentFromMessage **Source:** https://baileys.wiki/docs/api/functions/downloadContentFromMessage On this page **downloadContentFromMessage**(`__namedParameters`, `type`, `opts`): `Promise`<`Transform`> Defined in: src/Utils/messages-media.ts:506 ## Parameters​ ### __namedParameters​ `DownloadableMessage` ### type​ `"ppic"` | `"product"` | `"image"` | `"video"` | `"sticker"` | `"thumbnail-document"` | `"audio"` | `"thumbnail-image"` | `"biz-cover-photo"` | `"thumbnail-video"` | `"thumbnail-link"` | `"gif"` | `"md-app-state"` | `"md-msg-hist"` | `"document"` | `"ptt"` | `"product-catalog-image"` | `"payment-bg-image"` | `"ptv"` ### opts​ `MediaDownloadOptions` = `{}` ## Returns​ `Promise`<`Transform`> - Parameters __namedParameters - type - opts - Returns --- ## Function: prepareWAMessageMedia **Source:** https://baileys.wiki/docs/api/functions/prepareWAMessageMedia On this page **prepareWAMessageMedia**(`message`, `options`): `Promise`<`Message`> Defined in: src/Utils/messages.ts:116 ## Parameters​ ### message​ `AnyMediaMessageContent` ### options​ `MessageContentGenerationOptions` ## Returns​ `Promise`<`Message`> - Parameters message - options - Returns --- ## Function: extractImageThumb **Source:** https://baileys.wiki/docs/api/functions/extractImageThumb On this page **extractImageThumb**(`bufferOrFilePath`, `width`): `Promise`<{ `buffer`: `any`; `original`: { `height`: `any`; `width`: `any`; }; }> Defined in: src/Utils/messages-media.ts:134 ## Parameters​ ### bufferOrFilePath​ `string` | `Buffer`<`ArrayBufferLike`> | `Readable` ### width​ `number` = `32` ## Returns​ `Promise`<{ `buffer`: `any`; `original`: { `height`: `any`; `width`: `any`; }; }> - Parameters bufferOrFilePath - width - Returns --- ## Function: generateThumbnail **Source:** https://baileys.wiki/docs/api/functions/generateThumbnail On this page **generateThumbnail**(`file`, `mediaType`, `options`): `Promise`<{ `originalImageDimensions`: `undefined` | { `height`: `number`; `width`: `number`; }; `thumbnail`: `undefined` | `string`; }> Defined in: src/Utils/messages-media.ts:327 generates a thumbnail for a given media, if required ## Parameters​ ### file​ `string` ### mediaType​ `"image"` | `"video"` ### options​ #### logger?​ `ILogger` ## Returns​ `Promise`<{ `originalImageDimensions`: `undefined` | { `height`: `number`; `width`: `number`; }; `thumbnail`: `undefined` | `string`; }> - Parameters file - mediaType - options - Returns --- ## Function: generateProfilePicture **Source:** https://baileys.wiki/docs/api/functions/generateProfilePicture On this page **generateProfilePicture**(`mediaUpload`, `dimensions`?): `Promise`<{ `img`: `Buffer`<`ArrayBufferLike`>; }> Defined in: src/Utils/messages-media.ts:175 ## Parameters​ ### mediaUpload​ `WAMediaUpload` ### dimensions?​ #### height​ `number` #### width​ `number` ## Returns​ `Promise`<{ `img`: `Buffer`<`ArrayBufferLike`>; }> - Parameters mediaUpload - dimensions? - Returns --- ## Function: getMediaKeys **Source:** https://baileys.wiki/docs/api/functions/getMediaKeys On this page **getMediaKeys**(`buffer`, `mediaType`): `Promise`<`MediaDecryptionKeyInfo`> Defined in: src/Utils/messages-media.ts:95 generates all the keys required to encrypt/decrypt & sign a media message ## Parameters​ ### buffer​ `undefined` | `null` | `string` | `Uint8Array`<`ArrayBufferLike`> ### mediaType​ `"ppic"` | `"product"` | `"image"` | `"video"` | `"sticker"` | `"thumbnail-document"` | `"audio"` | `"thumbnail-image"` | `"biz-cover-photo"` | `"thumbnail-video"` | `"thumbnail-link"` | `"gif"` | `"md-app-state"` | `"md-msg-hist"` | `"document"` | `"ptt"` | `"product-catalog-image"` | `"payment-bg-image"` | `"ptv"` ## Returns​ `Promise`<`MediaDecryptionKeyInfo`> - Parameters buffer - mediaType - Returns --- ## Function: encryptedStream **Source:** https://baileys.wiki/docs/api/functions/encryptedStream On this page **encryptedStream**(`media`, `mediaType`, `__namedParameters`): `Promise`<{ `encFilePath`: `string`; `fileEncSha256`: `Buffer`<`ArrayBufferLike`>; `fileLength`: `number`; `fileSha256`: `Buffer`<`ArrayBufferLike`>; `mac`: `Buffer`<`ArrayBuffer`>; `mediaKey`: `Buffer`<`ArrayBufferLike`>; `originalFilePath`: `undefined` | `string`; }> Defined in: src/Utils/messages-media.ts:384 ## Parameters​ ### media​ `WAMediaUpload` ### mediaType​ `"ppic"` | `"product"` | `"image"` | `"video"` | `"sticker"` | `"thumbnail-document"` | `"audio"` | `"thumbnail-image"` | `"biz-cover-photo"` | `"thumbnail-video"` | `"thumbnail-link"` | `"gif"` | `"md-app-state"` | `"md-msg-hist"` | `"document"` | `"ptt"` | `"product-catalog-image"` | `"payment-bg-image"` | `"ptv"` ### __namedParameters​ `EncryptedStreamOptions` = `{}` ## Returns​ `Promise`<{ `encFilePath`: `string`; `fileEncSha256`: `Buffer`<`ArrayBufferLike`>; `fileLength`: `number`; `fileSha256`: `Buffer`<`ArrayBufferLike`>; `mac`: `Buffer`<`ArrayBuffer`>; `mediaKey`: `Buffer`<`ArrayBufferLike`>; `originalFilePath`: `undefined` | `string`; }> - Parameters media - mediaType - __namedParameters - Returns --- ## Function: jidDecode **Source:** https://baileys.wiki/docs/api/functions/jidDecode On this page **jidDecode**(`jid`): `undefined` | `FullJid` Defined in: src/WABinary/jid-utils.ts:55 ## Parameters​ ### jid​ `undefined` | `string` ## Returns​ `undefined` | `FullJid` - Parameters jid - Returns --- ## Function: jidEncode **Source:** https://baileys.wiki/docs/api/functions/jidEncode On this page **jidEncode**(`user`, `server`, `device`?, `agent`?): `string` Defined in: src/WABinary/jid-utils.ts:51 ## Parameters​ ### user​ `null` | `string` | `number` ### server​ `JidServer` ### device?​ `number` ### agent?​ `number` ## Returns​ `string` - Parameters user - server - device? - agent? - Returns --- ## Function: jidNormalizedUser **Source:** https://baileys.wiki/docs/api/functions/jidNormalizedUser On this page **jidNormalizedUser**(`jid`): `string` Defined in: src/WABinary/jid-utils.ts:113 ## Parameters​ ### jid​ `undefined` | `string` ## Returns​ `string` - Parameters jid - Returns --- ## Function: isJidGroup **Source:** https://baileys.wiki/docs/api/functions/isJidGroup On this page **isJidGroup**(`jid`): `undefined` | `boolean` Defined in: src/WABinary/jid-utils.ts:99 is the jid a group ## Parameters​ ### jid​ `undefined` | `string` ## Returns​ `undefined` | `boolean` - Parameters jid - Returns --- ## Function: isJidBroadcast **Source:** https://baileys.wiki/docs/api/functions/isJidBroadcast On this page **isJidBroadcast**(`jid`): `undefined` | `boolean` Defined in: src/WABinary/jid-utils.ts:97 is the jid a broadcast ## Parameters​ ### jid​ `undefined` | `string` ## Returns​ `undefined` | `boolean` - Parameters jid - Returns --- ## Function: isJidStatusBroadcast **Source:** https://baileys.wiki/docs/api/functions/isJidStatusBroadcast On this page **isJidStatusBroadcast**(`jid`): `jid is "status@broadcast"` Defined in: src/WABinary/jid-utils.ts:101 is the jid the status broadcast ## Parameters​ ### jid​ `string` ## Returns​ `jid is "status@broadcast"` - Parameters jid - Returns --- ## Function: areJidsSameUser **Source:** https://baileys.wiki/docs/api/functions/areJidsSameUser On this page **areJidsSameUser**(`jid1`, `jid2`): `boolean` Defined in: src/WABinary/jid-utils.ts:88 is the jid a user ## Parameters​ ### jid1​ `undefined` | `string` ### jid2​ `undefined` | `string` ## Returns​ `boolean` - Parameters jid1 - jid2 - Returns --- ## Function: isLidUser **Source:** https://baileys.wiki/docs/api/functions/isLidUser On this page **isLidUser**(`jid`): `undefined` | `boolean` Defined in: src/WABinary/jid-utils.ts:95 is the jid a LID ## Parameters​ ### jid​ `undefined` | `string` ## Returns​ `undefined` | `boolean` - Parameters jid - Returns --- ## Function: downloadAndProcessHistorySyncNotification **Source:** https://baileys.wiki/docs/api/functions/downloadAndProcessHistorySyncNotification On this page **downloadAndProcessHistorySyncNotification**(`msg`, `options`): `Promise`<{ `chats`: `Chat`[]; `contacts`: `Contact`[]; `messages`: `WAMessage`[]; `progress`: `undefined` | `null` | `number`; `syncType`: `undefined` | `null` | `HistorySyncType`; }> Defined in: src/Utils/history.ts:95 ## Parameters​ ### msg​ `IHistorySyncNotification` ### options​ `RequestInit` ## Returns​ `Promise`<{ `chats`: `Chat`[]; `contacts`: `Contact`[]; `messages`: `WAMessage`[]; `progress`: `undefined` | `null` | `number`; `syncType`: `undefined` | `null` | `HistorySyncType`; }> - Parameters msg - options - Returns --- ## Function: processHistoryMessage **Source:** https://baileys.wiki/docs/api/functions/processHistoryMessage On this page **processHistoryMessage**(`item`): `object` Defined in: src/Utils/history.ts:28 ## Parameters​ ### item​ `IHistorySync` ## Returns​ `object` ### chats​ **chats**: `Chat`[] ### contacts​ **contacts**: `Contact`[] ### messages​ **messages**: `WAMessage`[] ### progress​ **progress**: `undefined` | `null` | `number` = `item.progress` ### syncType​ **syncType**: `undefined` | `null` | `HistorySyncType` = `item.syncType` - Parameters item - Returns chats - contacts - messages - progress - syncType --- ## Function: getHistoryMsg **Source:** https://baileys.wiki/docs/api/functions/getHistoryMsg On this page **getHistoryMsg**(`message`): `IHistorySyncNotification` Defined in: src/Utils/history.ts:109 ## Parameters​ ### message​ `IMessage` ## Returns​ `IHistorySyncNotification` - Parameters message - Returns --- ## Function: makeWASocket **Source:** https://baileys.wiki/docs/api/functions/makeWASocket On this page **makeWASocket**(`config`): `object` Defined in: src/Socket/index.ts:6 ## Parameters​ ### config​ `UserFacingSocketConfig` ## Returns​ `object` ### addChatLabel()​ **addChatLabel**: (`jid`, `labelId`) => `Promise`<`void`> Adds label for the chats #### Parameters​ jid​ `string` labelId​ `string` #### Returns​ `Promise`<`void`> ### addLabel()​ **addLabel**: (`jid`, `labels`) => `Promise`<`void`> Adds label #### Parameters​ jid​ `string` labels​ `LabelActionBody` #### Returns​ `Promise`<`void`> ### addMessageLabel()​ **addMessageLabel**: (`jid`, `messageId`, `labelId`) => `Promise`<`void`> Adds label for the message #### Parameters​ jid​ `string` messageId​ `string` labelId​ `string` #### Returns​ `Promise`<`void`> ### addOrEditContact()​ **addOrEditContact**: (`jid`, `contact`) => `Promise`<`void`> Add or Edit Contact #### Parameters​ jid​ `string` contact​ `IContactAction` #### Returns​ `Promise`<`void`> ### addOrEditQuickReply()​ **addOrEditQuickReply**: (`quickReply`) => `Promise`<`void`> Add or Edit Quick Reply #### Parameters​ quickReply​ `QuickReplyAction` #### Returns​ `Promise`<`void`> ### appPatch()​ **appPatch**: (`patchCreate`) => `Promise`<`void`> #### Parameters​ patchCreate​ `WAPatchCreate` #### Returns​ `Promise`<`void`> ### assertSessions()​ **assertSessions**: (`jids`, `force`?) => `Promise`<`boolean`> #### Parameters​ jids​ `string`[] force?​ `boolean` #### Returns​ `Promise`<`boolean`> ### authState​ **authState**: `object` #### authState.creds​ **creds**: `AuthenticationCreds` #### authState.keys​ **keys**: `SignalKeyStoreWithTransaction` ### chatModify()​ **chatModify**: (`mod`, `jid`) => `Promise`<`void`> modify a chat -- mark unread, read etc. lastMessages must be sorted in reverse chronologically requires the last messages till the last message received; required for archive & unread #### Parameters​ mod​ `ChatModification` jid​ `string` #### Returns​ `Promise`<`void`> ### cleanDirtyBits()​ **cleanDirtyBits**: (`type`, `fromTimestamp`?) => `Promise`<`void`> #### Parameters​ type​ `"account_sync"` | `"groups"` fromTimestamp?​ `string` | `number` #### Returns​ `Promise`<`void`> ### communityAcceptInvite()​ **communityAcceptInvite**: (`code`) => `Promise`<`undefined` | `string`> #### Parameters​ code​ `string` #### Returns​ `Promise`<`undefined` | `string`> ### communityAcceptInviteV4()​ **communityAcceptInviteV4**: (...`args`) => `Promise`<`any`> accept a CommunityInviteMessage #### Parameters​ args​ ...[`string` | `WAMessageKey`, `IGroupInviteMessage`] #### Returns​ `Promise`<`any`> ### communityCreate()​ **communityCreate**: (`subject`, `body`) => `Promise`<`null` | `GroupMetadata`> #### Parameters​ subject​ `string` body​ `string` #### Returns​ `Promise`<`null` | `GroupMetadata`> ### communityCreateGroup()​ **communityCreateGroup**: (`subject`, `participants`, `parentCommunityJid`) => `Promise`<`null` | `GroupMetadata`> #### Parameters​ subject​ `string` participants​ `string`[] parentCommunityJid​ `string` #### Returns​ `Promise`<`null` | `GroupMetadata`> ### communityFetchAllParticipating()​ **communityFetchAllParticipating**: () => `Promise`<{}> #### Returns​ `Promise`<{}> ### communityFetchLinkedGroups()​ **communityFetchLinkedGroups**: (`jid`) => `Promise`<{ `communityJid`: `string`; `isCommunity`: `boolean`; `linkedGroups`: `object`[]; }> #### Parameters​ jid​ `string` #### Returns​ `Promise`<{ `communityJid`: `string`; `isCommunity`: `boolean`; `linkedGroups`: `object`[]; }> ### communityGetInviteInfo()​ **communityGetInviteInfo**: (`code`) => `Promise`<`GroupMetadata`> #### Parameters​ code​ `string` #### Returns​ `Promise`<`GroupMetadata`> ### communityInviteCode()​ **communityInviteCode**: (`jid`) => `Promise`<`undefined` | `string`> #### Parameters​ jid​ `string` #### Returns​ `Promise`<`undefined` | `string`> ### communityJoinApprovalMode()​ **communityJoinApprovalMode**: (`jid`, `mode`) => `Promise`<`void`> #### Parameters​ jid​ `string` mode​ `"on"` | `"off"` #### Returns​ `Promise`<`void`> ### communityLeave()​ **communityLeave**: (`id`) => `Promise`<`void`> #### Parameters​ id​ `string` #### Returns​ `Promise`<`void`> ### communityLinkGroup()​ **communityLinkGroup**: (`groupJid`, `parentCommunityJid`) => `Promise`<`void`> #### Parameters​ groupJid​ `string` parentCommunityJid​ `string` #### Returns​ `Promise`<`void`> ### communityMemberAddMode()​ **communityMemberAddMode**: (`jid`, `mode`) => `Promise`<`void`> #### Parameters​ jid​ `string` mode​ `"all_member_add"` | `"admin_add"` #### Returns​ `Promise`<`void`> ### communityMetadata()​ **communityMetadata**: (`jid`) => `Promise`<`GroupMetadata`> #### Parameters​ jid​ `string` #### Returns​ `Promise`<`GroupMetadata`> ### communityParticipantsUpdate()​ **communityParticipantsUpdate**: (`jid`, `participants`, `action`) => `Promise`<`object`[]> #### Parameters​ jid​ `string` participants​ `string`[] action​ `ParticipantAction` #### Returns​ `Promise`<`object`[]> ### communityRequestParticipantsList()​ **communityRequestParticipantsList**: (`jid`) => `Promise`<`object`[]> #### Parameters​ jid​ `string` #### Returns​ `Promise`<`object`[]> ### communityRequestParticipantsUpdate()​ **communityRequestParticipantsUpdate**: (`jid`, `participants`, `action`) => `Promise`<`object`[]> #### Parameters​ jid​ `string` participants​ `string`[] action​ `"reject"` | `"approve"` #### Returns​ `Promise`<`object`[]> ### communityRevokeInvite()​ **communityRevokeInvite**: (`jid`) => `Promise`<`undefined` | `string`> #### Parameters​ jid​ `string` #### Returns​ `Promise`<`undefined` | `string`> ### communityRevokeInviteV4()​ **communityRevokeInviteV4**: (`communityJid`, `invitedJid`) => `Promise`<`boolean`> revoke a v4 invite for someone #### Parameters​ communityJid​ `string` community jid invitedJid​ `string` jid of person you invited #### Returns​ `Promise`<`boolean`> true if successful ### communitySettingUpdate()​ **communitySettingUpdate**: (`jid`, `setting`) => `Promise`<`void`> #### Parameters​ jid​ `string` setting​ `"announcement"` | `"locked"` | `"not_announcement"` | `"unlocked"` #### Returns​ `Promise`<`void`> ### communityToggleEphemeral()​ **communityToggleEphemeral**: (`jid`, `ephemeralExpiration`) => `Promise`<`void`> #### Parameters​ jid​ `string` ephemeralExpiration​ `number` #### Returns​ `Promise`<`void`> ### communityUnlinkGroup()​ **communityUnlinkGroup**: (`groupJid`, `parentCommunityJid`) => `Promise`<`void`> #### Parameters​ groupJid​ `string` parentCommunityJid​ `string` #### Returns​ `Promise`<`void`> ### communityUpdateDescription()​ **communityUpdateDescription**: (`jid`, `description`?) => `Promise`<`void`> #### Parameters​ jid​ `string` description?​ `string` #### Returns​ `Promise`<`void`> ### communityUpdateSubject()​ **communityUpdateSubject**: (`jid`, `subject`) => `Promise`<`void`> #### Parameters​ jid​ `string` subject​ `string` #### Returns​ `Promise`<`void`> ### createCallLink()​ **createCallLink**: (`type`, `event`?, `timeoutMs`?) => `Promise`<`undefined` | `string`> #### Parameters​ type​ `"video"` | `"audio"` event?​ startTime​ `number` timeoutMs?​ `number` #### Returns​ `Promise`<`undefined` | `string`> ### createParticipantNodes()​ **createParticipantNodes**: (`recipientJids`, `message`, `extraAttrs`?, `dsmMessage`?) => `Promise`<{ `nodes`: `BinaryNode`[]; `shouldIncludeDeviceIdentity`: `boolean`; }> #### Parameters​ recipientJids​ `string`[] message​ `IMessage` extraAttrs?​ dsmMessage?​ `IMessage` #### Returns​ `Promise`<{ `nodes`: `BinaryNode`[]; `shouldIncludeDeviceIdentity`: `boolean`; }> ### digestKeyBundle()​ **digestKeyBundle**: () => `Promise`<`void`> #### Returns​ `Promise`<`void`> ### end()​ **end**: (`error`) => `void` #### Parameters​ error​ `undefined` | `Error` #### Returns​ `void` ### ev​ **ev**: `BaileysBufferableEventEmitter` ### executeUSyncQuery()​ **executeUSyncQuery**: (`usyncQuery`) => `Promise`<`undefined` | `USyncQueryResult`> #### Parameters​ usyncQuery​ `USyncQuery` #### Returns​ `Promise`<`undefined` | `USyncQueryResult`> ### fetchBlocklist()​ **fetchBlocklist**: () => `Promise`<(`undefined` | `string`)[]> #### Returns​ `Promise`<(`undefined` | `string`)[]> ### fetchDisappearingDuration()​ **fetchDisappearingDuration**: (...`jids`) => `Promise`<`undefined` | `USyncQueryResultList`[]> #### Parameters​ jids​ ...`string`[] #### Returns​ `Promise`<`undefined` | `USyncQueryResultList`[]> ### fetchMessageHistory()​ **fetchMessageHistory**: (`count`, `oldestMsgKey`, `oldestMsgTimestamp`) => `Promise`<`string`> #### Parameters​ count​ `number` oldestMsgKey​ `WAMessageKey` oldestMsgTimestamp​ `number` | `Long` #### Returns​ `Promise`<`string`> ### fetchPrivacySettings()​ **fetchPrivacySettings**: (`force`) => `Promise`<{}> #### Parameters​ force​ `boolean` = `false` #### Returns​ `Promise`<{}> ### fetchStatus()​ **fetchStatus**: (...`jids`) => `Promise`<`undefined` | `USyncQueryResultList`[]> #### Parameters​ jids​ ...`string`[] #### Returns​ `Promise`<`undefined` | `USyncQueryResultList`[]> ### generateMessageTag()​ **generateMessageTag**: () => `string` #### Returns​ `string` ### getBotListV2()​ **getBotListV2**: () => `Promise`<`BotListInfo`[]> #### Returns​ `Promise`<`BotListInfo`[]> ### getBusinessProfile()​ **getBusinessProfile**: (`jid`) => `Promise`<`void` | `WABusinessProfile`> #### Parameters​ jid​ `string` #### Returns​ `Promise`<`void` | `WABusinessProfile`> ### getCatalog()​ **getCatalog**: (`__namedParameters`) => `Promise`<{ `nextPageCursor`: `undefined` | `string`; `products`: `Product`[]; }> #### Parameters​ __namedParameters​ `GetCatalogOptions` #### Returns​ `Promise`<{ `nextPageCursor`: `undefined` | `string`; `products`: `Product`[]; }> ### getCollections()​ **getCollections**: (`jid`?, `limit`) => `Promise`<{ `collections`: `CatalogCollection`[]; }> #### Parameters​ jid?​ `string` limit?​ `number` = `51` #### Returns​ `Promise`<{ `collections`: `CatalogCollection`[]; }> ### getOrderDetails()​ **getOrderDetails**: (`orderId`, `tokenBase64`) => `Promise`<`OrderDetails`> #### Parameters​ orderId​ `string` tokenBase64​ `string` #### Returns​ `Promise`<`OrderDetails`> ### getPrivacyTokens()​ **getPrivacyTokens**: (`jids`) => `Promise`<`any`> #### Parameters​ jids​ `string`[] #### Returns​ `Promise`<`any`> ### getUSyncDevices()​ **getUSyncDevices**: (`jids`, `useCache`, `ignoreZeroDevices`) => `Promise`<`DeviceWithJid`[]> Fetch all the devices we've to send a message to #### Parameters​ jids​ `string`[] useCache​ `boolean` ignoreZeroDevices​ `boolean` #### Returns​ `Promise`<`DeviceWithJid`[]> ### groupAcceptInvite()​ **groupAcceptInvite**: (`code`) => `Promise`<`undefined` | `string`> #### Parameters​ code​ `string` #### Returns​ `Promise`<`undefined` | `string`> ### groupAcceptInviteV4()​ **groupAcceptInviteV4**: (...`args`) => `Promise`<`any`> accept a GroupInviteMessage #### Parameters​ args​ ...[`string` | `WAMessageKey`, `IGroupInviteMessage`] #### Returns​ `Promise`<`any`> ### groupCreate()​ **groupCreate**: (`subject`, `participants`) => `Promise`<`GroupMetadata`> #### Parameters​ subject​ `string` participants​ `string`[] #### Returns​ `Promise`<`GroupMetadata`> ### groupFetchAllParticipating()​ **groupFetchAllParticipating**: () => `Promise`<{}> #### Returns​ `Promise`<{}> ### groupGetInviteInfo()​ **groupGetInviteInfo**: (`code`) => `Promise`<`GroupMetadata`> #### Parameters​ code​ `string` #### Returns​ `Promise`<`GroupMetadata`> ### groupInviteCode()​ **groupInviteCode**: (`jid`) => `Promise`<`undefined` | `string`> #### Parameters​ jid​ `string` #### Returns​ `Promise`<`undefined` | `string`> ### groupJoinApprovalMode()​ **groupJoinApprovalMode**: (`jid`, `mode`) => `Promise`<`void`> #### Parameters​ jid​ `string` mode​ `"on"` | `"off"` #### Returns​ `Promise`<`void`> ### groupLeave()​ **groupLeave**: (`id`) => `Promise`<`void`> #### Parameters​ id​ `string` #### Returns​ `Promise`<`void`> ### groupMemberAddMode()​ **groupMemberAddMode**: (`jid`, `mode`) => `Promise`<`void`> #### Parameters​ jid​ `string` mode​ `"all_member_add"` | `"admin_add"` #### Returns​ `Promise`<`void`> ### groupMetadata()​ **groupMetadata**: (`jid`) => `Promise`<`GroupMetadata`> #### Parameters​ jid​ `string` #### Returns​ `Promise`<`GroupMetadata`> ### groupParticipantsUpdate()​ **groupParticipantsUpdate**: (`jid`, `participants`, `action`) => `Promise`<`object`[]> #### Parameters​ jid​ `string` participants​ `string`[] action​ `ParticipantAction` #### Returns​ `Promise`<`object`[]> ### groupRequestParticipantsList()​ **groupRequestParticipantsList**: (`jid`) => `Promise`<`object`[]> #### Parameters​ jid​ `string` #### Returns​ `Promise`<`object`[]> ### groupRequestParticipantsUpdate()​ **groupRequestParticipantsUpdate**: (`jid`, `participants`, `action`) => `Promise`<`object`[]> #### Parameters​ jid​ `string` participants​ `string`[] action​ `"reject"` | `"approve"` #### Returns​ `Promise`<`object`[]> ### groupRevokeInvite()​ **groupRevokeInvite**: (`jid`) => `Promise`<`undefined` | `string`> #### Parameters​ jid​ `string` #### Returns​ `Promise`<`undefined` | `string`> ### groupRevokeInviteV4()​ **groupRevokeInviteV4**: (`groupJid`, `invitedJid`) => `Promise`<`boolean`> revoke a v4 invite for someone #### Parameters​ groupJid​ `string` group jid invitedJid​ `string` jid of person you invited #### Returns​ `Promise`<`boolean`> true if successful ### groupSettingUpdate()​ **groupSettingUpdate**: (`jid`, `setting`) => `Promise`<`void`> #### Parameters​ jid​ `string` setting​ `"announcement"` | `"locked"` | `"not_announcement"` | `"unlocked"` #### Returns​ `Promise`<`void`> ### groupToggleEphemeral()​ **groupToggleEphemeral**: (`jid`, `ephemeralExpiration`) => `Promise`<`void`> #### Parameters​ jid​ `string` ephemeralExpiration​ `number` #### Returns​ `Promise`<`void`> ### groupUpdateDescription()​ **groupUpdateDescription**: (`jid`, `description`?) => `Promise`<`void`> #### Parameters​ jid​ `string` description?​ `string` #### Returns​ `Promise`<`void`> ### groupUpdateSubject()​ **groupUpdateSubject**: (`jid`, `subject`) => `Promise`<`void`> #### Parameters​ jid​ `string` subject​ `string` #### Returns​ `Promise`<`void`> ### logger​ **logger**: `ILogger` = `config.logger` ### logout()​ **logout**: (`msg`?) => `Promise`<`void`> logout & invalidate connection #### Parameters​ msg?​ `string` #### Returns​ `Promise`<`void`> ### messageRetryManager​ **messageRetryManager**: `null` | `MessageRetryManager` ### newsletterAdminCount()​ **newsletterAdminCount**: (`jid`) => `Promise`<`number`> #### Parameters​ jid​ `string` #### Returns​ `Promise`<`number`> ### newsletterChangeOwner()​ **newsletterChangeOwner**: (`jid`, `newOwnerJid`) => `Promise`<`void`> #### Parameters​ jid​ `string` newOwnerJid​ `string` #### Returns​ `Promise`<`void`> ### newsletterCreate()​ **newsletterCreate**: (`name`, `description`?) => `Promise`<`NewsletterMetadata`> #### Parameters​ name​ `string` description?​ `string` #### Returns​ `Promise`<`NewsletterMetadata`> ### newsletterDelete()​ **newsletterDelete**: (`jid`) => `Promise`<`void`> #### Parameters​ jid​ `string` #### Returns​ `Promise`<`void`> ### newsletterDemote()​ **newsletterDemote**: (`jid`, `userJid`) => `Promise`<`void`> #### Parameters​ jid​ `string` userJid​ `string` #### Returns​ `Promise`<`void`> ### newsletterFetchMessages()​ **newsletterFetchMessages**: (`jid`, `count`, `since`, `after`) => `Promise`<`any`> #### Parameters​ jid​ `string` count​ `number` since​ `number` after​ `number` #### Returns​ `Promise`<`any`> ### newsletterFollow()​ **newsletterFollow**: (`jid`) => `Promise`<`unknown`> #### Parameters​ jid​ `string` #### Returns​ `Promise`<`unknown`> ### newsletterMetadata()​ **newsletterMetadata**: (`type`, `key`) => `Promise`<`null` | `NewsletterMetadata`> #### Parameters​ type​ `"invite"` | `"jid"` key​ `string` #### Returns​ `Promise`<`null` | `NewsletterMetadata`> ### newsletterMute()​ **newsletterMute**: (`jid`) => `Promise`<`unknown`> #### Parameters​ jid​ `string` #### Returns​ `Promise`<`unknown`> ### newsletterReactMessage()​ **newsletterReactMessage**: (`jid`, `serverId`, `reaction`?) => `Promise`<`void`> #### Parameters​ jid​ `string` serverId​ `string` reaction?​ `string` #### Returns​ `Promise`<`void`> ### newsletterRemovePicture()​ **newsletterRemovePicture**: (`jid`) => `Promise`<`unknown`> #### Parameters​ jid​ `string` #### Returns​ `Promise`<`unknown`> ### newsletterSubscribers()​ **newsletterSubscribers**: (`jid`) => `Promise`<{ `subscribers`: `number`; }> #### Parameters​ jid​ `string` #### Returns​ `Promise`<{ `subscribers`: `number`; }> ### newsletterUnfollow()​ **newsletterUnfollow**: (`jid`) => `Promise`<`unknown`> #### Parameters​ jid​ `string` #### Returns​ `Promise`<`unknown`> ### newsletterUnmute()​ **newsletterUnmute**: (`jid`) => `Promise`<`unknown`> #### Parameters​ jid​ `string` #### Returns​ `Promise`<`unknown`> ### newsletterUpdate()​ **newsletterUpdate**: (`jid`, `updates`) => `Promise`<`unknown`> #### Parameters​ jid​ `string` updates​ `NewsletterUpdate` #### Returns​ `Promise`<`unknown`> ### newsletterUpdateDescription()​ **newsletterUpdateDescription**: (`jid`, `description`) => `Promise`<`unknown`> #### Parameters​ jid​ `string` description​ `string` #### Returns​ `Promise`<`unknown`> ### newsletterUpdateName()​ **newsletterUpdateName**: (`jid`, `name`) => `Promise`<`unknown`> #### Parameters​ jid​ `string` name​ `string` #### Returns​ `Promise`<`unknown`> ### newsletterUpdatePicture()​ **newsletterUpdatePicture**: (`jid`, `content`) => `Promise`<`unknown`> #### Parameters​ jid​ `string` content​ `WAMediaUpload` #### Returns​ `Promise`<`unknown`> ### onUnexpectedError()​ **onUnexpectedError**: (`err`, `msg`) => `void` log & process any unexpected errors #### Parameters​ err​ `Error` | `Boom`<`any`> msg​ `string` #### Returns​ `void` ### onWhatsApp()​ **onWhatsApp**: (...`phoneNumber`) => `Promise`<`undefined` | `object`[]> #### Parameters​ phoneNumber​ ...`string`[] #### Returns​ `Promise`<`undefined` | `object`[]> ### presenceSubscribe()​ **presenceSubscribe**: (`toJid`, `tcToken`?) => `Promise`<`void`> #### Parameters​ toJid​ `string` the jid to subscribe to tcToken?​ `Buffer`<`ArrayBufferLike`> token for subscription, use if present #### Returns​ `Promise`<`void`> ### processingMutex​ **processingMutex**: `object` #### processingMutex.mutex()​ Type Parameters​ • **T** Parameters​ code​ () => `T` | `Promise`<`T`> Returns​ `Promise`<`T`> ### productCreate()​ **productCreate**: (`create`) => `Promise`<`Product`> #### Parameters​ create​ `ProductCreate` #### Returns​ `Promise`<`Product`> ### productDelete()​ **productDelete**: (`productIds`) => `Promise`<{ `deleted`: `number`; }> #### Parameters​ productIds​ `string`[] #### Returns​ `Promise`<{ `deleted`: `number`; }> ### productUpdate()​ **productUpdate**: (`productId`, `update`) => `Promise`<`Product`> #### Parameters​ productId​ `string` update​ `ProductUpdate` #### Returns​ `Promise`<`Product`> ### profilePictureUrl()​ **profilePictureUrl**: (`jid`, `type`, `timeoutMs`?) => `Promise`<`undefined` | `string`> fetch the profile picture of a user/group type = "preview" for a low res picture type = "image for the high res picture" #### Parameters​ jid​ `string` type​ `"image"` | `"preview"` timeoutMs?​ `number` #### Returns​ `Promise`<`undefined` | `string`> ### query()​ **query**: (`node`, `timeoutMs`?) => `Promise`<`any`> send a query, and wait for its response. auto-generates message ID if not provided #### Parameters​ node​ `BinaryNode` timeoutMs?​ `number` #### Returns​ `Promise`<`any`> ### readMessages()​ **readMessages**: (`keys`) => `Promise`<`void`> Bulk read messages. Keys can be from different chats & participants #### Parameters​ keys​ `WAMessageKey`[] #### Returns​ `Promise`<`void`> ### refreshMediaConn()​ **refreshMediaConn**: (`forceGet`) => `Promise`<`MediaConnInfo`> #### Parameters​ forceGet​ `boolean` = `false` #### Returns​ `Promise`<`MediaConnInfo`> ### rejectCall()​ **rejectCall**: (`callId`, `callFrom`) => `Promise`<`void`> #### Parameters​ callId​ `string` callFrom​ `string` #### Returns​ `Promise`<`void`> ### relayMessage()​ **relayMessage**: (`jid`, `message`, `__namedParameters`) => `Promise`<`string`> #### Parameters​ jid​ `string` message​ `IMessage` __namedParameters​ `MessageRelayOptions` #### Returns​ `Promise`<`string`> ### removeChatLabel()​ **removeChatLabel**: (`jid`, `labelId`) => `Promise`<`void`> Removes label for the chat #### Parameters​ jid​ `string` labelId​ `string` #### Returns​ `Promise`<`void`> ### removeContact()​ **removeContact**: (`jid`) => `Promise`<`void`> Remove Contact #### Parameters​ jid​ `string` #### Returns​ `Promise`<`void`> ### removeCoverPhoto()​ **removeCoverPhoto**: (`id`) => `Promise`<`any`> #### Parameters​ id​ `string` #### Returns​ `Promise`<`any`> ### removeMessageLabel()​ **removeMessageLabel**: (`jid`, `messageId`, `labelId`) => `Promise`<`void`> Removes label for the message #### Parameters​ jid​ `string` messageId​ `string` labelId​ `string` #### Returns​ `Promise`<`void`> ### removeProfilePicture()​ **removeProfilePicture**: (`jid`) => `Promise`<`void`> remove the profile picture for yourself or a group #### Parameters​ jid​ `string` #### Returns​ `Promise`<`void`> ### removeQuickReply()​ **removeQuickReply**: (`timestamp`) => `Promise`<`void`> Remove Quick Reply #### Parameters​ timestamp​ `string` #### Returns​ `Promise`<`void`> ### requestPairingCode()​ **requestPairingCode**: (`phoneNumber`, `customPairingCode`?) => `Promise`<`string`> #### Parameters​ phoneNumber​ `string` customPairingCode?​ `string` #### Returns​ `Promise`<`string`> ### requestPlaceholderResend()​ **requestPlaceholderResend**: (`messageKey`) => `Promise`<`undefined` | `string`> #### Parameters​ messageKey​ `WAMessageKey` #### Returns​ `Promise`<`undefined` | `string`> ### resyncAppState()​ **resyncAppState**: (...`args`) => `Promise`<`void`> #### Parameters​ args​ ...[readonly (`"critical_unblock_low"` | `"regular_high"` | `"regular_low"` | `"critical_block"` | `"regular"`)[], `boolean`] #### Returns​ `Promise`<`void`> ### rotateSignedPreKey()​ **rotateSignedPreKey**: () => `Promise`<`void`> #### Returns​ `Promise`<`void`> ### sendMessage()​ **sendMessage**: (`jid`, `content`, `options`) => `Promise`<`undefined` | `WAMessage`> #### Parameters​ jid​ `string` content​ `AnyMessageContent` options​ `MiscMessageGenerationOptions` = `{}` #### Returns​ `Promise`<`undefined` | `WAMessage`> ### sendMessageAck()​ **sendMessageAck**: (`__namedParameters`, `errorCode`?) => `Promise`<`void`> #### Parameters​ __namedParameters​ `BinaryNode` errorCode?​ `number` #### Returns​ `Promise`<`void`> ### sendNode()​ **sendNode**: (`frame`) => `Promise`<`void`> send a binary node #### Parameters​ frame​ `BinaryNode` #### Returns​ `Promise`<`void`> ### sendPeerDataOperationMessage()​ **sendPeerDataOperationMessage**: (`pdoMessage`) => `Promise`<`string`> #### Parameters​ pdoMessage​ `IPeerDataOperationRequestMessage` #### Returns​ `Promise`<`string`> ### sendPresenceUpdate()​ **sendPresenceUpdate**: (`type`, `toJid`?) => `Promise`<`void`> #### Parameters​ type​ `WAPresence` toJid?​ `string` #### Returns​ `Promise`<`void`> ### sendRawMessage()​ **sendRawMessage**: (`data`) => `Promise`<`void`> send a raw buffer #### Parameters​ data​ `Uint8Array`<`ArrayBufferLike`> | `Buffer`<`ArrayBufferLike`> #### Returns​ `Promise`<`void`> ### sendReceipt()​ **sendReceipt**: (`jid`, `participant`, `messageIds`, `type`) => `Promise`<`void`> generic send receipt function used for receipts of phone call, read, delivery etc. #### Parameters​ jid​ `string` participant​ `undefined` | `string` messageIds​ `string`[] type​ `MessageReceiptType` #### Returns​ `Promise`<`void`> ### sendReceipts()​ **sendReceipts**: (`keys`, `type`) => `Promise`<`void`> Correctly bulk send receipts to multiple chats, participants #### Parameters​ keys​ `WAMessageKey`[] type​ `MessageReceiptType` #### Returns​ `Promise`<`void`> ### sendRetryRequest()​ **sendRetryRequest**: (`node`, `forceIncludeKeys`) => `Promise`<`void`> #### Parameters​ node​ `BinaryNode` forceIncludeKeys​ `boolean` = `false` #### Returns​ `Promise`<`void`> ### sendWAMBuffer()​ **sendWAMBuffer**: (`wamBuffer`) => `Promise`<`any`> #### Parameters​ wamBuffer​ `Buffer` #### Returns​ `Promise`<`any`> ### signalRepository​ **signalRepository**: `SignalRepositoryWithLIDStore` ### star()​ **star**: (`jid`, `messages`, `star`) => `Promise`<`void`> Star or Unstar a message #### Parameters​ jid​ `string` messages​ `object`[] star​ `boolean` #### Returns​ `Promise`<`void`> ### subscribeNewsletterUpdates()​ **subscribeNewsletterUpdates**: (`jid`) => `Promise`<`null` | { `duration`: `string`; }> #### Parameters​ jid​ `string` #### Returns​ `Promise`<`null` | { `duration`: `string`; }> ### type​ **type**: `"md"` ### updateBlockStatus()​ **updateBlockStatus**: (`jid`, `action`) => `Promise`<`void`> #### Parameters​ jid​ `string` action​ `"block"` | `"unblock"` #### Returns​ `Promise`<`void`> ### updateBussinesProfile()​ **updateBussinesProfile**: (`args`) => `Promise`<`any`> #### Parameters​ args​ `UpdateBussinesProfileProps` #### Returns​ `Promise`<`any`> ### updateCallPrivacy()​ **updateCallPrivacy**: (`value`) => `Promise`<`void`> #### Parameters​ value​ `WAPrivacyCallValue` #### Returns​ `Promise`<`void`> ### updateCoverPhoto()​ **updateCoverPhoto**: (`photo`) => `Promise`<`number`> #### Parameters​ photo​ `WAMediaUpload` #### Returns​ `Promise`<`number`> ### updateDefaultDisappearingMode()​ **updateDefaultDisappearingMode**: (`duration`) => `Promise`<`void`> #### Parameters​ duration​ `number` #### Returns​ `Promise`<`void`> ### updateDisableLinkPreviewsPrivacy()​ **updateDisableLinkPreviewsPrivacy**: (`isPreviewsDisabled`) => `Promise`<`void`> Enable/Disable link preview privacy, not related to baileys link preview generation #### Parameters​ isPreviewsDisabled​ `boolean` #### Returns​ `Promise`<`void`> ### updateGroupsAddPrivacy()​ **updateGroupsAddPrivacy**: (`value`) => `Promise`<`void`> #### Parameters​ value​ `WAPrivacyGroupAddValue` #### Returns​ `Promise`<`void`> ### updateLastSeenPrivacy()​ **updateLastSeenPrivacy**: (`value`) => `Promise`<`void`> #### Parameters​ value​ `WAPrivacyValue` #### Returns​ `Promise`<`void`> ### updateMediaMessage()​ **updateMediaMessage**: (`message`) => `Promise`<`WAMessage`> #### Parameters​ message​ `WAMessage` #### Returns​ `Promise`<`WAMessage`> ### updateMessagesPrivacy()​ **updateMessagesPrivacy**: (`value`) => `Promise`<`void`> #### Parameters​ value​ `WAPrivacyMessagesValue` #### Returns​ `Promise`<`void`> ### updateOnlinePrivacy()​ **updateOnlinePrivacy**: (`value`) => `Promise`<`void`> #### Parameters​ value​ `WAPrivacyOnlineValue` #### Returns​ `Promise`<`void`> ### updateProfileName()​ **updateProfileName**: (`name`) => `Promise`<`void`> #### Parameters​ name​ `string` #### Returns​ `Promise`<`void`> ### updateProfilePicture()​ **updateProfilePicture**: (`jid`, `content`, `dimensions`?) => `Promise`<`void`> update the profile picture for yourself or a group #### Parameters​ jid​ `string` content​ `WAMediaUpload` dimensions?​ height​ `number` width​ `number` #### Returns​ `Promise`<`void`> ### updateProfilePicturePrivacy()​ **updateProfilePicturePrivacy**: (`value`) => `Promise`<`void`> #### Parameters​ value​ `WAPrivacyValue` #### Returns​ `Promise`<`void`> ### updateProfileStatus()​ **updateProfileStatus**: (`status`) => `Promise`<`void`> update the profile status for yourself #### Parameters​ status​ `string` #### Returns​ `Promise`<`void`> ### updateReadReceiptsPrivacy()​ **updateReadReceiptsPrivacy**: (`value`) => `Promise`<`void`> #### Parameters​ value​ `WAReadReceiptsValue` #### Returns​ `Promise`<`void`> ### updateStatusPrivacy()​ **updateStatusPrivacy**: (`value`) => `Promise`<`void`> #### Parameters​ value​ `WAPrivacyValue` #### Returns​ `Promise`<`void`> ### uploadPreKeys()​ **uploadPreKeys**: (`count`, `retryCount`) => `Promise`<`void`> generates and uploads a set of pre-keys to the server #### Parameters​ count​ `number` = `MIN_PREKEY_COUNT` retryCount​ `number` = `0` #### Returns​ `Promise`<`void`> ### uploadPreKeysToServerIfRequired()​ **uploadPreKeysToServerIfRequired**: () => `Promise`<`void`> #### Returns​ `Promise`<`void`> ### upsertMessage()​ **upsertMessage**: (...`args`) => `Promise`<`void`> #### Parameters​ args​ ...[`WAMessage`, `MessageUpsertType`] #### Returns​ `Promise`<`void`> ### user​ **user**: `undefined` | `Contact` ### waitForConnectionUpdate()​ **waitForConnectionUpdate**: (`check`, `timeoutMs`?) => `Promise`<`void`> Waits for the connection to WA to reach a state #### Parameters​ check​ (`u`) => `Promise`<`undefined` | `boolean`> timeoutMs?​ `number` #### Returns​ `Promise`<`void`> ### waitForMessage()​ **waitForMessage**: <`T`>(`msgId`, `timeoutMs`) => `Promise`<`undefined` | `T`> Wait for a message with a certain tag to be received #### Type Parameters​ • **T** #### Parameters​ msgId​ `string` the message tag to await timeoutMs​ timeout after which the promise will reject `undefined` | `number` #### Returns​ `Promise`<`undefined` | `T`> ### waitForSocketOpen()​ **waitForSocketOpen**: () => `Promise`<`void`> #### Returns​ `Promise`<`void`> ### wamBuffer​ **wamBuffer**: `BinaryInfo` = `publicWAMBuffer` ### waUploadToServer​ **waUploadToServer**: `WAMediaUploadFunction` ### ws​ **ws**: `WebSocketClient` - Parameters config - Returns addChatLabel() - addLabel() - addMessageLabel() - addOrEditContact() - addOrEditQuickReply() - appPatch() - assertSessions() - authState - chatModify() - cleanDirtyBits() - communityAcceptInvite() - communityAcceptInviteV4() - communityCreate() - communityCreateGroup() - communityFetchAllParticipating() - communityFetchLinkedGroups() - communityGetInviteInfo() - communityInviteCode() - communityJoinApprovalMode() - communityLeave() - communityLinkGroup() - communityMemberAddMode() - communityMetadata() - communityParticipantsUpdate() - communityRequestParticipantsList() - communityRequestParticipantsUpdate() - communityRevokeInvite() - communityRevokeInviteV4() - communitySettingUpdate() - communityToggleEphemeral() - communityUnlinkGroup() - communityUpdateDescription() - communityUpdateSubject() - createCallLink() - createParticipantNodes() - digestKeyBundle() - end() - ev - executeUSyncQuery() - fetchBlocklist() - fetchDisappearingDuration() - fetchMessageHistory() - fetchPrivacySettings() - fetchStatus() - generateMessageTag() - getBotListV2() - getBusinessProfile() - getCatalog() - getCollections() - getOrderDetails() - getPrivacyTokens() - getUSyncDevices() - groupAcceptInvite() - groupAcceptInviteV4() - groupCreate() - groupFetchAllParticipating() - groupGetInviteInfo() - groupInviteCode() - groupJoinApprovalMode() - groupLeave() - groupMemberAddMode() - groupMetadata() - groupParticipantsUpdate() - groupRequestParticipantsList() - groupRequestParticipantsUpdate() - groupRevokeInvite() - groupRevokeInviteV4() - groupSettingUpdate() - groupToggleEphemeral() - groupUpdateDescription() - groupUpdateSubject() - logger - logout() - messageRetryManager - newsletterAdminCount() - newsletterChangeOwner() - newsletterCreate() - newsletterDelete() - newsletterDemote() - newsletterFetchMessages() - newsletterFollow() - newsletterMetadata() - newsletterMute() - newsletterReactMessage() - newsletterRemovePicture() - newsletterSubscribers() - newsletterUnfollow() - newsletterUnmute() - newsletterUpdate() - newsletterUpdateDescription() - newsletterUpdateName() - newsletterUpdatePicture() - onUnexpectedError() - onWhatsApp() - presenceSubscribe() - processingMutex - productCreate() - productDelete() - productUpdate() - profilePictureUrl() - query() - readMessages() - refreshMediaConn() - rejectCall() - relayMessage() - removeChatLabel() - removeContact() - removeCoverPhoto() - removeMessageLabel() - removeProfilePicture() - removeQuickReply() - requestPairingCode() - requestPlaceholderResend() - resyncAppState() - rotateSignedPreKey() - sendMessage() - sendMessageAck() - sendNode() - sendPeerDataOperationMessage() - sendPresenceUpdate() - sendRawMessage() - sendReceipt() - sendReceipts() - sendRetryRequest() - sendWAMBuffer() - signalRepository - star() - subscribeNewsletterUpdates() - type - updateBlockStatus() - updateBussinesProfile() - updateCallPrivacy() - updateCoverPhoto() - updateDefaultDisappearingMode() - updateDisableLinkPreviewsPrivacy() - updateGroupsAddPrivacy() - updateLastSeenPrivacy() - updateMediaMessage() - updateMessagesPrivacy() - updateOnlinePrivacy() - updateProfileName() - updateProfilePicture() - updateProfilePicturePrivacy() - updateProfileStatus() - updateReadReceiptsPrivacy() - updateStatusPrivacy() - uploadPreKeys() - uploadPreKeysToServerIfRequired() - upsertMessage() - user - waitForConnectionUpdate() - waitForMessage() - waitForSocketOpen() - wamBuffer - waUploadToServer - ws --- ## Function: makeCacheableSignalKeyStore **Source:** https://baileys.wiki/docs/api/functions/makeCacheableSignalKeyStore On this page **makeCacheableSignalKeyStore**(`store`, `logger`?, `_cache`?): `SignalKeyStore` Defined in: src/Utils/auth-utils.ts:36 Adds caching capability to a SignalKeyStore ## Parameters​ ### store​ `SignalKeyStore` the store to add caching to ### logger?​ `ILogger` to log trace events ### _cache?​ `CacheStore` cache store to use ## Returns​ `SignalKeyStore` - Parameters store - logger? - _cache? - Returns --- ## Function: useMultiFileAuthState **Source:** https://baileys.wiki/docs/api/functions/useMultiFileAuthState On this page **useMultiFileAuthState**(`folder`): `Promise`<{ `saveCreds`: () => `Promise`<`void`>; `state`: `AuthenticationState`; }> Defined in: src/Utils/use-multi-file-auth-state.ts:33 stores the full authentication state in a single folder. Far more efficient than singlefileauthstate Again, I wouldn't endorse this for any production level use other than perhaps a bot. Would recommend writing an auth state for use with a proper SQL or No-SQL DB ## Parameters​ ### folder​ `string` ## Returns​ `Promise`<{ `saveCreds`: () => `Promise`<`void`>; `state`: `AuthenticationState`; }> - Parameters folder - Returns --- ## Function: delay **Source:** https://baileys.wiki/docs/api/functions/delay On this page **delay**(`ms`): `Promise`<`void`> Defined in: src/Utils/generics.ts:121 ## Parameters​ ### ms​ `number` ## Returns​ `Promise`<`void`> - Parameters ms - Returns --- ## Function: toNumber **Source:** https://baileys.wiki/docs/api/functions/toNumber On this page **toNumber**(`t`): `number` Defined in: src/Utils/generics.ts:95 ## Parameters​ ### t​ `undefined` | `null` | `number` | `Long` ## Returns​ `number` - Parameters t - Returns --- ## Function: toBuffer **Source:** https://baileys.wiki/docs/api/functions/toBuffer On this page **toBuffer**(`stream`): `Promise`<`Buffer`<`ArrayBuffer`>> Defined in: src/Utils/messages-media.ts:293 ## Parameters​ ### stream​ `Readable` ## Returns​ `Promise`<`Buffer`<`ArrayBuffer`>> - Parameters stream - Returns --- ## Function: unixTimestampSeconds **Source:** https://baileys.wiki/docs/api/functions/unixTimestampSeconds On this page **unixTimestampSeconds**(`date`): `number` Defined in: src/Utils/generics.ts:99 unix timestamp of a date in seconds ## Parameters​ ### date​ `Date` = `...` ## Returns​ `number` - Parameters date - Returns # Variables --- ## Variable: WAMessageStatus **Source:** https://baileys.wiki/docs/api/variables/WAMessageStatus `const` **WAMessageStatus**: *typeof* `Status` = `proto.WebMessageInfo.Status` Defined in: src/Types/Message.ts:37 --- ## Variable: WAMessageStubType **Source:** https://baileys.wiki/docs/api/variables/WAMessageStubType `const` **WAMessageStubType**: *typeof* `StubType` = `proto.WebMessageInfo.StubType` Defined in: src/Types/Message.ts:36 --- ## Variable: S_WHATSAPP_NET **Source:** https://baileys.wiki/docs/api/variables/S_WHATSAPP_NET `const` **S_WHATSAPP_NET**: `"@s.whatsapp.net"` = `'@s.whatsapp.net'` Defined in: src/WABinary/jid-utils.ts:1 --- ## Variable: Browsers **Source:** https://baileys.wiki/docs/api/variables/Browsers `const` **Browsers**: `BrowsersMap` Defined in: src/Utils/browser-utils.ts:19 --- ## Variable: MEDIA_KEYS **Source:** https://baileys.wiki/docs/api/variables/MEDIA_KEYS `const` **MEDIA_KEYS**: (`"ppic"` | `"product"` | `"image"` | `"video"` | `"sticker"` | `"thumbnail-document"` | `"audio"` | `"thumbnail-image"` | `"biz-cover-photo"` | `"thumbnail-video"` | `"thumbnail-link"` | `"gif"` | `"md-app-state"` | `"md-msg-hist"` | `"document"` | `"ptt"` | `"product-catalog-image"` | `"payment-bg-image"` | `"ptv"`)[] Defined in: src/Defaults/index.ts:119 --- ## Variable: DEFAULT_CONNECTION_CONFIG **Source:** https://baileys.wiki/docs/api/variables/DEFAULT_CONNECTION_CONFIG `const` **DEFAULT_CONNECTION_CONFIG**: `SocketConfig` Defined in: src/Defaults/index.ts:47 # Enums --- ## Enum: DisconnectReason **Source:** https://baileys.wiki/docs/api/enumerations/DisconnectReason On this page Defined in: src/Types/index.ts:27 ## Enumeration Members​ ### badSession​ **badSession**: `500` Defined in: src/Types/index.ts:33 ### connectionClosed​ **connectionClosed**: `428` Defined in: src/Types/index.ts:28 ### connectionLost​ **connectionLost**: `408` Defined in: src/Types/index.ts:29 ### connectionReplaced​ **connectionReplaced**: `440` Defined in: src/Types/index.ts:30 ### forbidden​ **forbidden**: `403` Defined in: src/Types/index.ts:36 ### loggedOut​ **loggedOut**: `401` Defined in: src/Types/index.ts:32 ### multideviceMismatch​ **multideviceMismatch**: `411` Defined in: src/Types/index.ts:35 ### restartRequired​ **restartRequired**: `515` Defined in: src/Types/index.ts:34 ### timedOut​ **timedOut**: `408` Defined in: src/Types/index.ts:31 ### unavailableService​ **unavailableService**: `503` Defined in: src/Types/index.ts:37 - Enumeration Members badSession - connectionClosed - connectionLost - connectionReplaced - forbidden - loggedOut - multideviceMismatch - restartRequired - timedOut - unavailableService