Versions in this module Expand all Collapse all v1 v1.0.0 May 24, 2025 Changes in this version + const BusinessMessageLinkDirectPrefix + const BusinessMessageLinkPrefix + const ContactQRLinkDirectPrefix + const ContactQRLinkPrefix + const DisappearingTimer24Hours + const DisappearingTimer7Days + const DisappearingTimer90Days + const DisappearingTimerOff + const EditWindow + const FBArmadilloMessageVersion + const FBConsumerMessageVersion + const FBMessageApplicationVersion + const FBMessageVersion + const InviteLinkPrefix + const MinPreKeyCount + const NewsletterLinkPrefix + const NoiseHandshakeResponseTimeout + const QRChannelEventCode + const QRChannelEventError + const RemoveReactionText + const WACertIssuerSerial + const WantedPreKeyCount + const WebMessageIDPrefix + var AdvHostedPrefixDeviceIdentityAccountSignature = []byte + var AdvHostedPrefixDeviceIdentityDeviceSignatureVerification = []byte + var AdvPrefixAccountSignature = []byte + var AdvPrefixDeviceSignatureGenerate = []byte + var DefaultStatusPrivacy = []types.StatusPrivacy + var ErrAlreadyConnected = errors.New("websocket is already connected") + var ErrAppStateUpdate = errors.New("server returned error updating app state") + var ErrBroadcastListUnsupported = errors.New("sending to non-status broadcast lists is not yet supported") + var ErrBusinessMessageLinkNotFound = errors.New("that business message link does not exist or has been revoked") + var ErrClientIsNil = errors.New("client is nil") + var ErrContactQRLinkNotFound = errors.New("that contact QR link does not exist or has been revoked") + var ErrFileLengthMismatch = errors.New("file length does not match") + var ErrGroupInviteLinkUnauthorized = errors.New("you don't have the permission to get the group's invite link") + var ErrGroupNotFound = errors.New("that group does not exist") + var ErrIQBadRequest error = &IQError + var ErrIQDisconnected = &DisconnectedError + var ErrIQForbidden error = &IQError + var ErrIQGone error = &IQError + var ErrIQInternalServerError error = &IQError + var ErrIQLocked error = &IQError + var ErrIQNotAcceptable error = &IQError + var ErrIQNotAllowed error = &IQError + var ErrIQNotAuthorized error = &IQError + var ErrIQNotFound error = &IQError + var ErrIQPartialServerError error = &IQError + var ErrIQRateOverLimit error = &IQError + var ErrIQResourceLimit error = &IQError + var ErrIQServiceUnavailable error = &IQError + var ErrIQTimedOut = errors.New("info query timed out") + var ErrInvalidDisappearingTimer = errors.New("invalid disappearing timer provided") + var ErrInvalidImageFormat = errors.New("the given data is not a valid image") + var ErrInvalidInlineBotID = errors.New("invalid inline bot ID") + var ErrInvalidMediaEncSHA256 = errors.New("hash of media ciphertext doesn't match") + var ErrInvalidMediaHMAC = errors.New("invalid media hmac") + var ErrInvalidMediaSHA256 = errors.New("hash of media plaintext doesn't match") + var ErrInviteLinkInvalid = errors.New("that group invite link is not valid") + var ErrInviteLinkRevoked = errors.New("that group invite link has been revoked") + var ErrMediaDownloadFailedWith403 = DownloadHTTPError + var ErrMediaDownloadFailedWith404 = DownloadHTTPError + var ErrMediaDownloadFailedWith410 = DownloadHTTPError + var ErrMediaNotAvailableOnPhone = errors.New("media no longer available on phone") + var ErrMessageTimedOut = errors.New("timed out waiting for message send response") + var ErrNoPrivacyToken = errors.New("no privacy token stored") + var ErrNoPushName = errors.New("can't send presence without PushName set") + var ErrNoSession = errors.New("can't encrypt message for device: no signal session established") + var ErrNoURLPresent = errors.New("no url present") + var ErrNotConnected = errors.New("websocket not connected") + var ErrNotEncryptedCommentMessage = errors.New("given message isn't an encrypted comment message") + var ErrNotEncryptedReactionMessage = errors.New("given message isn't an encrypted reaction message") + var ErrNotInGroup = errors.New("you're not participating in that group") + var ErrNotLoggedIn = errors.New("the store doesn't contain a device JID") + var ErrNotPollUpdateMessage = errors.New("given message isn't a poll update message") + var ErrNothingDownloadableFound = errors.New("didn't find any attachments in message") + var ErrOriginalMessageSecretNotFound = errors.New("original message secret key not found") + var ErrPairInvalidDeviceIdentityHMAC = errors.New("invalid device identity HMAC in pair success message") + var ErrPairInvalidDeviceSignature = errors.New("invalid device signature in pair success message") + var ErrPairRejectedLocally = errors.New("local PrePairCallback rejected pairing") + var ErrProfilePictureNotSet = errors.New("that user or group does not have a profile picture") + var ErrProfilePictureUnauthorized = errors.New("the user has hidden their profile picture from you") + var ErrQRAlreadyConnected = errors.New("GetQRChannel must be called before connecting") + var ErrQRStoreContainsID = errors.New(...) + var ErrRecipientADJID = errors.New("message recipient must be a user JID with no device part") + var ErrServerReturnedError = errors.New("server returned error") + var ErrTooShortFile = errors.New("file too short") + var ErrUnknownMediaRetryError = errors.New("unknown media retry error") + var ErrUnknownMediaType = errors.New("unknown media type") + var ErrUnknownServer = errors.New("can't send message to unknown server") + var EventAlreadyProcessed = errors.New("event was already processed") + var KeepAliveIntervalMax = 30 * time.Second + var KeepAliveIntervalMin = 20 * time.Second + var KeepAliveMaxFailTime = 3 * time.Minute + var KeepAliveResponseDeadline = 10 * time.Second + var QRChannelClientOutdated = QRChannelItem + var QRChannelErrUnexpectedEvent = QRChannelItem + var QRChannelScannedWithoutMultidevice = QRChannelItem + var QRChannelSuccess = QRChannelItem + var QRChannelTimeout = QRChannelItem + var RequestFromPhoneDelay = 5 * time.Second + var WACertPubKey = [...]byte + func DecryptMediaRetryNotification(evt *events.MediaRetry, mediaKey []byte) (*waMmsRetry.MediaRetryNotification, error) + func GenerateFacebookMessageID() int64 + func GenerateMessageID() types.MessageID + func GetLatestVersion(ctx context.Context, httpClient *http.Client) (*store.WAVersionContainer, error) + func HashPollOptions(optionNames []string) [][]byte + func ParseDisappearingTimerString(val string) (time.Duration, bool) + type APNsPushConfig struct + MsgIDEncKey []byte + Token string + VoIPToken string + func (apc *APNsPushConfig) GetPushConfigAttrs() waBinary.Attrs + type Client struct + AutoReconnectErrors int + AutoReconnectHook func(error) bool + AutoTrustIdentity bool + AutomaticMessageRerequestFromPhone bool + DisableLoginAutoReconnect bool + EmitAppStateEventsOnFullSync bool + EnableAutoReconnect bool + EnableDecryptedEventBuffer bool + ErrorOnSubscribePresenceWithoutToken bool + GetClientPayload func() *waWa6.ClientPayload + GetMessageForRetry func(requester, to types.JID, id types.MessageID) *waE2E.Message + InitialAutoReconnect bool + LastSuccessfulConnect time.Time + Log waLog.Logger + MessengerConfig *MessengerConfig + PrePairCallback func(jid types.JID, platform, businessName string) bool + PreRetryCallback func(receipt *events.Receipt, id types.MessageID, retryCount int, ...) bool + RefreshCAT func() error + Store *store.Device + SynchronousAck bool + func NewClient(deviceStore *store.Device, log waLog.Logger) *Client + func (cli *Client) AcceptTOSNotice(noticeID, stage string) error + func (cli *Client) AddEventHandler(handler EventHandler) uint32 + func (cli *Client) BuildEdit(chat types.JID, id types.MessageID, newContent *waE2E.Message) *waE2E.Message + func (cli *Client) BuildHistorySyncRequest(lastKnownMessageInfo *types.MessageInfo, count int) *waE2E.Message + func (cli *Client) BuildMessageKey(chat, sender types.JID, id types.MessageID) *waCommon.MessageKey + func (cli *Client) BuildPollCreation(name string, optionNames []string, selectableOptionCount int) *waE2E.Message + func (cli *Client) BuildPollVote(ctx context.Context, pollInfo *types.MessageInfo, optionNames []string) (*waE2E.Message, error) + func (cli *Client) BuildReaction(chat, sender types.JID, id types.MessageID, reaction string) *waE2E.Message + func (cli *Client) BuildRevoke(chat, sender types.JID, id types.MessageID) *waE2E.Message + func (cli *Client) BuildUnavailableMessageRequest(chat, sender types.JID, id string) *waE2E.Message + func (cli *Client) Connect() error + func (cli *Client) CreateGroup(req ReqCreateGroup) (*types.GroupInfo, error) + func (cli *Client) CreateNewsletter(params CreateNewsletterParams) (*types.NewsletterMetadata, error) + func (cli *Client) DangerousInternals() *DangerousInternalClient + func (cli *Client) DecryptComment(ctx context.Context, comment *events.Message) (*waE2E.Message, error) + func (cli *Client) DecryptPollVote(ctx context.Context, vote *events.Message) (*waE2E.PollVoteMessage, error) + func (cli *Client) DecryptReaction(ctx context.Context, reaction *events.Message) (*waE2E.ReactionMessage, error) + func (cli *Client) Disconnect() + func (cli *Client) Download(ctx context.Context, msg DownloadableMessage) ([]byte, error) + func (cli *Client) DownloadAny(ctx context.Context, msg *waE2E.Message) (data []byte, err error) + func (cli *Client) DownloadFB(ctx context.Context, transport *waMediaTransport.WAMediaTransport_Integral, ...) ([]byte, error) + func (cli *Client) DownloadFBToFile(ctx context.Context, transport *waMediaTransport.WAMediaTransport_Integral, ...) error + func (cli *Client) DownloadMediaWithPath(ctx context.Context, directPath string, encFileHash, fileHash, mediaKey []byte, ...) (data []byte, err error) + func (cli *Client) DownloadMediaWithPathToFile(ctx context.Context, directPath string, encFileHash, fileHash, mediaKey []byte, ...) error + func (cli *Client) DownloadThumbnail(ctx context.Context, msg DownloadableThumbnail) ([]byte, error) + func (cli *Client) DownloadToFile(ctx context.Context, msg DownloadableMessage, file File) error + func (cli *Client) EncryptComment(ctx context.Context, rootMsgInfo *types.MessageInfo, comment *waE2E.Message) (*waE2E.Message, error) + func (cli *Client) EncryptPollVote(ctx context.Context, pollInfo *types.MessageInfo, vote *waE2E.PollVoteMessage) (*waE2E.PollUpdateMessage, error) + func (cli *Client) EncryptReaction(ctx context.Context, rootMsgInfo *types.MessageInfo, ...) (*waE2E.EncReactionMessage, error) + func (cli *Client) FetchAppState(ctx context.Context, name appstate.WAPatchName, fullSync, onlyIfNotSynced bool) error + func (cli *Client) FollowNewsletter(jid types.JID) error + func (cli *Client) GenerateMessageID() types.MessageID + func (cli *Client) GetBlocklist() (*types.Blocklist, error) + func (cli *Client) GetBotListV2() ([]types.BotListInfo, error) + func (cli *Client) GetBotProfiles(botInfo []types.BotListInfo) ([]types.BotProfileInfo, error) + func (cli *Client) GetBusinessProfile(jid types.JID) (*types.BusinessProfile, error) + func (cli *Client) GetContactQRLink(revoke bool) (string, error) + func (cli *Client) GetGroupInfo(jid types.JID) (*types.GroupInfo, error) + func (cli *Client) GetGroupInfoFromInvite(jid, inviter types.JID, code string, expiration int64) (*types.GroupInfo, error) + func (cli *Client) GetGroupInfoFromLink(code string) (*types.GroupInfo, error) + func (cli *Client) GetGroupInviteLink(jid types.JID, reset bool) (string, error) + func (cli *Client) GetGroupRequestParticipants(jid types.JID) ([]types.GroupParticipantRequest, error) + func (cli *Client) GetJoinedGroups() ([]*types.GroupInfo, error) + func (cli *Client) GetLinkedGroupsParticipants(community types.JID) ([]types.JID, error) + func (cli *Client) GetNewsletterInfo(jid types.JID) (*types.NewsletterMetadata, error) + func (cli *Client) GetNewsletterInfoWithInvite(key string) (*types.NewsletterMetadata, error) + func (cli *Client) GetNewsletterMessageUpdates(jid types.JID, params *GetNewsletterUpdatesParams) ([]*types.NewsletterMessage, error) + func (cli *Client) GetNewsletterMessages(jid types.JID, params *GetNewsletterMessagesParams) ([]*types.NewsletterMessage, error) + func (cli *Client) GetPrivacySettings(ctx context.Context) (settings types.PrivacySettings) + func (cli *Client) GetProfilePictureInfo(jid types.JID, params *GetProfilePictureParams) (*types.ProfilePictureInfo, error) + func (cli *Client) GetQRChannel(ctx context.Context) (<-chan QRChannelItem, error) + func (cli *Client) GetServerPushNotificationConfig(ctx context.Context) (*waBinary.Node, error) + func (cli *Client) GetStatusPrivacy() ([]types.StatusPrivacy, error) + func (cli *Client) GetSubGroups(community types.JID) ([]*types.GroupLinkTarget, error) + func (cli *Client) GetSubscribedNewsletters() ([]*types.NewsletterMetadata, error) + func (cli *Client) GetUserDevices(jids []types.JID) ([]types.JID, error) + func (cli *Client) GetUserDevicesContext(ctx context.Context, jids []types.JID) ([]types.JID, error) + func (cli *Client) GetUserInfo(jids []types.JID) (map[types.JID]types.UserInfo, error) + func (cli *Client) IsConnected() bool + func (cli *Client) IsLoggedIn() bool + func (cli *Client) IsOnWhatsApp(phones []string) ([]types.IsOnWhatsAppResponse, error) + func (cli *Client) JoinGroupWithInvite(jid, inviter types.JID, code string, expiration int64) error + func (cli *Client) JoinGroupWithLink(code string) (types.JID, error) + func (cli *Client) LeaveGroup(jid types.JID) error + func (cli *Client) LinkGroup(parent, child types.JID) error + func (cli *Client) Logout(ctx context.Context) error + func (cli *Client) MarkRead(ids []types.MessageID, timestamp time.Time, chat, sender types.JID, ...) error + func (cli *Client) NewsletterMarkViewed(jid types.JID, serverIDs []types.MessageServerID) error + func (cli *Client) NewsletterSendReaction(jid types.JID, serverID types.MessageServerID, reaction string, ...) error + func (cli *Client) NewsletterSubscribeLiveUpdates(ctx context.Context, jid types.JID) (time.Duration, error) + func (cli *Client) NewsletterToggleMute(jid types.JID, mute bool) error + func (cli *Client) PairPhone(ctx context.Context, phone string, showPushNotification bool, ...) (string, error) + func (cli *Client) ParseWebMessage(chatJID types.JID, webMsg *waWeb.WebMessageInfo) (*events.Message, error) + func (cli *Client) RegisterForPushNotifications(ctx context.Context, pc PushConfig) error + func (cli *Client) RejectCall(callFrom types.JID, callID string) error + func (cli *Client) RemoveEventHandler(id uint32) bool + func (cli *Client) RemoveEventHandlers() + func (cli *Client) ResolveBusinessMessageLink(code string) (*types.BusinessMessageLinkTarget, error) + func (cli *Client) ResolveContactQRLink(code string) (*types.ContactQRLinkTarget, error) + func (cli *Client) RevokeMessage(chat types.JID, id types.MessageID) (SendResponse, error) + func (cli *Client) SendAppState(ctx context.Context, patch appstate.PatchInfo) error + func (cli *Client) SendChatPresence(jid types.JID, state types.ChatPresence, media types.ChatPresenceMedia) error + func (cli *Client) SendFBMessage(ctx context.Context, to types.JID, message armadillo.RealMessageApplicationSub, ...) (resp SendResponse, err error) + func (cli *Client) SendMediaRetryReceipt(message *types.MessageInfo, mediaKey []byte) error + func (cli *Client) SendMessage(ctx context.Context, to types.JID, message *waE2E.Message, ...) (resp SendResponse, err error) + func (cli *Client) SendPresence(state types.Presence) error + func (cli *Client) SetDefaultDisappearingTimer(timer time.Duration) (err error) + func (cli *Client) SetDisappearingTimer(chat types.JID, timer time.Duration) (err error) + func (cli *Client) SetForceActiveDeliveryReceipts(active bool) + func (cli *Client) SetGroupAnnounce(jid types.JID, announce bool) error + func (cli *Client) SetGroupDescription(jid types.JID, description string) error + func (cli *Client) SetGroupJoinApprovalMode(jid types.JID, mode bool) error + func (cli *Client) SetGroupLocked(jid types.JID, locked bool) error + func (cli *Client) SetGroupMemberAddMode(jid types.JID, mode types.GroupMemberAddMode) error + func (cli *Client) SetGroupName(jid types.JID, name string) error + func (cli *Client) SetGroupPhoto(jid types.JID, avatar []byte) (string, error) + func (cli *Client) SetGroupTopic(jid types.JID, previousID, newID, topic string) error + func (cli *Client) SetPassive(ctx context.Context, passive bool) error + func (cli *Client) SetPrivacySetting(ctx context.Context, name types.PrivacySettingType, value types.PrivacySetting) (settings types.PrivacySettings, err error) + func (cli *Client) SetProxy(proxy Proxy, opts ...SetProxyOptions) + func (cli *Client) SetProxyAddress(addr string, opts ...SetProxyOptions) error + func (cli *Client) SetSOCKSProxy(px proxy.Dialer, opts ...SetProxyOptions) + func (cli *Client) SetStatusMessage(msg string) error + func (cli *Client) SetWSDialer(dialer *websocket.Dialer) + func (cli *Client) StoreLIDPNMapping(ctx context.Context, first, second types.JID) + func (cli *Client) SubscribePresence(jid types.JID) error + func (cli *Client) ToggleProxyOnlyForLogin(only bool) + func (cli *Client) TryFetchPrivacySettings(ctx context.Context, ignoreCache bool) (*types.PrivacySettings, error) + func (cli *Client) UnfollowNewsletter(jid types.JID) error + func (cli *Client) UnlinkGroup(parent, child types.JID) error + func (cli *Client) UpdateBlocklist(jid types.JID, action events.BlocklistChangeAction) (*types.Blocklist, error) + func (cli *Client) UpdateGroupParticipants(jid types.JID, participantChanges []types.JID, action ParticipantChange) ([]types.GroupParticipant, error) + func (cli *Client) UpdateGroupRequestParticipants(jid types.JID, participantChanges []types.JID, action ParticipantRequestChange) ([]types.GroupParticipant, error) + func (cli *Client) Upload(ctx context.Context, plaintext []byte, appInfo MediaType) (resp UploadResponse, err error) + func (cli *Client) UploadNewsletter(ctx context.Context, data []byte, appInfo MediaType) (resp UploadResponse, err error) + func (cli *Client) UploadNewsletterReader(ctx context.Context, data io.ReadSeeker, appInfo MediaType) (resp UploadResponse, err error) + func (cli *Client) UploadReader(ctx context.Context, plaintext io.Reader, tempFile io.ReadWriteSeeker, ...) (resp UploadResponse, err error) + func (cli *Client) WaitForConnection(timeout time.Duration) bool + type CreateNewsletterParams struct + Description string + Name string + Picture []byte + type DangerousInfoQuery = infoQuery + type DangerousInfoQueryType = infoQueryType + type DangerousInternalClient struct + func (int *DangerousInternalClient) AddRecentMessage(to types.JID, id types.MessageID, wa *waE2E.Message, ...) + func (int *DangerousInternalClient) AutoReconnect() + func (int *DangerousInternalClient) BufferedDecrypt(ctx context.Context, ciphertext []byte, serverTimestamp time.Time, ...) (plaintext []byte, ciphertextHash [32]byte, err error) + func (int *DangerousInternalClient) CancelDelayedRequestFromPhone(msgID types.MessageID) + func (int *DangerousInternalClient) CancelResponse(reqID string, ch chan *waBinary.Node) + func (int *DangerousInternalClient) ClearDelayedMessageRequests() + func (int *DangerousInternalClient) ClearResponseWaiters(node *waBinary.Node) + func (int *DangerousInternalClient) ClearUntrustedIdentity(ctx context.Context, target types.JID) error + func (int *DangerousInternalClient) CloseSocketWaitChan() + func (int *DangerousInternalClient) DecryptBotMessage(ctx context.Context, messageSecret []byte, msMsg messageEncryptedSecret, ...) ([]byte, error) + func (int *DangerousInternalClient) DecryptDM(ctx context.Context, child *waBinary.Node, from types.JID, isPreKey bool, ...) ([]byte, *[32]byte, error) + func (int *DangerousInternalClient) DecryptGroupMsg(ctx context.Context, child *waBinary.Node, from types.JID, chat types.JID, ...) ([]byte, *[32]byte, error) + func (int *DangerousInternalClient) DecryptMessages(ctx context.Context, info *types.MessageInfo, node *waBinary.Node) + func (int *DangerousInternalClient) DecryptMsgSecret(ctx context.Context, msg *events.Message, useCase MsgSecretType, ...) ([]byte, error) + func (int *DangerousInternalClient) DelayedRequestMessageFromPhone(info *types.MessageInfo) + func (int *DangerousInternalClient) DispatchAppState(ctx context.Context, mutation appstate.Mutation, fullSync bool, ...) + func (int *DangerousInternalClient) DispatchEvent(evt any) + func (int *DangerousInternalClient) DoHandshake(fs *socket.FrameSocket, ephemeralKP keys.KeyPair) error + func (int *DangerousInternalClient) DoMediaDownloadRequest(ctx context.Context, url string) (*http.Response, error) + func (int *DangerousInternalClient) DownloadAndDecrypt(ctx context.Context, url string, mediaKey []byte, appInfo MediaType, ...) (data []byte, err error) + func (int *DangerousInternalClient) DownloadAndDecryptToFile(ctx context.Context, url string, mediaKey []byte, appInfo MediaType, ...) error + func (int *DangerousInternalClient) DownloadEncryptedMedia(ctx context.Context, url string, checksum []byte) (file, mac []byte, err error) + func (int *DangerousInternalClient) DownloadEncryptedMediaToFile(ctx context.Context, url string, checksum []byte, file File) ([]byte, error) + func (int *DangerousInternalClient) DownloadExternalAppStateBlob(ctx context.Context, ref *waServerSync.ExternalBlobReference) ([]byte, error) + func (int *DangerousInternalClient) DownloadMedia(ctx context.Context, url string) ([]byte, error) + func (int *DangerousInternalClient) DownloadMediaToFile(ctx context.Context, url string, file io.Writer) (int64, []byte, error) + func (int *DangerousInternalClient) DownloadPossiblyEncryptedMediaWithRetries(ctx context.Context, url string, checksum []byte) (file, mac []byte, err error) + func (int *DangerousInternalClient) DownloadPossiblyEncryptedMediaWithRetriesToFile(ctx context.Context, url string, checksum []byte, file File) (mac []byte, err error) + func (int *DangerousInternalClient) EncryptMessageForDevice(ctx context.Context, plaintext []byte, to types.JID, bundle *prekey.Bundle, ...) (*waBinary.Node, bool, error) + func (int *DangerousInternalClient) EncryptMessageForDeviceAndWrap(ctx context.Context, plaintext []byte, ...) (*waBinary.Node, bool, error) + func (int *DangerousInternalClient) EncryptMessageForDeviceAndWrapV3(ctx context.Context, payload *waMsgTransport.MessageTransport_Payload, ...) (*waBinary.Node, error) + func (int *DangerousInternalClient) EncryptMessageForDeviceV3(ctx context.Context, payload *waMsgTransport.MessageTransport_Payload, ...) (*waBinary.Node, error) + func (int *DangerousInternalClient) EncryptMessageForDevices(ctx context.Context, allDevices []types.JID, id string, ...) ([]waBinary.Node, bool) + func (int *DangerousInternalClient) EncryptMessageForDevicesV3(ctx context.Context, allDevices []types.JID, ownID types.JID, id string, ...) []waBinary.Node + func (int *DangerousInternalClient) EncryptMsgSecret(ctx context.Context, ownID, chat, origSender types.JID, ...) (ciphertext, iv []byte, err error) + func (int *DangerousInternalClient) ExpectDisconnect() + func (int *DangerousInternalClient) FetchAppStatePatches(ctx context.Context, name appstate.WAPatchName, fromVersion uint64, ...) (*appstate.PatchList, error) + func (int *DangerousInternalClient) FetchPreKeys(ctx context.Context, users []types.JID) (map[types.JID]preKeyResp, error) + func (int *DangerousInternalClient) FilterContacts(mutations []appstate.Mutation) ([]appstate.Mutation, []store.ContactEntry) + func (int *DangerousInternalClient) GenerateRequestID() string + func (int *DangerousInternalClient) GetBroadcastListParticipants(ctx context.Context, jid types.JID) ([]types.JID, error) + func (int *DangerousInternalClient) GetCachedGroupData(ctx context.Context, jid types.JID) (*groupMetaCache, error) + func (int *DangerousInternalClient) GetFBIDDevices(ctx context.Context, jids []types.JID) ([]types.JID, error) + func (int *DangerousInternalClient) GetFBIDDevicesInternal(ctx context.Context, jids []types.JID) (*waBinary.Node, error) + func (int *DangerousInternalClient) GetGroupInfo(ctx context.Context, jid types.JID, lockParticipantCache bool) (*types.GroupInfo, error) + func (int *DangerousInternalClient) GetMessageContent(baseNode waBinary.Node, message *waE2E.Message, msgAttrs waBinary.Attrs, ...) []waBinary.Node + func (int *DangerousInternalClient) GetMessageForRetry(ctx context.Context, receipt *events.Receipt, messageID types.MessageID) (RecentMessage, error) + func (int *DangerousInternalClient) GetNewsletterInfo(input map[string]any, fetchViewerMeta bool) (*types.NewsletterMetadata, error) + func (int *DangerousInternalClient) GetOwnID() types.JID + func (int *DangerousInternalClient) GetOwnLID() types.JID + func (int *DangerousInternalClient) GetRecentMessage(to types.JID, id types.MessageID) RecentMessage + func (int *DangerousInternalClient) GetServerPreKeyCount(ctx context.Context) (int, error) + func (int *DangerousInternalClient) GetSocketWaitChan() <-chan struct{} + func (int *DangerousInternalClient) GetStatusBroadcastRecipients(ctx context.Context) ([]types.JID, error) + func (int *DangerousInternalClient) HandleAccountSyncNotification(ctx context.Context, node *waBinary.Node) + func (int *DangerousInternalClient) HandleAppStateNotification(ctx context.Context, node *waBinary.Node) + func (int *DangerousInternalClient) HandleAppStateSyncKeyShare(ctx context.Context, keys *waE2E.AppStateSyncKeyShare) + func (int *DangerousInternalClient) HandleBlocklist(ctx context.Context, node *waBinary.Node) + func (int *DangerousInternalClient) HandleCallEvent(node *waBinary.Node) + func (int *DangerousInternalClient) HandleChatState(node *waBinary.Node) + func (int *DangerousInternalClient) HandleCodePairNotification(ctx context.Context, parentNode *waBinary.Node) error + func (int *DangerousInternalClient) HandleConnectFailure(node *waBinary.Node) + func (int *DangerousInternalClient) HandleConnectSuccess(node *waBinary.Node) + func (int *DangerousInternalClient) HandleDecryptedArmadillo(ctx context.Context, info *types.MessageInfo, decrypted []byte, retryCount int) bool + func (int *DangerousInternalClient) HandleDecryptedMessage(ctx context.Context, info *types.MessageInfo, msg *waE2E.Message, ...) + func (int *DangerousInternalClient) HandleDeviceNotification(ctx context.Context, node *waBinary.Node) + func (int *DangerousInternalClient) HandleEncryptNotification(ctx context.Context, node *waBinary.Node) + func (int *DangerousInternalClient) HandleEncryptedMessage(node *waBinary.Node) + func (int *DangerousInternalClient) HandleFBDeviceNotification(ctx context.Context, node *waBinary.Node) + func (int *DangerousInternalClient) HandleFrame(data []byte) + func (int *DangerousInternalClient) HandleGroupedReceipt(partialReceipt events.Receipt, participants *waBinary.Node) + func (int *DangerousInternalClient) HandleHistoricalPushNames(ctx context.Context, names []*waHistorySync.Pushname) + func (int *DangerousInternalClient) HandleHistorySyncNotification(ctx context.Context, notif *waE2E.HistorySyncNotification) + func (int *DangerousInternalClient) HandleHistorySyncNotificationLoop() + func (int *DangerousInternalClient) HandleIB(node *waBinary.Node) + func (int *DangerousInternalClient) HandleIQ(node *waBinary.Node) + func (int *DangerousInternalClient) HandleMediaRetryNotification(ctx context.Context, node *waBinary.Node) + func (int *DangerousInternalClient) HandleMexNotification(ctx context.Context, node *waBinary.Node) + func (int *DangerousInternalClient) HandleNewsletterNotification(ctx context.Context, node *waBinary.Node) + func (int *DangerousInternalClient) HandleNotification(node *waBinary.Node) + func (int *DangerousInternalClient) HandleOwnDevicesNotification(ctx context.Context, node *waBinary.Node) + func (int *DangerousInternalClient) HandlePair(ctx context.Context, deviceIdentityBytes []byte, ...) error + func (int *DangerousInternalClient) HandlePairDevice(node *waBinary.Node) + func (int *DangerousInternalClient) HandlePairSuccess(node *waBinary.Node) + func (int *DangerousInternalClient) HandlePictureNotification(ctx context.Context, node *waBinary.Node) + func (int *DangerousInternalClient) HandlePlaceholderResendResponse(msg *waE2E.PeerDataOperationRequestResponseMessage) + func (int *DangerousInternalClient) HandlePlaintextMessage(ctx context.Context, info *types.MessageInfo, node *waBinary.Node) + func (int *DangerousInternalClient) HandlePresence(node *waBinary.Node) + func (int *DangerousInternalClient) HandlePrivacySettingsNotification(ctx context.Context, privacyNode *waBinary.Node) + func (int *DangerousInternalClient) HandlePrivacyTokenNotification(ctx context.Context, node *waBinary.Node) + func (int *DangerousInternalClient) HandleProtocolMessage(ctx context.Context, info *types.MessageInfo, msg *waE2E.Message) + func (int *DangerousInternalClient) HandleReceipt(node *waBinary.Node) + func (int *DangerousInternalClient) HandleRetryReceipt(ctx context.Context, receipt *events.Receipt, node *waBinary.Node) error + func (int *DangerousInternalClient) HandleSenderKeyDistributionMessage(ctx context.Context, chat, from types.JID, axolotlSKDM []byte) + func (int *DangerousInternalClient) HandleStatusNotification(ctx context.Context, node *waBinary.Node) + func (int *DangerousInternalClient) HandleStreamError(node *waBinary.Node) + func (int *DangerousInternalClient) HandlerQueueLoop(ctx context.Context) + func (int *DangerousInternalClient) IsExpectedDisconnect() bool + func (int *DangerousInternalClient) KeepAliveLoop(ctx context.Context) + func (int *DangerousInternalClient) MakeDeviceIdentityNode() waBinary.Node + func (int *DangerousInternalClient) MakeQRData(ref string) string + func (int *DangerousInternalClient) MaybeDeferredAck(node *waBinary.Node) func() + func (int *DangerousInternalClient) MigrateSessionStore(ctx context.Context, pn, lid types.JID) + func (int *DangerousInternalClient) OnDisconnect(ns *socket.NoiseSocket, remote bool) + func (int *DangerousInternalClient) ParseBlocklist(node *waBinary.Node) *types.Blocklist + func (int *DangerousInternalClient) ParseBusinessProfile(node *waBinary.Node) (*types.BusinessProfile, error) + func (int *DangerousInternalClient) ParseGroupChange(node *waBinary.Node) (*events.GroupInfo, error) + func (int *DangerousInternalClient) ParseGroupCreate(parentNode, node *waBinary.Node) (*events.JoinedGroup, error) + func (int *DangerousInternalClient) ParseGroupNode(groupNode *waBinary.Node) (*types.GroupInfo, error) + func (int *DangerousInternalClient) ParseGroupNotification(node *waBinary.Node) (any, error) + func (int *DangerousInternalClient) ParseMessageInfo(node *waBinary.Node) (*types.MessageInfo, error) + func (int *DangerousInternalClient) ParseMessageSource(node *waBinary.Node, requireParticipant bool) (source types.MessageSource, err error) + func (int *DangerousInternalClient) ParseMsgBotInfo(node waBinary.Node) (botInfo types.MsgBotInfo, err error) + func (int *DangerousInternalClient) ParseMsgMetaInfo(node waBinary.Node) (metaInfo types.MsgMetaInfo, err error) + func (int *DangerousInternalClient) ParseNewsletterMessages(node *waBinary.Node) []*types.NewsletterMessage + func (int *DangerousInternalClient) ParsePrivacySettings(privacyNode *waBinary.Node, settings *types.PrivacySettings) *events.PrivacySettings + func (int *DangerousInternalClient) ParseReceipt(node *waBinary.Node) (*events.Receipt, error) + func (int *DangerousInternalClient) PrepareMessageNode(ctx context.Context, to types.JID, id types.MessageID, message *waE2E.Message, ...) (*waBinary.Node, []types.JID, error) + func (int *DangerousInternalClient) PrepareMessageNodeV3(ctx context.Context, to, ownID types.JID, id types.MessageID, ...) (*waBinary.Node, []types.JID, error) + func (int *DangerousInternalClient) PreparePeerMessageNode(ctx context.Context, to types.JID, id types.MessageID, message *waE2E.Message, ...) (*waBinary.Node, error) + func (int *DangerousInternalClient) ProcessProtocolParts(ctx context.Context, info *types.MessageInfo, msg *waE2E.Message) + func (int *DangerousInternalClient) QueryMediaConn(ctx context.Context) (*MediaConn, error) + func (int *DangerousInternalClient) RawUpload(ctx context.Context, dataToUpload io.Reader, uploadSize uint64, ...) error + func (int *DangerousInternalClient) ReceiveResponse(data *waBinary.Node) bool + func (int *DangerousInternalClient) RefreshMediaConn(ctx context.Context, force bool) (*MediaConn, error) + func (int *DangerousInternalClient) RequestAppStateKeys(ctx context.Context, rawKeyIDs [][]byte) + func (int *DangerousInternalClient) RequestMissingAppStateKeys(ctx context.Context, patches *appstate.PatchList) + func (int *DangerousInternalClient) ResetExpectedDisconnect() + func (int *DangerousInternalClient) RetryFrame(reqType, id string, data []byte, origResp *waBinary.Node, ctx context.Context, ...) (*waBinary.Node, error) + func (int *DangerousInternalClient) SendAck(node *waBinary.Node) + func (int *DangerousInternalClient) SendDM(ctx context.Context, ownID, to types.JID, id types.MessageID, ...) ([]byte, error) + func (int *DangerousInternalClient) SendDMV3(ctx context.Context, to, ownID types.JID, id types.MessageID, ...) ([]byte, string, error) + func (int *DangerousInternalClient) SendGroup(ctx context.Context, to types.JID, participants []types.JID, ...) (string, []byte, error) + func (int *DangerousInternalClient) SendGroupIQ(ctx context.Context, iqType infoQueryType, jid types.JID, ...) (*waBinary.Node, error) + func (int *DangerousInternalClient) SendGroupV3(ctx context.Context, to, ownID types.JID, id types.MessageID, ...) (string, []byte, error) + func (int *DangerousInternalClient) SendIQ(query infoQuery) (*waBinary.Node, error) + func (int *DangerousInternalClient) SendIQAsync(query infoQuery) (<-chan *waBinary.Node, error) + func (int *DangerousInternalClient) SendIQAsyncAndGetData(query *infoQuery) (<-chan *waBinary.Node, []byte, error) + func (int *DangerousInternalClient) SendKeepAlive(ctx context.Context) (isSuccess, shouldContinue bool) + func (int *DangerousInternalClient) SendMessageReceipt(info *types.MessageInfo) + func (int *DangerousInternalClient) SendMexIQ(ctx context.Context, queryID string, variables any) (json.RawMessage, error) + func (int *DangerousInternalClient) SendNewsletter(to types.JID, id types.MessageID, message *waE2E.Message, mediaID string, ...) ([]byte, error) + func (int *DangerousInternalClient) SendNode(node waBinary.Node) error + func (int *DangerousInternalClient) SendNodeAndGetData(node waBinary.Node) ([]byte, error) + func (int *DangerousInternalClient) SendPairError(id string, code int, text string) + func (int *DangerousInternalClient) SendPeerMessage(ctx context.Context, to types.JID, id types.MessageID, message *waE2E.Message, ...) ([]byte, error) + func (int *DangerousInternalClient) SendProtocolMessageReceipt(id types.MessageID, msgType types.ReceiptType) + func (int *DangerousInternalClient) SendRetryReceipt(ctx context.Context, node *waBinary.Node, info *types.MessageInfo, ...) + func (int *DangerousInternalClient) ShouldRecreateSession(ctx context.Context, retryCount int, jid types.JID) (reason string, recreate bool) + func (int *DangerousInternalClient) StoreHistoricalMessageSecrets(ctx context.Context, conversations []*waHistorySync.Conversation) + func (int *DangerousInternalClient) StoreMessageSecret(ctx context.Context, info *types.MessageInfo, msg *waE2E.Message) + func (int *DangerousInternalClient) TryHandleCodePairNotification(ctx context.Context, parentNode *waBinary.Node) + func (int *DangerousInternalClient) UnlockedDisconnect() + func (int *DangerousInternalClient) UpdateBusinessName(ctx context.Context, user types.JID, messageInfo *types.MessageInfo, ...) + func (int *DangerousInternalClient) UpdateGroupParticipantCache(evt *events.GroupInfo) + func (int *DangerousInternalClient) UpdatePushName(ctx context.Context, user types.JID, messageInfo *types.MessageInfo, ...) + func (int *DangerousInternalClient) UploadPreKeys(ctx context.Context) + func (int *DangerousInternalClient) Usync(ctx context.Context, jids []types.JID, mode, context string, ...) (*waBinary.Node, error) + func (int *DangerousInternalClient) WaitResponse(reqID string) chan *waBinary.Node + type DisconnectedError struct + Action string + Node *waBinary.Node + func (err *DisconnectedError) Error() string + func (err *DisconnectedError) Is(other error) bool + type DownloadHTTPError struct + func (dhe DownloadHTTPError) Error() string + func (dhe DownloadHTTPError) Is(other error) bool + type DownloadableMessage interface + GetDirectPath func() string + GetFileEncSHA256 func() []byte + GetFileSHA256 func() []byte + GetMediaKey func() []byte + type DownloadableThumbnail interface + GetMediaKey func() []byte + GetThumbnailDirectPath func() string + GetThumbnailEncSHA256 func() []byte + GetThumbnailSHA256 func() []byte + type ElementMissingError struct + In string + Tag string + func (eme *ElementMissingError) Error() string + type EventHandler func(evt any) + type FCMPushConfig struct + Token string + func (fpc *FCMPushConfig) GetPushConfigAttrs() waBinary.Attrs + type File interface + Stat func() (os.FileInfo, error) + Truncate func(size int64) error + type GetNewsletterMessagesParams struct + Before types.MessageServerID + Count int + type GetNewsletterUpdatesParams struct + After types.MessageServerID + Count int + Since time.Time + type GetProfilePictureParams struct + ExistingID string + IsCommunity bool + Preview bool + type IQError struct + Code int + ErrorNode *waBinary.Node + RawNode *waBinary.Node + Text string + func (iqe *IQError) Error() string + func (iqe *IQError) Is(other error) bool + type MediaConn struct + Auth string + AuthTTL int + FetchedAt time.Time + Hosts []MediaConnHost + MaxBuckets int + TTL int + func (mc *MediaConn) Expiry() time.Time + type MediaConnHost struct + Hostname string + type MediaType string + const MediaAppState + const MediaAudio + const MediaDocument + const MediaHistory + const MediaImage + const MediaLinkThumbnail + const MediaVideo + func GetMediaType(msg DownloadableMessage) MediaType + type MediaTypeable interface + GetMediaType func() MediaType + type MessageDebugTimings struct + GetDevices time.Duration + GetParticipants time.Duration + GroupEncrypt time.Duration + Marshal time.Duration + PeerEncrypt time.Duration + Queue time.Duration + Resp time.Duration + Retry time.Duration + Send time.Duration + func (mdt MessageDebugTimings) MarshalZerologObject(evt *zerolog.Event) + type MessengerConfig struct + BaseURL string + UserAgent string + WebsocketURL string + type MsgSecretType string + const EncSecretBotMsg + const EncSecretComment + const EncSecretEventEdit + const EncSecretEventResponse + const EncSecretPollVote + const EncSecretReaction + const EncSecretReportToken + type PairClientType int + const PairClientChrome + const PairClientEdge + const PairClientElectron + const PairClientFirefox + const PairClientIE + const PairClientOpera + const PairClientOtherWebClient + const PairClientSafari + const PairClientUWP + const PairClientUnknown + type PairDatabaseError struct + DBErr error + Message string + func (err *PairDatabaseError) Error() string + func (err *PairDatabaseError) Unwrap() error + type PairProtoError struct + Message string + ProtoErr error + func (err *PairProtoError) Error() string + func (err *PairProtoError) Unwrap() error + type ParticipantChange string + const ParticipantChangeAdd + const ParticipantChangeDemote + const ParticipantChangePromote + const ParticipantChangeRemove + type ParticipantRequestChange string + const ParticipantChangeApprove + const ParticipantChangeReject + type Proxy = func(*http.Request) (*url.URL, error) + type PushConfig interface + GetPushConfigAttrs func() waBinary.Attrs + type QRChannelItem struct + Code string + Error error + Event string + Timeout time.Duration + type RecentMessage struct + func (rm RecentMessage) IsEmpty() bool + type ReqCreateGroup struct + CreateKey types.MessageID + Name string + Participants []types.JID + type SendRequestExtra struct + ID types.MessageID + InlineBotJID types.JID + MediaHandle string + Meta *types.MsgMetaInfo + Peer bool + Timeout time.Duration + type SendResponse struct + DebugTimings MessageDebugTimings + ID types.MessageID + Sender types.JID + ServerID types.MessageServerID + Timestamp time.Time + type SetProxyOptions struct + NoMedia bool + NoWebsocket bool + type UploadResponse struct + DirectPath string + FileEncSHA256 []byte + FileLength uint64 + FileSHA256 []byte + Handle string + MediaKey []byte + ObjectID string + URL string + type UsyncQueryExtras struct + BotListInfo []types.BotListInfo + type WebPushConfig struct + Auth []byte + Endpoint string + P256DH []byte + func (wpc *WebPushConfig) GetPushConfigAttrs() waBinary.Attrs