internals.go 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736
  1. // GENERATED BY internals_generate.go; DO NOT EDIT
  2. //go:generate go run internals_generate.go
  3. //go:generate goimports -local go.mau.fi/whatsmeow -w internals.go
  4. package whatsmeow
  5. import (
  6. "context"
  7. "encoding/json"
  8. "io"
  9. "net/http"
  10. "time"
  11. "go.mau.fi/libsignal/keys/prekey"
  12. "go.mau.fi/whatsmeow/appstate"
  13. waBinary "go.mau.fi/whatsmeow/binary"
  14. "go.mau.fi/whatsmeow/proto/waCommon"
  15. "go.mau.fi/whatsmeow/proto/waE2E"
  16. "go.mau.fi/whatsmeow/proto/waHistorySync"
  17. "go.mau.fi/whatsmeow/proto/waMsgApplication"
  18. "go.mau.fi/whatsmeow/proto/waMsgTransport"
  19. "go.mau.fi/whatsmeow/proto/waServerSync"
  20. "go.mau.fi/whatsmeow/socket"
  21. "go.mau.fi/whatsmeow/store"
  22. "go.mau.fi/whatsmeow/types"
  23. "go.mau.fi/whatsmeow/types/events"
  24. "go.mau.fi/whatsmeow/util/keys"
  25. )
  26. type DangerousInternalClient struct {
  27. c *Client
  28. }
  29. // DangerousInternals allows access to all unexported methods in Client.
  30. //
  31. // Deprecated: dangerous
  32. func (cli *Client) DangerousInternals() *DangerousInternalClient {
  33. return &DangerousInternalClient{cli}
  34. }
  35. type DangerousInfoQuery = infoQuery
  36. type DangerousInfoQueryType = infoQueryType
  37. func (int *DangerousInternalClient) FetchAppState(ctx context.Context, name appstate.WAPatchName, fullSync, onlyIfNotSynced bool) ([]any, error) {
  38. return int.c.fetchAppState(ctx, name, fullSync, onlyIfNotSynced)
  39. }
  40. func (int *DangerousInternalClient) ApplyAppStatePatches(ctx context.Context, name appstate.WAPatchName, state appstate.HashState, patches *appstate.PatchList, fullSync bool, eventsToDispatch *[]any) (appstate.HashState, error) {
  41. return int.c.applyAppStatePatches(ctx, name, state, patches, fullSync, eventsToDispatch)
  42. }
  43. func (int *DangerousInternalClient) FilterContacts(mutations []appstate.Mutation) ([]appstate.Mutation, []store.ContactEntry) {
  44. return int.c.filterContacts(mutations)
  45. }
  46. func (int *DangerousInternalClient) DispatchAppState(ctx context.Context, mutation appstate.Mutation, fullSync bool) (eventToDispatch any) {
  47. return int.c.dispatchAppState(ctx, mutation, fullSync)
  48. }
  49. func (int *DangerousInternalClient) DownloadExternalAppStateBlob(ctx context.Context, ref *waServerSync.ExternalBlobReference) ([]byte, error) {
  50. return int.c.downloadExternalAppStateBlob(ctx, ref)
  51. }
  52. func (int *DangerousInternalClient) FetchAppStatePatches(ctx context.Context, name appstate.WAPatchName, fromVersion uint64, snapshot bool) (*appstate.PatchList, error) {
  53. return int.c.fetchAppStatePatches(ctx, name, fromVersion, snapshot)
  54. }
  55. func (int *DangerousInternalClient) RequestMissingAppStateKeys(ctx context.Context, patches *appstate.PatchList) {
  56. int.c.requestMissingAppStateKeys(ctx, patches)
  57. }
  58. func (int *DangerousInternalClient) RequestAppStateKeys(ctx context.Context, rawKeyIDs [][]byte) {
  59. int.c.requestAppStateKeys(ctx, rawKeyIDs)
  60. }
  61. func (int *DangerousInternalClient) SendAppState(ctx context.Context, patch appstate.PatchInfo, allowRetry bool) error {
  62. return int.c.sendAppState(ctx, patch, allowRetry)
  63. }
  64. func (int *DangerousInternalClient) HandleDecryptedArmadillo(ctx context.Context, info *types.MessageInfo, decrypted []byte, retryCount int) (handlerFailed, protobufFailed bool) {
  65. return int.c.handleDecryptedArmadillo(ctx, info, decrypted, retryCount)
  66. }
  67. func (int *DangerousInternalClient) GetBroadcastListParticipants(ctx context.Context, jid types.JID) ([]types.JID, error) {
  68. return int.c.getBroadcastListParticipants(ctx, jid)
  69. }
  70. func (int *DangerousInternalClient) GetStatusBroadcastRecipients(ctx context.Context) ([]types.JID, error) {
  71. return int.c.getStatusBroadcastRecipients(ctx)
  72. }
  73. func (int *DangerousInternalClient) HandleCallEvent(ctx context.Context, node *waBinary.Node) {
  74. int.c.handleCallEvent(ctx, node)
  75. }
  76. func (int *DangerousInternalClient) SetTransport(transport *http.Transport, opt SetProxyOptions) {
  77. int.c.setTransport(transport, opt)
  78. }
  79. func (int *DangerousInternalClient) GetSocketWaitChan() <-chan struct{} {
  80. return int.c.getSocketWaitChan()
  81. }
  82. func (int *DangerousInternalClient) CloseSocketWaitChan() {
  83. int.c.closeSocketWaitChan()
  84. }
  85. func (int *DangerousInternalClient) GetOwnID() types.JID {
  86. return int.c.getOwnID()
  87. }
  88. func (int *DangerousInternalClient) GetOwnLID() types.JID {
  89. return int.c.getOwnLID()
  90. }
  91. func (int *DangerousInternalClient) Connect(ctx context.Context) error {
  92. return int.c.connect(ctx)
  93. }
  94. func (int *DangerousInternalClient) UnlockedConnect(ctx context.Context) error {
  95. return int.c.unlockedConnect(ctx)
  96. }
  97. func (int *DangerousInternalClient) OnDisconnect(ctx context.Context, ns *socket.NoiseSocket, remote bool) {
  98. int.c.onDisconnect(ctx, ns, remote)
  99. }
  100. func (int *DangerousInternalClient) ExpectDisconnect() {
  101. int.c.expectDisconnect()
  102. }
  103. func (int *DangerousInternalClient) ResetExpectedDisconnect() {
  104. int.c.resetExpectedDisconnect()
  105. }
  106. func (int *DangerousInternalClient) IsExpectedDisconnect() bool {
  107. return int.c.isExpectedDisconnect()
  108. }
  109. func (int *DangerousInternalClient) AutoReconnect(ctx context.Context) {
  110. int.c.autoReconnect(ctx)
  111. }
  112. func (int *DangerousInternalClient) UnlockedDisconnect() {
  113. int.c.unlockedDisconnect()
  114. }
  115. func (int *DangerousInternalClient) HandleFrame(ctx context.Context, data []byte) {
  116. int.c.handleFrame(ctx, data)
  117. }
  118. func (int *DangerousInternalClient) HandlerQueueLoop(evtCtx, connCtx context.Context) {
  119. int.c.handlerQueueLoop(evtCtx, connCtx)
  120. }
  121. func (int *DangerousInternalClient) SendNodeAndGetData(ctx context.Context, node waBinary.Node) ([]byte, error) {
  122. return int.c.sendNodeAndGetData(ctx, node)
  123. }
  124. func (int *DangerousInternalClient) SendNode(ctx context.Context, node waBinary.Node) error {
  125. return int.c.sendNode(ctx, node)
  126. }
  127. func (int *DangerousInternalClient) DispatchEvent(evt any) (handlerFailed bool) {
  128. return int.c.dispatchEvent(evt)
  129. }
  130. func (int *DangerousInternalClient) HandleStreamError(ctx context.Context, node *waBinary.Node) {
  131. int.c.handleStreamError(ctx, node)
  132. }
  133. func (int *DangerousInternalClient) HandleIB(ctx context.Context, node *waBinary.Node) {
  134. int.c.handleIB(ctx, node)
  135. }
  136. func (int *DangerousInternalClient) HandleConnectFailure(ctx context.Context, node *waBinary.Node) {
  137. int.c.handleConnectFailure(ctx, node)
  138. }
  139. func (int *DangerousInternalClient) HandleConnectSuccess(ctx context.Context, node *waBinary.Node) {
  140. int.c.handleConnectSuccess(ctx, node)
  141. }
  142. func (int *DangerousInternalClient) DownloadAndDecrypt(ctx context.Context, url string, mediaKey []byte, appInfo MediaType, fileLength int, fileEncSHA256, fileSHA256 []byte) (data []byte, err error) {
  143. return int.c.downloadAndDecrypt(ctx, url, mediaKey, appInfo, fileLength, fileEncSHA256, fileSHA256)
  144. }
  145. func (int *DangerousInternalClient) DownloadPossiblyEncryptedMediaWithRetries(ctx context.Context, url string, checksum []byte) (file, mac []byte, err error) {
  146. return int.c.downloadPossiblyEncryptedMediaWithRetries(ctx, url, checksum)
  147. }
  148. func (int *DangerousInternalClient) DoMediaDownloadRequest(ctx context.Context, url string) (*http.Response, error) {
  149. return int.c.doMediaDownloadRequest(ctx, url)
  150. }
  151. func (int *DangerousInternalClient) DownloadMedia(ctx context.Context, url string) ([]byte, error) {
  152. return int.c.downloadMedia(ctx, url)
  153. }
  154. func (int *DangerousInternalClient) DownloadEncryptedMedia(ctx context.Context, url string, checksum []byte) (file, mac []byte, err error) {
  155. return int.c.downloadEncryptedMedia(ctx, url, checksum)
  156. }
  157. func (int *DangerousInternalClient) DownloadAndDecryptToFile(ctx context.Context, url string, mediaKey []byte, appInfo MediaType, fileLength int, fileEncSHA256, fileSHA256 []byte, file File) error {
  158. return int.c.downloadAndDecryptToFile(ctx, url, mediaKey, appInfo, fileLength, fileEncSHA256, fileSHA256, file)
  159. }
  160. func (int *DangerousInternalClient) DownloadPossiblyEncryptedMediaWithRetriesToFile(ctx context.Context, url string, checksum []byte, file File) (mac []byte, err error) {
  161. return int.c.downloadPossiblyEncryptedMediaWithRetriesToFile(ctx, url, checksum, file)
  162. }
  163. func (int *DangerousInternalClient) DownloadMediaToFile(ctx context.Context, url string, file io.Writer) (int64, []byte, error) {
  164. return int.c.downloadMediaToFile(ctx, url, file)
  165. }
  166. func (int *DangerousInternalClient) DownloadEncryptedMediaToFile(ctx context.Context, url string, checksum []byte, file File) ([]byte, error) {
  167. return int.c.downloadEncryptedMediaToFile(ctx, url, checksum, file)
  168. }
  169. func (int *DangerousInternalClient) SendGroupIQ(ctx context.Context, iqType infoQueryType, jid types.JID, content waBinary.Node) (*waBinary.Node, error) {
  170. return int.c.sendGroupIQ(ctx, iqType, jid, content)
  171. }
  172. func (int *DangerousInternalClient) CacheGroupInfo(groupInfo *types.GroupInfo, lock bool) ([]store.LIDMapping, []store.RedactedPhoneEntry) {
  173. return int.c.cacheGroupInfo(groupInfo, lock)
  174. }
  175. func (int *DangerousInternalClient) GetGroupInfo(ctx context.Context, jid types.JID, lockParticipantCache bool) (*types.GroupInfo, error) {
  176. return int.c.getGroupInfo(ctx, jid, lockParticipantCache)
  177. }
  178. func (int *DangerousInternalClient) GetCachedGroupData(ctx context.Context, jid types.JID) (*groupMetaCache, error) {
  179. return int.c.getCachedGroupData(ctx, jid)
  180. }
  181. func (int *DangerousInternalClient) ParseGroupNode(groupNode *waBinary.Node) (*types.GroupInfo, error) {
  182. return int.c.parseGroupNode(groupNode)
  183. }
  184. func (int *DangerousInternalClient) ParseGroupCreate(parentNode, node *waBinary.Node) (*events.JoinedGroup, []store.LIDMapping, []store.RedactedPhoneEntry, error) {
  185. return int.c.parseGroupCreate(parentNode, node)
  186. }
  187. func (int *DangerousInternalClient) ParseGroupChange(node *waBinary.Node) (*events.GroupInfo, []store.LIDMapping, error) {
  188. return int.c.parseGroupChange(node)
  189. }
  190. func (int *DangerousInternalClient) UpdateGroupParticipantCache(evt *events.GroupInfo) {
  191. int.c.updateGroupParticipantCache(evt)
  192. }
  193. func (int *DangerousInternalClient) ParseGroupNotification(node *waBinary.Node) (any, []store.LIDMapping, []store.RedactedPhoneEntry, error) {
  194. return int.c.parseGroupNotification(node)
  195. }
  196. func (int *DangerousInternalClient) DoHandshake(ctx context.Context, fs *socket.FrameSocket, ephemeralKP keys.KeyPair) error {
  197. return int.c.doHandshake(ctx, fs, ephemeralKP)
  198. }
  199. func (int *DangerousInternalClient) KeepAliveLoop(ctx, connCtx context.Context) {
  200. int.c.keepAliveLoop(ctx, connCtx)
  201. }
  202. func (int *DangerousInternalClient) SendKeepAlive(ctx context.Context) (isSuccess, shouldContinue bool) {
  203. return int.c.sendKeepAlive(ctx)
  204. }
  205. func (int *DangerousInternalClient) RefreshMediaConn(ctx context.Context, force bool) (*MediaConn, error) {
  206. return int.c.refreshMediaConn(ctx, force)
  207. }
  208. func (int *DangerousInternalClient) QueryMediaConn(ctx context.Context) (*MediaConn, error) {
  209. return int.c.queryMediaConn(ctx)
  210. }
  211. func (int *DangerousInternalClient) HandleMediaRetryNotification(ctx context.Context, node *waBinary.Node) {
  212. int.c.handleMediaRetryNotification(ctx, node)
  213. }
  214. func (int *DangerousInternalClient) HandleEncryptedMessage(ctx context.Context, node *waBinary.Node) {
  215. int.c.handleEncryptedMessage(ctx, node)
  216. }
  217. func (int *DangerousInternalClient) ParseMessageSource(node *waBinary.Node, requireParticipant bool) (source types.MessageSource, err error) {
  218. return int.c.parseMessageSource(node, requireParticipant)
  219. }
  220. func (int *DangerousInternalClient) ParseMsgBotInfo(node waBinary.Node) (botInfo types.MsgBotInfo, err error) {
  221. return int.c.parseMsgBotInfo(node)
  222. }
  223. func (int *DangerousInternalClient) ParseMsgMetaInfo(node waBinary.Node) (metaInfo types.MsgMetaInfo, err error) {
  224. return int.c.parseMsgMetaInfo(node)
  225. }
  226. func (int *DangerousInternalClient) ParseMessageInfo(node *waBinary.Node) (*types.MessageInfo, error) {
  227. return int.c.parseMessageInfo(node)
  228. }
  229. func (int *DangerousInternalClient) HandlePlaintextMessage(ctx context.Context, info *types.MessageInfo, node *waBinary.Node) (handlerFailed bool) {
  230. return int.c.handlePlaintextMessage(ctx, info, node)
  231. }
  232. func (int *DangerousInternalClient) MigrateSessionStore(ctx context.Context, pn, lid types.JID) {
  233. int.c.migrateSessionStore(ctx, pn, lid)
  234. }
  235. func (int *DangerousInternalClient) DecryptMessages(ctx context.Context, info *types.MessageInfo, node *waBinary.Node) {
  236. int.c.decryptMessages(ctx, info, node)
  237. }
  238. func (int *DangerousInternalClient) ClearUntrustedIdentity(ctx context.Context, target types.JID) error {
  239. return int.c.clearUntrustedIdentity(ctx, target)
  240. }
  241. func (int *DangerousInternalClient) BufferedDecrypt(ctx context.Context, ciphertext []byte, serverTimestamp time.Time, decrypt func(context.Context) ([]byte, error)) (plaintext []byte, ciphertextHash [32]byte, err error) {
  242. return int.c.bufferedDecrypt(ctx, ciphertext, serverTimestamp, decrypt)
  243. }
  244. func (int *DangerousInternalClient) DecryptDM(ctx context.Context, child *waBinary.Node, from types.JID, isPreKey bool, serverTS time.Time) ([]byte, *[32]byte, error) {
  245. return int.c.decryptDM(ctx, child, from, isPreKey, serverTS)
  246. }
  247. func (int *DangerousInternalClient) DecryptGroupMsg(ctx context.Context, child *waBinary.Node, from types.JID, chat types.JID, serverTS time.Time) ([]byte, *[32]byte, error) {
  248. return int.c.decryptGroupMsg(ctx, child, from, chat, serverTS)
  249. }
  250. func (int *DangerousInternalClient) HandleSenderKeyDistributionMessage(ctx context.Context, chat, from types.JID, axolotlSKDM []byte) {
  251. int.c.handleSenderKeyDistributionMessage(ctx, chat, from, axolotlSKDM)
  252. }
  253. func (int *DangerousInternalClient) HandleHistorySyncNotificationLoop() {
  254. int.c.handleHistorySyncNotificationLoop()
  255. }
  256. func (int *DangerousInternalClient) HandleAppStateSyncKeyShare(ctx context.Context, keys *waE2E.AppStateSyncKeyShare) {
  257. int.c.handleAppStateSyncKeyShare(ctx, keys)
  258. }
  259. func (int *DangerousInternalClient) HandlePlaceholderResendResponse(msg *waE2E.PeerDataOperationRequestResponseMessage) (ok bool) {
  260. return int.c.handlePlaceholderResendResponse(msg)
  261. }
  262. func (int *DangerousInternalClient) HandleProtocolMessage(ctx context.Context, info *types.MessageInfo, msg *waE2E.Message) (ok bool) {
  263. return int.c.handleProtocolMessage(ctx, info, msg)
  264. }
  265. func (int *DangerousInternalClient) ProcessProtocolParts(ctx context.Context, info *types.MessageInfo, msg *waE2E.Message) (ok bool) {
  266. return int.c.processProtocolParts(ctx, info, msg)
  267. }
  268. func (int *DangerousInternalClient) StoreMessageSecret(ctx context.Context, info *types.MessageInfo, msg *waE2E.Message) {
  269. int.c.storeMessageSecret(ctx, info, msg)
  270. }
  271. func (int *DangerousInternalClient) StoreHistoricalMessageSecrets(ctx context.Context, conversations []*waHistorySync.Conversation) {
  272. int.c.storeHistoricalMessageSecrets(ctx, conversations)
  273. }
  274. func (int *DangerousInternalClient) StoreLIDSyncMessage(ctx context.Context, msg []byte) {
  275. int.c.storeLIDSyncMessage(ctx, msg)
  276. }
  277. func (int *DangerousInternalClient) StoreGlobalSettings(ctx context.Context, settings *waHistorySync.GlobalSettings) {
  278. int.c.storeGlobalSettings(ctx, settings)
  279. }
  280. func (int *DangerousInternalClient) StoreHistoricalPNLIDMappings(ctx context.Context, mappings []*waHistorySync.PhoneNumberToLIDMapping) {
  281. int.c.storeHistoricalPNLIDMappings(ctx, mappings)
  282. }
  283. func (int *DangerousInternalClient) HandleDecryptedMessage(ctx context.Context, info *types.MessageInfo, msg *waE2E.Message, retryCount int) bool {
  284. return int.c.handleDecryptedMessage(ctx, info, msg, retryCount)
  285. }
  286. func (int *DangerousInternalClient) SendProtocolMessageReceipt(ctx context.Context, id types.MessageID, msgType types.ReceiptType) {
  287. int.c.sendProtocolMessageReceipt(ctx, id, msgType)
  288. }
  289. func (int *DangerousInternalClient) DecryptMsgSecret(ctx context.Context, msg *events.Message, useCase MsgSecretType, encrypted messageEncryptedSecret, origMsgKey *waCommon.MessageKey) ([]byte, error) {
  290. return int.c.decryptMsgSecret(ctx, msg, useCase, encrypted, origMsgKey)
  291. }
  292. func (int *DangerousInternalClient) EncryptMsgSecret(ctx context.Context, ownID, chat, origSender types.JID, origMsgID types.MessageID, useCase MsgSecretType, plaintext []byte) (ciphertext, iv []byte, err error) {
  293. return int.c.encryptMsgSecret(ctx, ownID, chat, origSender, origMsgID, useCase, plaintext)
  294. }
  295. func (int *DangerousInternalClient) DecryptBotMessage(ctx context.Context, messageSecret []byte, msMsg messageEncryptedSecret, messageID types.MessageID, targetSenderJID types.JID, info *types.MessageInfo) ([]byte, error) {
  296. return int.c.decryptBotMessage(ctx, messageSecret, msMsg, messageID, targetSenderJID, info)
  297. }
  298. func (int *DangerousInternalClient) SendMexIQ(ctx context.Context, queryID string, variables any) (json.RawMessage, error) {
  299. return int.c.sendMexIQ(ctx, queryID, variables)
  300. }
  301. func (int *DangerousInternalClient) GetNewsletterInfo(ctx context.Context, input map[string]any, fetchViewerMeta bool) (*types.NewsletterMetadata, error) {
  302. return int.c.getNewsletterInfo(ctx, input, fetchViewerMeta)
  303. }
  304. func (int *DangerousInternalClient) HandleEncryptNotification(ctx context.Context, node *waBinary.Node) {
  305. int.c.handleEncryptNotification(ctx, node)
  306. }
  307. func (int *DangerousInternalClient) HandleAppStateNotification(ctx context.Context, node *waBinary.Node) {
  308. int.c.handleAppStateNotification(ctx, node)
  309. }
  310. func (int *DangerousInternalClient) HandlePictureNotification(ctx context.Context, node *waBinary.Node) {
  311. int.c.handlePictureNotification(ctx, node)
  312. }
  313. func (int *DangerousInternalClient) HandleDeviceNotification(ctx context.Context, node *waBinary.Node) {
  314. int.c.handleDeviceNotification(ctx, node)
  315. }
  316. func (int *DangerousInternalClient) HandleFBDeviceNotification(ctx context.Context, node *waBinary.Node) {
  317. int.c.handleFBDeviceNotification(ctx, node)
  318. }
  319. func (int *DangerousInternalClient) HandleOwnDevicesNotification(ctx context.Context, node *waBinary.Node) {
  320. int.c.handleOwnDevicesNotification(ctx, node)
  321. }
  322. func (int *DangerousInternalClient) HandleBlocklist(ctx context.Context, node *waBinary.Node) {
  323. int.c.handleBlocklist(ctx, node)
  324. }
  325. func (int *DangerousInternalClient) HandleAccountSyncNotification(ctx context.Context, node *waBinary.Node) {
  326. int.c.handleAccountSyncNotification(ctx, node)
  327. }
  328. func (int *DangerousInternalClient) HandlePrivacyTokenNotification(ctx context.Context, node *waBinary.Node) {
  329. int.c.handlePrivacyTokenNotification(ctx, node)
  330. }
  331. func (int *DangerousInternalClient) ParseNewsletterMessages(node *waBinary.Node) []*types.NewsletterMessage {
  332. return int.c.parseNewsletterMessages(node)
  333. }
  334. func (int *DangerousInternalClient) HandleNewsletterNotification(ctx context.Context, node *waBinary.Node) {
  335. int.c.handleNewsletterNotification(ctx, node)
  336. }
  337. func (int *DangerousInternalClient) HandleMexNotification(ctx context.Context, node *waBinary.Node) {
  338. int.c.handleMexNotification(ctx, node)
  339. }
  340. func (int *DangerousInternalClient) HandleStatusNotification(ctx context.Context, node *waBinary.Node) {
  341. int.c.handleStatusNotification(ctx, node)
  342. }
  343. func (int *DangerousInternalClient) HandleNotification(ctx context.Context, node *waBinary.Node) {
  344. int.c.handleNotification(ctx, node)
  345. }
  346. func (int *DangerousInternalClient) TryHandleCodePairNotification(ctx context.Context, parentNode *waBinary.Node) {
  347. int.c.tryHandleCodePairNotification(ctx, parentNode)
  348. }
  349. func (int *DangerousInternalClient) HandleCodePairNotification(ctx context.Context, parentNode *waBinary.Node) error {
  350. return int.c.handleCodePairNotification(ctx, parentNode)
  351. }
  352. func (int *DangerousInternalClient) HandleIQ(ctx context.Context, node *waBinary.Node) {
  353. int.c.handleIQ(ctx, node)
  354. }
  355. func (int *DangerousInternalClient) HandlePairDevice(ctx context.Context, node *waBinary.Node) {
  356. int.c.handlePairDevice(ctx, node)
  357. }
  358. func (int *DangerousInternalClient) MakeQRData(ref string) string {
  359. return int.c.makeQRData(ref)
  360. }
  361. func (int *DangerousInternalClient) HandlePairSuccess(ctx context.Context, node *waBinary.Node) {
  362. int.c.handlePairSuccess(ctx, node)
  363. }
  364. func (int *DangerousInternalClient) HandlePair(ctx context.Context, deviceIdentityBytes []byte, reqID, businessName, platform string, jid, lid types.JID) error {
  365. return int.c.handlePair(ctx, deviceIdentityBytes, reqID, businessName, platform, jid, lid)
  366. }
  367. func (int *DangerousInternalClient) SendPairError(ctx context.Context, id string, code int, text string) {
  368. int.c.sendPairError(ctx, id, code, text)
  369. }
  370. func (int *DangerousInternalClient) GetServerPreKeyCount(ctx context.Context) (int, error) {
  371. return int.c.getServerPreKeyCount(ctx)
  372. }
  373. func (int *DangerousInternalClient) UploadPreKeys(ctx context.Context, initialUpload bool) {
  374. int.c.uploadPreKeys(ctx, initialUpload)
  375. }
  376. func (int *DangerousInternalClient) FetchPreKeysNoError(ctx context.Context, retryDevices []types.JID) map[types.JID]*prekey.Bundle {
  377. return int.c.fetchPreKeysNoError(ctx, retryDevices)
  378. }
  379. func (int *DangerousInternalClient) FetchPreKeys(ctx context.Context, users []types.JID) (map[types.JID]preKeyResp, error) {
  380. return int.c.fetchPreKeys(ctx, users)
  381. }
  382. func (int *DangerousInternalClient) HandleChatState(ctx context.Context, node *waBinary.Node) {
  383. int.c.handleChatState(ctx, node)
  384. }
  385. func (int *DangerousInternalClient) HandlePresence(ctx context.Context, node *waBinary.Node) {
  386. int.c.handlePresence(ctx, node)
  387. }
  388. func (int *DangerousInternalClient) ParsePrivacySettings(privacyNode *waBinary.Node, settings *types.PrivacySettings) *events.PrivacySettings {
  389. return int.c.parsePrivacySettings(privacyNode, settings)
  390. }
  391. func (int *DangerousInternalClient) HandlePrivacySettingsNotification(ctx context.Context, privacyNode *waBinary.Node) {
  392. int.c.handlePrivacySettingsNotification(ctx, privacyNode)
  393. }
  394. func (int *DangerousInternalClient) HandleReceipt(ctx context.Context, node *waBinary.Node) {
  395. int.c.handleReceipt(ctx, node)
  396. }
  397. func (int *DangerousInternalClient) HandleGroupedReceipt(partialReceipt events.Receipt, participants *waBinary.Node) {
  398. int.c.handleGroupedReceipt(partialReceipt, participants)
  399. }
  400. func (int *DangerousInternalClient) ParseReceipt(node *waBinary.Node) (*events.Receipt, error) {
  401. return int.c.parseReceipt(node)
  402. }
  403. func (int *DangerousInternalClient) BackgroundIfAsyncAck(fn func()) {
  404. int.c.backgroundIfAsyncAck(fn)
  405. }
  406. func (int *DangerousInternalClient) MaybeDeferredAck(ctx context.Context, node *waBinary.Node) func(...*bool) {
  407. return int.c.maybeDeferredAck(ctx, node)
  408. }
  409. func (int *DangerousInternalClient) SendAck(ctx context.Context, node *waBinary.Node, error int) {
  410. int.c.sendAck(ctx, node, error)
  411. }
  412. func (int *DangerousInternalClient) SendMessageReceipt(ctx context.Context, info *types.MessageInfo, node *waBinary.Node) {
  413. int.c.sendMessageReceipt(ctx, info, node)
  414. }
  415. func (int *DangerousInternalClient) GenerateRequestID() string {
  416. return int.c.generateRequestID()
  417. }
  418. func (int *DangerousInternalClient) ClearResponseWaiters(node *waBinary.Node) {
  419. int.c.clearResponseWaiters(node)
  420. }
  421. func (int *DangerousInternalClient) WaitResponse(reqID string) chan *waBinary.Node {
  422. return int.c.waitResponse(reqID)
  423. }
  424. func (int *DangerousInternalClient) CancelResponse(reqID string, ch chan *waBinary.Node) {
  425. int.c.cancelResponse(reqID, ch)
  426. }
  427. func (int *DangerousInternalClient) ReceiveResponse(ctx context.Context, data *waBinary.Node) bool {
  428. return int.c.receiveResponse(ctx, data)
  429. }
  430. func (int *DangerousInternalClient) SendIQAsyncAndGetData(ctx context.Context, query *infoQuery) (<-chan *waBinary.Node, []byte, error) {
  431. return int.c.sendIQAsyncAndGetData(ctx, query)
  432. }
  433. func (int *DangerousInternalClient) SendIQAsync(ctx context.Context, query infoQuery) (<-chan *waBinary.Node, error) {
  434. return int.c.sendIQAsync(ctx, query)
  435. }
  436. func (int *DangerousInternalClient) SendIQ(ctx context.Context, query infoQuery) (*waBinary.Node, error) {
  437. return int.c.sendIQ(ctx, query)
  438. }
  439. func (int *DangerousInternalClient) RetryFrame(ctx context.Context, reqType, id string, data []byte, origResp *waBinary.Node, timeout time.Duration) (*waBinary.Node, error) {
  440. return int.c.retryFrame(ctx, reqType, id, data, origResp, timeout)
  441. }
  442. func (int *DangerousInternalClient) AddRecentMessage(to types.JID, id types.MessageID, wa *waE2E.Message, fb *waMsgApplication.MessageApplication) {
  443. int.c.addRecentMessage(to, id, wa, fb)
  444. }
  445. func (int *DangerousInternalClient) GetRecentMessage(to types.JID, id types.MessageID) RecentMessage {
  446. return int.c.getRecentMessage(to, id)
  447. }
  448. func (int *DangerousInternalClient) GetMessageForRetry(ctx context.Context, receipt *events.Receipt, messageID types.MessageID) (RecentMessage, error) {
  449. return int.c.getMessageForRetry(ctx, receipt, messageID)
  450. }
  451. func (int *DangerousInternalClient) ShouldRecreateSession(ctx context.Context, retryCount int, jid types.JID) (reason string, recreate bool) {
  452. return int.c.shouldRecreateSession(ctx, retryCount, jid)
  453. }
  454. func (int *DangerousInternalClient) HandleRetryReceipt(ctx context.Context, receipt *events.Receipt, node *waBinary.Node) error {
  455. return int.c.handleRetryReceipt(ctx, receipt, node)
  456. }
  457. func (int *DangerousInternalClient) CancelDelayedRequestFromPhone(msgID types.MessageID) {
  458. int.c.cancelDelayedRequestFromPhone(msgID)
  459. }
  460. func (int *DangerousInternalClient) DelayedRequestMessageFromPhone(info *types.MessageInfo) {
  461. int.c.delayedRequestMessageFromPhone(info)
  462. }
  463. func (int *DangerousInternalClient) ImmediateRequestMessageFromPhone(ctx context.Context, info *types.MessageInfo) {
  464. int.c.immediateRequestMessageFromPhone(ctx, info)
  465. }
  466. func (int *DangerousInternalClient) ClearDelayedMessageRequests() {
  467. int.c.clearDelayedMessageRequests()
  468. }
  469. func (int *DangerousInternalClient) SendRetryReceipt(ctx context.Context, node *waBinary.Node, info *types.MessageInfo, forceIncludeIdentity bool) {
  470. int.c.sendRetryReceipt(ctx, node, info, forceIncludeIdentity)
  471. }
  472. func (int *DangerousInternalClient) SendGroupV3(ctx context.Context, to, ownID types.JID, id types.MessageID, messageApp []byte, msgAttrs messageAttrs, frankingTag []byte, timings *MessageDebugTimings) (string, []byte, error) {
  473. return int.c.sendGroupV3(ctx, to, ownID, id, messageApp, msgAttrs, frankingTag, timings)
  474. }
  475. func (int *DangerousInternalClient) SendDMV3(ctx context.Context, to, ownID types.JID, id types.MessageID, messageApp []byte, msgAttrs messageAttrs, frankingTag []byte, timings *MessageDebugTimings) ([]byte, string, error) {
  476. return int.c.sendDMV3(ctx, to, ownID, id, messageApp, msgAttrs, frankingTag, timings)
  477. }
  478. func (int *DangerousInternalClient) PrepareMessageNodeV3(ctx context.Context, to, ownID types.JID, id types.MessageID, payload *waMsgTransport.MessageTransport_Payload, skdm *waMsgTransport.MessageTransport_Protocol_Ancillary_SenderKeyDistributionMessage, msgAttrs messageAttrs, frankingTag []byte, participants []types.JID, timings *MessageDebugTimings) (*waBinary.Node, []types.JID, error) {
  479. return int.c.prepareMessageNodeV3(ctx, to, ownID, id, payload, skdm, msgAttrs, frankingTag, participants, timings)
  480. }
  481. func (int *DangerousInternalClient) EncryptMessageForDevicesV3(ctx context.Context, allDevices []types.JID, ownID types.JID, id string, payload *waMsgTransport.MessageTransport_Payload, skdm *waMsgTransport.MessageTransport_Protocol_Ancillary_SenderKeyDistributionMessage, dsm *waMsgTransport.MessageTransport_Protocol_Integral_DeviceSentMessage, encAttrs waBinary.Attrs) ([]waBinary.Node, error) {
  482. return int.c.encryptMessageForDevicesV3(ctx, allDevices, ownID, id, payload, skdm, dsm, encAttrs)
  483. }
  484. func (int *DangerousInternalClient) EncryptMessageForDeviceAndWrapV3(ctx context.Context, payload *waMsgTransport.MessageTransport_Payload, skdm *waMsgTransport.MessageTransport_Protocol_Ancillary_SenderKeyDistributionMessage, dsm *waMsgTransport.MessageTransport_Protocol_Integral_DeviceSentMessage, to types.JID, bundle *prekey.Bundle, encAttrs waBinary.Attrs) (*waBinary.Node, error) {
  485. return int.c.encryptMessageForDeviceAndWrapV3(ctx, payload, skdm, dsm, to, bundle, encAttrs)
  486. }
  487. func (int *DangerousInternalClient) EncryptMessageForDeviceV3(ctx context.Context, payload *waMsgTransport.MessageTransport_Payload, skdm *waMsgTransport.MessageTransport_Protocol_Ancillary_SenderKeyDistributionMessage, dsm *waMsgTransport.MessageTransport_Protocol_Integral_DeviceSentMessage, to types.JID, bundle *prekey.Bundle, extraAttrs waBinary.Attrs) (*waBinary.Node, error) {
  488. return int.c.encryptMessageForDeviceV3(ctx, payload, skdm, dsm, to, bundle, extraAttrs)
  489. }
  490. func (int *DangerousInternalClient) SendNewsletter(ctx context.Context, to types.JID, id types.MessageID, message *waE2E.Message, mediaID string, timings *MessageDebugTimings) ([]byte, error) {
  491. return int.c.sendNewsletter(ctx, to, id, message, mediaID, timings)
  492. }
  493. func (int *DangerousInternalClient) SendGroup(ctx context.Context, ownID, to types.JID, participants []types.JID, id types.MessageID, message *waE2E.Message, timings *MessageDebugTimings, extraParams nodeExtraParams) (string, []byte, error) {
  494. return int.c.sendGroup(ctx, ownID, to, participants, id, message, timings, extraParams)
  495. }
  496. func (int *DangerousInternalClient) SendPeerMessage(ctx context.Context, to types.JID, id types.MessageID, message *waE2E.Message, timings *MessageDebugTimings) ([]byte, error) {
  497. return int.c.sendPeerMessage(ctx, to, id, message, timings)
  498. }
  499. func (int *DangerousInternalClient) SendDM(ctx context.Context, ownID, to types.JID, id types.MessageID, message *waE2E.Message, timings *MessageDebugTimings, extraParams nodeExtraParams) (string, []byte, error) {
  500. return int.c.sendDM(ctx, ownID, to, id, message, timings, extraParams)
  501. }
  502. func (int *DangerousInternalClient) PreparePeerMessageNode(ctx context.Context, to types.JID, id types.MessageID, message *waE2E.Message, timings *MessageDebugTimings) (*waBinary.Node, error) {
  503. return int.c.preparePeerMessageNode(ctx, to, id, message, timings)
  504. }
  505. func (int *DangerousInternalClient) GetMessageContent(baseNode waBinary.Node, message *waE2E.Message, msgAttrs waBinary.Attrs, includeIdentity bool, extraParams nodeExtraParams) []waBinary.Node {
  506. return int.c.getMessageContent(baseNode, message, msgAttrs, includeIdentity, extraParams)
  507. }
  508. func (int *DangerousInternalClient) PrepareMessageNode(ctx context.Context, to types.JID, id types.MessageID, message *waE2E.Message, participants []types.JID, plaintext, dsmPlaintext []byte, timings *MessageDebugTimings, extraParams nodeExtraParams) (*waBinary.Node, []types.JID, error) {
  509. return int.c.prepareMessageNode(ctx, to, id, message, participants, plaintext, dsmPlaintext, timings, extraParams)
  510. }
  511. func (int *DangerousInternalClient) MakeDeviceIdentityNode() waBinary.Node {
  512. return int.c.makeDeviceIdentityNode()
  513. }
  514. func (int *DangerousInternalClient) EncryptMessageForDevices(ctx context.Context, allDevices []types.JID, id string, msgPlaintext, dsmPlaintext []byte, encAttrs waBinary.Attrs) ([]waBinary.Node, bool, error) {
  515. return int.c.encryptMessageForDevices(ctx, allDevices, id, msgPlaintext, dsmPlaintext, encAttrs)
  516. }
  517. func (int *DangerousInternalClient) EncryptMessageForDeviceAndWrap(ctx context.Context, plaintext []byte, wireIdentity, encryptionIdentity types.JID, bundle *prekey.Bundle, encAttrs waBinary.Attrs, existingSessions map[string]bool) (*waBinary.Node, bool, error) {
  518. return int.c.encryptMessageForDeviceAndWrap(ctx, plaintext, wireIdentity, encryptionIdentity, bundle, encAttrs, existingSessions)
  519. }
  520. func (int *DangerousInternalClient) EncryptMessageForDevice(ctx context.Context, plaintext []byte, to types.JID, bundle *prekey.Bundle, extraAttrs waBinary.Attrs, existingSessions map[string]bool) (*waBinary.Node, bool, error) {
  521. return int.c.encryptMessageForDevice(ctx, plaintext, to, bundle, extraAttrs, existingSessions)
  522. }
  523. func (int *DangerousInternalClient) RawUpload(ctx context.Context, dataToUpload io.Reader, uploadSize uint64, fileHash []byte, appInfo MediaType, newsletter bool, resp *UploadResponse) error {
  524. return int.c.rawUpload(ctx, dataToUpload, uploadSize, fileHash, appInfo, newsletter, resp)
  525. }
  526. func (int *DangerousInternalClient) ParseBusinessProfile(node *waBinary.Node) (*types.BusinessProfile, error) {
  527. return int.c.parseBusinessProfile(node)
  528. }
  529. func (int *DangerousInternalClient) HandleHistoricalPushNames(ctx context.Context, names []*waHistorySync.Pushname) {
  530. int.c.handleHistoricalPushNames(ctx, names)
  531. }
  532. func (int *DangerousInternalClient) UpdatePushName(ctx context.Context, user, userAlt types.JID, messageInfo *types.MessageInfo, name string) {
  533. int.c.updatePushName(ctx, user, userAlt, messageInfo, name)
  534. }
  535. func (int *DangerousInternalClient) UpdateBusinessName(ctx context.Context, user, userAlt types.JID, messageInfo *types.MessageInfo, name string) {
  536. int.c.updateBusinessName(ctx, user, userAlt, messageInfo, name)
  537. }
  538. func (int *DangerousInternalClient) GetFBIDDevicesInternal(ctx context.Context, jids []types.JID) (*waBinary.Node, error) {
  539. return int.c.getFBIDDevicesInternal(ctx, jids)
  540. }
  541. func (int *DangerousInternalClient) GetFBIDDevices(ctx context.Context, jids []types.JID) ([]types.JID, error) {
  542. return int.c.getFBIDDevices(ctx, jids)
  543. }
  544. func (int *DangerousInternalClient) Usync(ctx context.Context, jids []types.JID, mode, context string, query []waBinary.Node, extra ...UsyncQueryExtras) (*waBinary.Node, error) {
  545. return int.c.usync(ctx, jids, mode, context, query, extra...)
  546. }
  547. func (int *DangerousInternalClient) ParseBlocklist(node *waBinary.Node) *types.Blocklist {
  548. return int.c.parseBlocklist(node)
  549. }
  550. func (int *DangerousInternalClient) ShouldIncludeReportingToken(message *waE2E.Message) bool {
  551. return int.c.shouldIncludeReportingToken(message)
  552. }
  553. func (int *DangerousInternalClient) GetMessageReportingToken(msgProtobuf []byte, msg *waE2E.Message, senderJID, remoteJID types.JID, messageID types.MessageID) waBinary.Node {
  554. return int.c.getMessageReportingToken(msgProtobuf, msg, senderJID, remoteJID, messageID)
  555. }