slidge-whatsapp 0.3.7__cp312-cp312-manylinux_2_41_aarch64.whl → 0.3.8__cp312-cp312-manylinux_2_41_aarch64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. slidge_whatsapp/config.py +7 -2
  2. slidge_whatsapp/contact.py +3 -2
  3. slidge_whatsapp/event.go +14 -9
  4. slidge_whatsapp/gateway.go +7 -1
  5. slidge_whatsapp/generated/_whatsapp.cpython-312-aarch64-linux-gnu.h +182 -178
  6. slidge_whatsapp/generated/_whatsapp.cpython-312-aarch64-linux-gnu.so +0 -0
  7. slidge_whatsapp/generated/build.py +146 -142
  8. slidge_whatsapp/generated/whatsapp.c +1456 -1376
  9. slidge_whatsapp/generated/whatsapp.go +1069 -1045
  10. slidge_whatsapp/generated/whatsapp.py +1324 -1298
  11. slidge_whatsapp/generated/whatsapp_go.h +182 -178
  12. slidge_whatsapp/go.mod +6 -6
  13. slidge_whatsapp/go.sum +12 -12
  14. slidge_whatsapp/group.py +25 -0
  15. slidge_whatsapp/session.go +69 -67
  16. slidge_whatsapp/session.py +11 -1
  17. slidge_whatsapp/vendor/github.com/coder/websocket/LICENSE.txt +13 -0
  18. slidge_whatsapp/vendor/github.com/coder/websocket/Makefile +18 -0
  19. slidge_whatsapp/vendor/github.com/coder/websocket/README.md +162 -0
  20. slidge_whatsapp/vendor/github.com/coder/websocket/accept.go +378 -0
  21. slidge_whatsapp/vendor/github.com/coder/websocket/close.go +335 -0
  22. slidge_whatsapp/vendor/github.com/coder/websocket/compress.go +234 -0
  23. slidge_whatsapp/vendor/github.com/coder/websocket/conn.go +306 -0
  24. slidge_whatsapp/vendor/github.com/coder/websocket/dial.go +347 -0
  25. slidge_whatsapp/vendor/github.com/coder/websocket/doc.go +33 -0
  26. slidge_whatsapp/vendor/github.com/coder/websocket/errors.go +8 -0
  27. slidge_whatsapp/vendor/github.com/coder/websocket/frame.go +173 -0
  28. slidge_whatsapp/vendor/github.com/coder/websocket/hijack.go +33 -0
  29. slidge_whatsapp/vendor/github.com/coder/websocket/internal/bpool/bpool.go +25 -0
  30. slidge_whatsapp/vendor/github.com/coder/websocket/internal/errd/wrap.go +14 -0
  31. slidge_whatsapp/vendor/github.com/coder/websocket/internal/util/util.go +15 -0
  32. slidge_whatsapp/vendor/github.com/coder/websocket/internal/wsjs/wsjs_js.go +169 -0
  33. slidge_whatsapp/vendor/github.com/coder/websocket/mask.go +128 -0
  34. slidge_whatsapp/vendor/github.com/coder/websocket/mask_amd64.s +127 -0
  35. slidge_whatsapp/vendor/github.com/coder/websocket/mask_arm64.s +72 -0
  36. slidge_whatsapp/vendor/github.com/coder/websocket/mask_asm.go +26 -0
  37. slidge_whatsapp/vendor/github.com/coder/websocket/mask_go.go +7 -0
  38. slidge_whatsapp/vendor/github.com/coder/websocket/netconn.go +233 -0
  39. slidge_whatsapp/vendor/github.com/coder/websocket/netconn_js.go +11 -0
  40. slidge_whatsapp/vendor/github.com/coder/websocket/netconn_notjs.go +19 -0
  41. slidge_whatsapp/vendor/github.com/coder/websocket/read.go +540 -0
  42. slidge_whatsapp/vendor/github.com/coder/websocket/stringer.go +91 -0
  43. slidge_whatsapp/vendor/github.com/coder/websocket/write.go +384 -0
  44. slidge_whatsapp/vendor/github.com/coder/websocket/ws_js.go +598 -0
  45. slidge_whatsapp/vendor/github.com/ebitengine/purego/func.go +1 -1
  46. slidge_whatsapp/vendor/github.com/ebitengine/purego/struct_amd64.go +1 -1
  47. slidge_whatsapp/vendor/github.com/ebitengine/purego/struct_arm64.go +3 -1
  48. slidge_whatsapp/vendor/github.com/ebitengine/purego/struct_loong64.go +1 -1
  49. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/directive.go +3 -0
  50. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/selection.go +3 -0
  51. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/value.go +4 -3
  52. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/encode.go +3 -0
  53. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate.go +18 -4
  54. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/broadcast.go +3 -3
  55. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/call.go +6 -4
  56. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/client.go +90 -80
  57. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/connectionevents.go +14 -11
  58. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download.go +4 -1
  59. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/group.go +47 -48
  60. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/handshake.go +3 -2
  61. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/internals.go +79 -75
  62. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/keepalive.go +8 -6
  63. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaconn.go +1 -2
  64. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaretry.go +2 -2
  65. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/message.go +42 -40
  66. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/newsletter.go +35 -32
  67. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/notification.go +2 -3
  68. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair-code.go +2 -4
  69. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair.go +19 -19
  70. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/prekeys.go +9 -8
  71. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/presence.go +9 -9
  72. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/privacysettings.go +4 -5
  73. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/InstamadilloAddMessage.pb.go +1 -1
  74. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.pb.go +1 -1
  75. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.pb.go +1 -1
  76. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.pb.go +1 -1
  77. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink.pb.go +1 -1
  78. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.pb.go +1 -1
  79. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText.pb.go +1 -1
  80. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage.pb.go +1 -1
  81. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage.pb.go +1 -1
  82. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloTransportPayload/InstamadilloTransportPayload.pb.go +1 -1
  83. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef.pb.go +1 -1
  84. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAICommon/WAAICommon.pb.go +1145 -335
  85. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAICommon/WAAICommon.proto +78 -0
  86. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.pb.go +1 -1
  87. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.pb.go +1 -1
  88. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.pb.go +1 -1
  89. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.pb.go +1 -1
  90. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.pb.go +1 -1
  91. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.pb.go +1 -1
  92. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/WACompanionReg.pb.go +22 -4
  93. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/WACompanionReg.proto +2 -0
  94. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.pb.go +1 -1
  95. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.go +104 -30
  96. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto +7 -0
  97. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.go +1037 -963
  98. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.proto +15 -8
  99. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.go +1 -1
  100. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.pb.go +1 -1
  101. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.pb.go +1 -1
  102. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.pb.go +1 -1
  103. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.pb.go +1 -1
  104. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.pb.go +1 -1
  105. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.pb.go +1 -1
  106. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.pb.go +1 -1
  107. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.pb.go +40 -35
  108. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.proto +1 -0
  109. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.go +921 -653
  110. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.proto +44 -15
  111. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.pb.go +1 -1
  112. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.pb.go +1 -1
  113. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.go +9 -5
  114. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.proto +1 -0
  115. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.go +193 -115
  116. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.proto +9 -0
  117. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/push.go +2 -4
  118. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/receipt.go +12 -12
  119. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/request.go +25 -19
  120. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/retry.go +2 -2
  121. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/send.go +43 -27
  122. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/sendfb.go +4 -4
  123. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/socket/constants.go +1 -1
  124. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/socket/framesocket.go +43 -56
  125. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/socket/noisehandshake.go +9 -3
  126. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/socket/noisesocket.go +36 -22
  127. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/clientpayload.go +24 -4
  128. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/store.go +12 -0
  129. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/appstate.go +2 -1
  130. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/upload.go +1 -1
  131. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/user.go +79 -40
  132. slidge_whatsapp/vendor/golang.org/x/sys/unix/mkerrors.sh +2 -0
  133. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux.go +6 -0
  134. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux.go +359 -0
  135. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_linux.go +10 -0
  136. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux.go +31 -0
  137. slidge_whatsapp/vendor/golang.org/x/sys/windows/syscall_windows.go +15 -0
  138. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows.go +76 -0
  139. slidge_whatsapp/vendor/golang.org/x/sys/windows/zsyscall_windows.go +37 -0
  140. slidge_whatsapp/vendor/modules.txt +12 -8
  141. {slidge_whatsapp-0.3.7.dist-info → slidge_whatsapp-0.3.8.dist-info}/METADATA +1 -1
  142. {slidge_whatsapp-0.3.7.dist-info → slidge_whatsapp-0.3.8.dist-info}/RECORD +145 -136
  143. slidge_whatsapp/vendor/github.com/gorilla/websocket/.gitignore +0 -25
  144. slidge_whatsapp/vendor/github.com/gorilla/websocket/AUTHORS +0 -9
  145. slidge_whatsapp/vendor/github.com/gorilla/websocket/LICENSE +0 -22
  146. slidge_whatsapp/vendor/github.com/gorilla/websocket/README.md +0 -33
  147. slidge_whatsapp/vendor/github.com/gorilla/websocket/client.go +0 -434
  148. slidge_whatsapp/vendor/github.com/gorilla/websocket/compression.go +0 -148
  149. slidge_whatsapp/vendor/github.com/gorilla/websocket/conn.go +0 -1238
  150. slidge_whatsapp/vendor/github.com/gorilla/websocket/doc.go +0 -227
  151. slidge_whatsapp/vendor/github.com/gorilla/websocket/join.go +0 -42
  152. slidge_whatsapp/vendor/github.com/gorilla/websocket/json.go +0 -60
  153. slidge_whatsapp/vendor/github.com/gorilla/websocket/mask.go +0 -55
  154. slidge_whatsapp/vendor/github.com/gorilla/websocket/mask_safe.go +0 -16
  155. slidge_whatsapp/vendor/github.com/gorilla/websocket/prepared.go +0 -102
  156. slidge_whatsapp/vendor/github.com/gorilla/websocket/proxy.go +0 -77
  157. slidge_whatsapp/vendor/github.com/gorilla/websocket/server.go +0 -365
  158. slidge_whatsapp/vendor/github.com/gorilla/websocket/tls_handshake.go +0 -21
  159. slidge_whatsapp/vendor/github.com/gorilla/websocket/tls_handshake_116.go +0 -21
  160. slidge_whatsapp/vendor/github.com/gorilla/websocket/util.go +0 -298
  161. slidge_whatsapp/vendor/github.com/gorilla/websocket/x_net_proxy.go +0 -473
  162. {slidge_whatsapp-0.3.7.dist-info → slidge_whatsapp-0.3.8.dist-info}/WHEEL +0 -0
  163. {slidge_whatsapp-0.3.7.dist-info → slidge_whatsapp-0.3.8.dist-info}/entry_points.txt +0 -0
  164. {slidge_whatsapp-0.3.7.dist-info → slidge_whatsapp-0.3.8.dist-info}/licenses/LICENSE +0 -0
slidge_whatsapp/config.py CHANGED
@@ -22,14 +22,19 @@ DB_PATH__DOC = (
22
22
  )
23
23
 
24
24
  DB_PARAMS = "?_foreign_keys=true"
25
- DB_PARAMS__DOC = "Additional parameters to pass to database connection string."
25
+ DB_PARAMS__DOC = "Additional parameters to pass to database connection string"
26
26
 
27
27
  ALWAYS_SYNC_ROSTER = False
28
28
  ALWAYS_SYNC_ROSTER__DOC = (
29
- "Whether or not to perform a full sync of the WhatsApp roster on startup."
29
+ "Whether or not to perform a full sync of the WhatsApp roster on startup"
30
30
  )
31
31
 
32
32
  ENABLE_LINK_PREVIEWS = True
33
33
  ENABLE_LINK_PREVIEWS__DOC = (
34
34
  "Whether or not previews for links (URLs) should be generated on outgoing messages"
35
35
  )
36
+
37
+ ADD_GROUP_PARTICIPANTS_TO_ROSTER = True
38
+ ADD_GROUP_PARTICIPANTS_TO_ROSTER__DOC = (
39
+ "Whether or not group participants will be added to the XMPP roster"
40
+ )
@@ -51,7 +51,7 @@ class Roster(LegacyRoster[str, Contact]):
51
51
  contacts = self.session.whatsapp.GetContacts(refresh=config.ALWAYS_SYNC_ROSTER)
52
52
  for contact in contacts:
53
53
  c = await self.add_whatsapp_contact(contact)
54
- if c is not None:
54
+ if c is not None and c.is_friend:
55
55
  yield c
56
56
 
57
57
  async def add_whatsapp_contact(self, data: whatsapp.Contact) -> Contact | None:
@@ -62,8 +62,9 @@ class Roster(LegacyRoster[str, Contact]):
62
62
  if data.JID == self.user_legacy_id:
63
63
  return None
64
64
  contact = await self.by_legacy_id(data.JID)
65
+ self.session.log.debug("User named %s, friend: %s", data.Name, data.IsFriend)
65
66
  contact.name = data.Name
66
- contact.is_friend = True
67
+ contact.is_friend = data.IsFriend or config.ADD_GROUP_PARTICIPANTS_TO_ROSTER
67
68
  try:
68
69
  unique_id = ""
69
70
  if contact.avatar is not None:
slidge_whatsapp/event.go CHANGED
@@ -81,8 +81,9 @@ type Avatar struct {
81
81
  // A Contact represents any entity that be communicated with directly in WhatsApp. This typically
82
82
  // represents people, but may represent a business or bot as well, but not a group-chat.
83
83
  type Contact struct {
84
- JID string // The WhatsApp JID for this contact.
85
- Name string // The user-set, human-readable name for this contact.
84
+ JID string // The WhatsApp JID for this contact.
85
+ Name string // The user-set, human-readable name for this contact.
86
+ IsFriend bool // Whether this contact is in the user's contact list.
86
87
  }
87
88
 
88
89
  // NewContactEvent returns event data meant for [Session.propagateEvent] for the contact information
@@ -104,10 +105,13 @@ func newContact(jid types.JID, info types.ContactInfo) Contact {
104
105
  return Contact{}
105
106
  }
106
107
 
107
- // Find valid contact name from list of alternatives, or return empty contact if none could
108
- // be found.
109
- var contact = Contact{JID: jid.ToNonAD().String()}
110
- for _, n := range []string{info.FullName, info.FirstName, info.BusinessName, info.PushName} {
108
+ var contact = Contact{
109
+ JID: jid.ToNonAD().String(),
110
+ IsFriend: info.FullName != "", // Only trusted contacts have full names attached on WhatsApp.
111
+ }
112
+
113
+ // Find valid contact name from list of alternatives, or return empty contact if none could be found.
114
+ for _, n := range []string{info.FullName, info.FirstName, info.BusinessName, info.PushName, info.RedactedPhone} {
111
115
  if n != "" {
112
116
  contact.Name = n
113
117
  break
@@ -199,6 +203,7 @@ type Message struct {
199
203
  Receipts []Receipt // The receipt statuses for the message, typically provided alongside historical messages.
200
204
  Reactions []Message // Reactions attached to message, typically provided alongside historical messages.
201
205
  IsHistory bool // Whether or not the message is derived from message history.
206
+ ReferenceID string // A message referenced in this message, for edits.
202
207
  }
203
208
 
204
209
  // A Attachment represents additional binary data (e.g. images, videos, documents) provided alongside
@@ -310,8 +315,8 @@ func newMessageEvent(ctx context.Context, client *whatsmeow.Client, evt *events.
310
315
  case waE2E.ProtocolMessage_MESSAGE_EDIT:
311
316
  if m := p.GetEditedMessage(); m != nil {
312
317
  message.Kind = MessageEdit
313
- message.ID = p.Key.GetID()
314
318
  message.Body = m.GetConversation()
319
+ message.ReferenceID = p.Key.GetID()
315
320
  } else {
316
321
  return EventUnknown, nil
317
322
  }
@@ -410,9 +415,9 @@ func newMessageEvent(ctx context.Context, client *whatsmeow.Client, evt *events.
410
415
 
411
416
  // Handle group-chat invite link in text message.
412
417
  if code, ok := strings.CutPrefix(e.GetMatchedText(), whatsmeow.InviteLinkPrefix); ok {
413
- if info, err := client.GetGroupInfoFromLink(e.GetMatchedText()); err != nil {
418
+ if info, err := client.GetGroupInfoFromLink(ctx, e.GetMatchedText()); err != nil {
414
419
  client.Log.Errorf("Failed getting group info from invite: %s", err)
415
- } else if _, err := client.JoinGroupWithLink(code); err != nil {
420
+ } else if _, err := client.JoinGroupWithLink(ctx, code); err != nil {
416
421
  client.Log.Errorf("Failed joining group with invite: %s", err)
417
422
  } else {
418
423
  message.GroupInvite = newGroup(ctx, client, info)
@@ -101,7 +101,13 @@ func (w *Gateway) Init() error {
101
101
  // NewSession returns a new [Session] for the LinkedDevice given. If the linked device does not have
102
102
  // a valid ID, a pair operation will be required, as described in [Session.Login].
103
103
  func (w *Gateway) NewSession(device LinkedDevice) *Session {
104
- return &Session{device: device, gateway: w}
104
+ ctx, cancel := context.WithCancelCause(context.Background())
105
+ return &Session{
106
+ device: device,
107
+ gateway: w,
108
+ ctx: ctx,
109
+ ctxCancel: cancel,
110
+ }
105
111
  }
106
112
 
107
113
  // CleanupSession will remove all invalid and obsolete references to the given device, and should be
@@ -351,39 +351,75 @@ extern long long int Slice_whatsapp_Receipt_subslice(long long int handle, GoInt
351
351
  extern void Slice_whatsapp_Receipt_set(long long int handle, GoInt _idx, long long int _vl);
352
352
  extern void Slice_whatsapp_Receipt_append(long long int handle, long long int _vl);
353
353
 
354
- // --- wrapping struct: whatsapp.Connect ---
354
+ // --- wrapping struct: whatsapp.Call ---
355
355
  //
356
- extern long long int whatsapp_Connect_CTor();
357
- extern char* whatsapp_Connect_JID_Get(long long int handle);
358
- extern void whatsapp_Connect_JID_Set(long long int handle, char* val);
359
- extern char* whatsapp_Connect_Error_Get(long long int handle);
360
- extern void whatsapp_Connect_Error_Set(long long int handle, char* val);
356
+ extern long long int whatsapp_Call_CTor();
357
+ extern long long int whatsapp_Call_State_Get(long long int handle);
358
+ extern void whatsapp_Call_State_Set(long long int handle, long long int val);
359
+ extern char* whatsapp_Call_JID_Get(long long int handle);
360
+ extern void whatsapp_Call_JID_Set(long long int handle, char* val);
361
+ extern long long int whatsapp_Call_Timestamp_Get(long long int handle);
362
+ extern void whatsapp_Call_Timestamp_Set(long long int handle, long long int val);
361
363
 
362
- // --- wrapping struct: whatsapp.EventPayload ---
364
+ // --- wrapping struct: whatsapp.Contact ---
363
365
  //
364
- extern long long int whatsapp_EventPayload_CTor();
365
- extern char* whatsapp_EventPayload_QRCode_Get(long long int handle);
366
- extern void whatsapp_EventPayload_QRCode_Set(long long int handle, char* val);
367
- extern char* whatsapp_EventPayload_PairDeviceID_Get(long long int handle);
368
- extern void whatsapp_EventPayload_PairDeviceID_Set(long long int handle, char* val);
369
- extern long long int whatsapp_EventPayload_Connect_Get(long long int handle);
370
- extern void whatsapp_EventPayload_Connect_Set(long long int handle, long long int val);
371
- extern long long int whatsapp_EventPayload_LoggedOut_Get(long long int handle);
372
- extern void whatsapp_EventPayload_LoggedOut_Set(long long int handle, long long int val);
373
- extern long long int whatsapp_EventPayload_Contact_Get(long long int handle);
374
- extern void whatsapp_EventPayload_Contact_Set(long long int handle, long long int val);
375
- extern long long int whatsapp_EventPayload_Presence_Get(long long int handle);
376
- extern void whatsapp_EventPayload_Presence_Set(long long int handle, long long int val);
377
- extern long long int whatsapp_EventPayload_Message_Get(long long int handle);
378
- extern void whatsapp_EventPayload_Message_Set(long long int handle, long long int val);
379
- extern long long int whatsapp_EventPayload_ChatState_Get(long long int handle);
380
- extern void whatsapp_EventPayload_ChatState_Set(long long int handle, long long int val);
381
- extern long long int whatsapp_EventPayload_Receipt_Get(long long int handle);
382
- extern void whatsapp_EventPayload_Receipt_Set(long long int handle, long long int val);
383
- extern long long int whatsapp_EventPayload_Group_Get(long long int handle);
384
- extern void whatsapp_EventPayload_Group_Set(long long int handle, long long int val);
385
- extern long long int whatsapp_EventPayload_Call_Get(long long int handle);
386
- extern void whatsapp_EventPayload_Call_Set(long long int handle, long long int val);
366
+ extern long long int whatsapp_Contact_CTor();
367
+ extern char* whatsapp_Contact_JID_Get(long long int handle);
368
+ extern void whatsapp_Contact_JID_Set(long long int handle, char* val);
369
+ extern char* whatsapp_Contact_Name_Get(long long int handle);
370
+ extern void whatsapp_Contact_Name_Set(long long int handle, char* val);
371
+ extern char whatsapp_Contact_IsFriend_Get(long long int handle);
372
+ extern void whatsapp_Contact_IsFriend_Set(long long int handle, char val);
373
+
374
+ // --- wrapping struct: whatsapp.Group ---
375
+ //
376
+ extern long long int whatsapp_Group_CTor();
377
+ extern char* whatsapp_Group_JID_Get(long long int handle);
378
+ extern void whatsapp_Group_JID_Set(long long int handle, char* val);
379
+ extern char* whatsapp_Group_Name_Get(long long int handle);
380
+ extern void whatsapp_Group_Name_Set(long long int handle, char* val);
381
+ extern long long int whatsapp_Group_Subject_Get(long long int handle);
382
+ extern void whatsapp_Group_Subject_Set(long long int handle, long long int val);
383
+ extern char* whatsapp_Group_Nickname_Get(long long int handle);
384
+ extern void whatsapp_Group_Nickname_Set(long long int handle, char* val);
385
+ extern long long int whatsapp_Group_Participants_Get(long long int handle);
386
+ extern void whatsapp_Group_Participants_Set(long long int handle, long long int val);
387
+ extern char* whatsapp_Group_InviteCode_Get(long long int handle);
388
+ extern void whatsapp_Group_InviteCode_Set(long long int handle, char* val);
389
+
390
+ // --- wrapping struct: whatsapp.GroupSubject ---
391
+ //
392
+ extern long long int whatsapp_GroupSubject_CTor();
393
+ extern char* whatsapp_GroupSubject_Subject_Get(long long int handle);
394
+ extern void whatsapp_GroupSubject_Subject_Set(long long int handle, char* val);
395
+ extern long long int whatsapp_GroupSubject_SetAt_Get(long long int handle);
396
+ extern void whatsapp_GroupSubject_SetAt_Set(long long int handle, long long int val);
397
+ extern char* whatsapp_GroupSubject_SetBy_Get(long long int handle);
398
+ extern void whatsapp_GroupSubject_SetBy_Set(long long int handle, char* val);
399
+
400
+ // --- wrapping struct: whatsapp.Receipt ---
401
+ //
402
+ extern long long int whatsapp_Receipt_CTor();
403
+ extern long long int whatsapp_Receipt_Kind_Get(long long int handle);
404
+ extern void whatsapp_Receipt_Kind_Set(long long int handle, long long int val);
405
+ extern long long int whatsapp_Receipt_MessageIDs_Get(long long int handle);
406
+ extern void whatsapp_Receipt_MessageIDs_Set(long long int handle, long long int val);
407
+ extern char* whatsapp_Receipt_JID_Get(long long int handle);
408
+ extern void whatsapp_Receipt_JID_Set(long long int handle, char* val);
409
+ extern char* whatsapp_Receipt_GroupJID_Get(long long int handle);
410
+ extern void whatsapp_Receipt_GroupJID_Set(long long int handle, char* val);
411
+ extern long long int whatsapp_Receipt_Timestamp_Get(long long int handle);
412
+ extern void whatsapp_Receipt_Timestamp_Set(long long int handle, long long int val);
413
+ extern char whatsapp_Receipt_IsCarbon_Get(long long int handle);
414
+ extern void whatsapp_Receipt_IsCarbon_Set(long long int handle, char val);
415
+
416
+ // --- wrapping struct: whatsapp.Avatar ---
417
+ //
418
+ extern long long int whatsapp_Avatar_CTor();
419
+ extern char* whatsapp_Avatar_ID_Get(long long int handle);
420
+ extern void whatsapp_Avatar_ID_Set(long long int handle, char* val);
421
+ extern char* whatsapp_Avatar_URL_Get(long long int handle);
422
+ extern void whatsapp_Avatar_URL_Set(long long int handle, char* val);
387
423
 
388
424
  // --- wrapping struct: whatsapp.Message ---
389
425
  //
@@ -430,41 +466,14 @@ extern long long int whatsapp_Message_Reactions_Get(long long int handle);
430
466
  extern void whatsapp_Message_Reactions_Set(long long int handle, long long int val);
431
467
  extern char whatsapp_Message_IsHistory_Get(long long int handle);
432
468
  extern void whatsapp_Message_IsHistory_Set(long long int handle, char val);
469
+ extern char* whatsapp_Message_ReferenceID_Get(long long int handle);
470
+ extern void whatsapp_Message_ReferenceID_Set(long long int handle, char* val);
433
471
 
434
- // --- wrapping struct: whatsapp.Presence ---
435
- //
436
- extern long long int whatsapp_Presence_CTor();
437
- extern char* whatsapp_Presence_JID_Get(long long int handle);
438
- extern void whatsapp_Presence_JID_Set(long long int handle, char* val);
439
- extern long long int whatsapp_Presence_Kind_Get(long long int handle);
440
- extern void whatsapp_Presence_Kind_Set(long long int handle, long long int val);
441
- extern long long int whatsapp_Presence_LastSeen_Get(long long int handle);
442
- extern void whatsapp_Presence_LastSeen_Set(long long int handle, long long int val);
443
-
444
- // --- wrapping struct: whatsapp.Session ---
472
+ // --- wrapping struct: whatsapp.PollOption ---
445
473
  //
446
- extern long long int whatsapp_Session_CTor();
447
- extern char* whatsapp_Session_Login(long long int _handle);
448
- extern char* whatsapp_Session_Logout(long long int _handle);
449
- extern char* whatsapp_Session_Disconnect(long long int _handle);
450
- extern char* whatsapp_Session_PairPhone(long long int _handle, char* phone);
451
- extern char* whatsapp_Session_SendMessage(long long int _handle, long long int message);
452
- extern char* whatsapp_Session_GenerateMessageID(long long int _handle);
453
- extern char* whatsapp_Session_SendChatState(long long int _handle, long long int state);
454
- extern char* whatsapp_Session_SendReceipt(long long int _handle, long long int receipt);
455
- extern char* whatsapp_Session_SendPresence(long long int _handle, long long int presence, char* statusMessage);
456
- extern long long int whatsapp_Session_GetContacts(long long int _handle, char refresh);
457
- extern long long int whatsapp_Session_GetGroups(long long int _handle);
458
- extern long long int whatsapp_Session_CreateGroup(long long int _handle, char* name, long long int participants);
459
- extern char* whatsapp_Session_LeaveGroup(long long int _handle, char* resourceID);
460
- extern long long int whatsapp_Session_GetAvatar(long long int _handle, char* resourceID, char* avatarID);
461
- extern char* whatsapp_Session_SetAvatar(long long int _handle, char* resourceID, long long int avatar);
462
- extern char* whatsapp_Session_SetGroupName(long long int _handle, char* resourceID, char* name);
463
- extern char* whatsapp_Session_SetGroupTopic(long long int _handle, char* resourceID, char* topic);
464
- extern long long int whatsapp_Session_UpdateGroupParticipants(long long int _handle, char* resourceID, long long int participants);
465
- extern long long int whatsapp_Session_FindContact(long long int _handle, char* phone);
466
- extern char* whatsapp_Session_RequestMessageHistory(long long int _handle, char* resourceID, long long int oldestMessage);
467
- extern void whatsapp_Session_SetEventHandler(long long int _handle, PyObject* h, char goRun);
474
+ extern long long int whatsapp_PollOption_CTor();
475
+ extern char* whatsapp_PollOption_Title_Get(long long int handle);
476
+ extern void whatsapp_PollOption_Title_Set(long long int handle, char* val);
468
477
 
469
478
  // --- wrapping struct: whatsapp.Attachment ---
470
479
  //
@@ -479,70 +488,6 @@ extern long long int whatsapp_Attachment_Data_Get(long long int handle);
479
488
  extern void whatsapp_Attachment_Data_Set(long long int handle, long long int val);
480
489
  extern long long int whatsapp_Attachment_GetSpec(long long int _handle, long long int ctx);
481
490
 
482
- // --- wrapping struct: whatsapp.Group ---
483
- //
484
- extern long long int whatsapp_Group_CTor();
485
- extern char* whatsapp_Group_JID_Get(long long int handle);
486
- extern void whatsapp_Group_JID_Set(long long int handle, char* val);
487
- extern char* whatsapp_Group_Name_Get(long long int handle);
488
- extern void whatsapp_Group_Name_Set(long long int handle, char* val);
489
- extern long long int whatsapp_Group_Subject_Get(long long int handle);
490
- extern void whatsapp_Group_Subject_Set(long long int handle, long long int val);
491
- extern char* whatsapp_Group_Nickname_Get(long long int handle);
492
- extern void whatsapp_Group_Nickname_Set(long long int handle, char* val);
493
- extern long long int whatsapp_Group_Participants_Get(long long int handle);
494
- extern void whatsapp_Group_Participants_Set(long long int handle, long long int val);
495
- extern char* whatsapp_Group_InviteCode_Get(long long int handle);
496
- extern void whatsapp_Group_InviteCode_Set(long long int handle, char* val);
497
-
498
- // --- wrapping struct: whatsapp.GroupParticipant ---
499
- //
500
- extern long long int whatsapp_GroupParticipant_CTor();
501
- extern char* whatsapp_GroupParticipant_JID_Get(long long int handle);
502
- extern void whatsapp_GroupParticipant_JID_Set(long long int handle, char* val);
503
- extern char* whatsapp_GroupParticipant_Nickname_Get(long long int handle);
504
- extern void whatsapp_GroupParticipant_Nickname_Set(long long int handle, char* val);
505
- extern long long int whatsapp_GroupParticipant_Affiliation_Get(long long int handle);
506
- extern void whatsapp_GroupParticipant_Affiliation_Set(long long int handle, long long int val);
507
- extern long long int whatsapp_GroupParticipant_Action_Get(long long int handle);
508
- extern void whatsapp_GroupParticipant_Action_Set(long long int handle, long long int val);
509
-
510
- // --- wrapping struct: whatsapp.Receipt ---
511
- //
512
- extern long long int whatsapp_Receipt_CTor();
513
- extern long long int whatsapp_Receipt_Kind_Get(long long int handle);
514
- extern void whatsapp_Receipt_Kind_Set(long long int handle, long long int val);
515
- extern long long int whatsapp_Receipt_MessageIDs_Get(long long int handle);
516
- extern void whatsapp_Receipt_MessageIDs_Set(long long int handle, long long int val);
517
- extern char* whatsapp_Receipt_JID_Get(long long int handle);
518
- extern void whatsapp_Receipt_JID_Set(long long int handle, char* val);
519
- extern char* whatsapp_Receipt_GroupJID_Get(long long int handle);
520
- extern void whatsapp_Receipt_GroupJID_Set(long long int handle, char* val);
521
- extern long long int whatsapp_Receipt_Timestamp_Get(long long int handle);
522
- extern void whatsapp_Receipt_Timestamp_Set(long long int handle, long long int val);
523
- extern char whatsapp_Receipt_IsCarbon_Get(long long int handle);
524
- extern void whatsapp_Receipt_IsCarbon_Set(long long int handle, char val);
525
-
526
- // --- wrapping struct: whatsapp.Album ---
527
- //
528
- extern long long int whatsapp_Album_CTor();
529
- extern char whatsapp_Album_IsAlbum_Get(long long int handle);
530
- extern void whatsapp_Album_IsAlbum_Set(long long int handle, char val);
531
- extern long long int whatsapp_Album_ImageCount_Get(long long int handle);
532
- extern void whatsapp_Album_ImageCount_Set(long long int handle, long long int val);
533
- extern long long int whatsapp_Album_VideoCount_Get(long long int handle);
534
- extern void whatsapp_Album_VideoCount_Set(long long int handle, long long int val);
535
-
536
- // --- wrapping struct: whatsapp.Call ---
537
- //
538
- extern long long int whatsapp_Call_CTor();
539
- extern long long int whatsapp_Call_State_Get(long long int handle);
540
- extern void whatsapp_Call_State_Set(long long int handle, long long int val);
541
- extern char* whatsapp_Call_JID_Get(long long int handle);
542
- extern void whatsapp_Call_JID_Set(long long int handle, char* val);
543
- extern long long int whatsapp_Call_Timestamp_Get(long long int handle);
544
- extern void whatsapp_Call_Timestamp_Set(long long int handle, long long int val);
545
-
546
491
  // --- wrapping struct: whatsapp.Gateway ---
547
492
  //
548
493
  extern long long int whatsapp_Gateway_CTor();
@@ -558,22 +503,17 @@ extern char* whatsapp_Gateway_Init(long long int _handle);
558
503
  extern long long int whatsapp_Gateway_NewSession(long long int _handle, long long int device);
559
504
  extern char* whatsapp_Gateway_CleanupSession(long long int _handle, long long int device);
560
505
 
561
- // --- wrapping struct: whatsapp.GroupSubject ---
562
- //
563
- extern long long int whatsapp_GroupSubject_CTor();
564
- extern char* whatsapp_GroupSubject_Subject_Get(long long int handle);
565
- extern void whatsapp_GroupSubject_Subject_Set(long long int handle, char* val);
566
- extern long long int whatsapp_GroupSubject_SetAt_Get(long long int handle);
567
- extern void whatsapp_GroupSubject_SetAt_Set(long long int handle, long long int val);
568
- extern char* whatsapp_GroupSubject_SetBy_Get(long long int handle);
569
- extern void whatsapp_GroupSubject_SetBy_Set(long long int handle, char* val);
570
-
571
- // --- wrapping struct: whatsapp.LinkedDevice ---
506
+ // --- wrapping struct: whatsapp.GroupParticipant ---
572
507
  //
573
- extern long long int whatsapp_LinkedDevice_CTor();
574
- extern char* whatsapp_LinkedDevice_ID_Get(long long int handle);
575
- extern void whatsapp_LinkedDevice_ID_Set(long long int handle, char* val);
576
- extern long long int whatsapp_LinkedDevice_JID(long long int _handle);
508
+ extern long long int whatsapp_GroupParticipant_CTor();
509
+ extern char* whatsapp_GroupParticipant_JID_Get(long long int handle);
510
+ extern void whatsapp_GroupParticipant_JID_Set(long long int handle, char* val);
511
+ extern char* whatsapp_GroupParticipant_Nickname_Get(long long int handle);
512
+ extern void whatsapp_GroupParticipant_Nickname_Set(long long int handle, char* val);
513
+ extern long long int whatsapp_GroupParticipant_Affiliation_Get(long long int handle);
514
+ extern void whatsapp_GroupParticipant_Affiliation_Set(long long int handle, long long int val);
515
+ extern long long int whatsapp_GroupParticipant_Action_Get(long long int handle);
516
+ extern void whatsapp_GroupParticipant_Action_Set(long long int handle, long long int val);
577
517
 
578
518
  // --- wrapping struct: whatsapp.Location ---
579
519
  //
@@ -593,25 +533,58 @@ extern void whatsapp_Location_Address_Set(long long int handle, char* val);
593
533
  extern char* whatsapp_Location_URL_Get(long long int handle);
594
534
  extern void whatsapp_Location_URL_Set(long long int handle, char* val);
595
535
 
596
- // --- wrapping struct: whatsapp.PollOption ---
536
+ // --- wrapping struct: whatsapp.Poll ---
597
537
  //
598
- extern long long int whatsapp_PollOption_CTor();
599
- extern char* whatsapp_PollOption_Title_Get(long long int handle);
600
- extern void whatsapp_PollOption_Title_Set(long long int handle, char* val);
538
+ extern long long int whatsapp_Poll_CTor();
539
+ extern char* whatsapp_Poll_Title_Get(long long int handle);
540
+ extern void whatsapp_Poll_Title_Set(long long int handle, char* val);
541
+ extern long long int whatsapp_Poll_Options_Get(long long int handle);
542
+ extern void whatsapp_Poll_Options_Set(long long int handle, long long int val);
601
543
 
602
- // --- wrapping struct: whatsapp.Preview ---
544
+ // --- wrapping struct: whatsapp.Presence ---
603
545
  //
604
- extern long long int whatsapp_Preview_CTor();
605
- extern long long int whatsapp_Preview_Kind_Get(long long int handle);
606
- extern void whatsapp_Preview_Kind_Set(long long int handle, long long int val);
607
- extern char* whatsapp_Preview_URL_Get(long long int handle);
608
- extern void whatsapp_Preview_URL_Set(long long int handle, char* val);
609
- extern char* whatsapp_Preview_Title_Get(long long int handle);
610
- extern void whatsapp_Preview_Title_Set(long long int handle, char* val);
611
- extern char* whatsapp_Preview_Description_Get(long long int handle);
612
- extern void whatsapp_Preview_Description_Set(long long int handle, char* val);
613
- extern long long int whatsapp_Preview_Thumbnail_Get(long long int handle);
614
- extern void whatsapp_Preview_Thumbnail_Set(long long int handle, long long int val);
546
+ extern long long int whatsapp_Presence_CTor();
547
+ extern char* whatsapp_Presence_JID_Get(long long int handle);
548
+ extern void whatsapp_Presence_JID_Set(long long int handle, char* val);
549
+ extern long long int whatsapp_Presence_Kind_Get(long long int handle);
550
+ extern void whatsapp_Presence_Kind_Set(long long int handle, long long int val);
551
+ extern long long int whatsapp_Presence_LastSeen_Get(long long int handle);
552
+ extern void whatsapp_Presence_LastSeen_Set(long long int handle, long long int val);
553
+
554
+ // --- wrapping struct: whatsapp.Session ---
555
+ //
556
+ extern long long int whatsapp_Session_CTor();
557
+ extern char* whatsapp_Session_Login(long long int _handle);
558
+ extern char* whatsapp_Session_Logout(long long int _handle);
559
+ extern char* whatsapp_Session_Disconnect(long long int _handle);
560
+ extern char* whatsapp_Session_PairPhone(long long int _handle, char* phone);
561
+ extern char* whatsapp_Session_SendMessage(long long int _handle, long long int message);
562
+ extern char* whatsapp_Session_GenerateMessageID(long long int _handle);
563
+ extern char* whatsapp_Session_SendChatState(long long int _handle, long long int state);
564
+ extern char* whatsapp_Session_SendReceipt(long long int _handle, long long int receipt);
565
+ extern char* whatsapp_Session_SendPresence(long long int _handle, long long int presence, char* statusMessage);
566
+ extern long long int whatsapp_Session_GetContacts(long long int _handle, char refresh);
567
+ extern long long int whatsapp_Session_GetGroups(long long int _handle);
568
+ extern long long int whatsapp_Session_CreateGroup(long long int _handle, char* name, long long int participants);
569
+ extern char* whatsapp_Session_LeaveGroup(long long int _handle, char* resourceID);
570
+ extern long long int whatsapp_Session_GetAvatar(long long int _handle, char* resourceID, char* avatarID);
571
+ extern char* whatsapp_Session_SetAvatar(long long int _handle, char* resourceID, long long int avatar);
572
+ extern char* whatsapp_Session_SetGroupName(long long int _handle, char* resourceID, char* name);
573
+ extern char* whatsapp_Session_SetGroupTopic(long long int _handle, char* resourceID, char* topic);
574
+ extern long long int whatsapp_Session_UpdateGroupParticipants(long long int _handle, char* resourceID, long long int participants);
575
+ extern long long int whatsapp_Session_FindContact(long long int _handle, char* phone);
576
+ extern char* whatsapp_Session_RequestMessageHistory(long long int _handle, char* resourceID, long long int oldestMessage);
577
+ extern void whatsapp_Session_SetEventHandler(long long int _handle, PyObject* h, char goRun);
578
+
579
+ // --- wrapping struct: whatsapp.Album ---
580
+ //
581
+ extern long long int whatsapp_Album_CTor();
582
+ extern char whatsapp_Album_IsAlbum_Get(long long int handle);
583
+ extern void whatsapp_Album_IsAlbum_Set(long long int handle, char val);
584
+ extern long long int whatsapp_Album_ImageCount_Get(long long int handle);
585
+ extern void whatsapp_Album_ImageCount_Set(long long int handle, long long int val);
586
+ extern long long int whatsapp_Album_VideoCount_Get(long long int handle);
587
+ extern void whatsapp_Album_VideoCount_Set(long long int handle, long long int val);
615
588
 
616
589
  // --- wrapping struct: whatsapp.ChatState ---
617
590
  //
@@ -623,13 +596,46 @@ extern void whatsapp_ChatState_JID_Set(long long int handle, char* val);
623
596
  extern char* whatsapp_ChatState_GroupJID_Get(long long int handle);
624
597
  extern void whatsapp_ChatState_GroupJID_Set(long long int handle, char* val);
625
598
 
626
- // --- wrapping struct: whatsapp.Contact ---
599
+ // --- wrapping struct: whatsapp.Connect ---
627
600
  //
628
- extern long long int whatsapp_Contact_CTor();
629
- extern char* whatsapp_Contact_JID_Get(long long int handle);
630
- extern void whatsapp_Contact_JID_Set(long long int handle, char* val);
631
- extern char* whatsapp_Contact_Name_Get(long long int handle);
632
- extern void whatsapp_Contact_Name_Set(long long int handle, char* val);
601
+ extern long long int whatsapp_Connect_CTor();
602
+ extern char* whatsapp_Connect_JID_Get(long long int handle);
603
+ extern void whatsapp_Connect_JID_Set(long long int handle, char* val);
604
+ extern char* whatsapp_Connect_Error_Get(long long int handle);
605
+ extern void whatsapp_Connect_Error_Set(long long int handle, char* val);
606
+
607
+ // --- wrapping struct: whatsapp.EventPayload ---
608
+ //
609
+ extern long long int whatsapp_EventPayload_CTor();
610
+ extern char* whatsapp_EventPayload_QRCode_Get(long long int handle);
611
+ extern void whatsapp_EventPayload_QRCode_Set(long long int handle, char* val);
612
+ extern char* whatsapp_EventPayload_PairDeviceID_Get(long long int handle);
613
+ extern void whatsapp_EventPayload_PairDeviceID_Set(long long int handle, char* val);
614
+ extern long long int whatsapp_EventPayload_Connect_Get(long long int handle);
615
+ extern void whatsapp_EventPayload_Connect_Set(long long int handle, long long int val);
616
+ extern long long int whatsapp_EventPayload_LoggedOut_Get(long long int handle);
617
+ extern void whatsapp_EventPayload_LoggedOut_Set(long long int handle, long long int val);
618
+ extern long long int whatsapp_EventPayload_Contact_Get(long long int handle);
619
+ extern void whatsapp_EventPayload_Contact_Set(long long int handle, long long int val);
620
+ extern long long int whatsapp_EventPayload_Presence_Get(long long int handle);
621
+ extern void whatsapp_EventPayload_Presence_Set(long long int handle, long long int val);
622
+ extern long long int whatsapp_EventPayload_Message_Get(long long int handle);
623
+ extern void whatsapp_EventPayload_Message_Set(long long int handle, long long int val);
624
+ extern long long int whatsapp_EventPayload_ChatState_Get(long long int handle);
625
+ extern void whatsapp_EventPayload_ChatState_Set(long long int handle, long long int val);
626
+ extern long long int whatsapp_EventPayload_Receipt_Get(long long int handle);
627
+ extern void whatsapp_EventPayload_Receipt_Set(long long int handle, long long int val);
628
+ extern long long int whatsapp_EventPayload_Group_Get(long long int handle);
629
+ extern void whatsapp_EventPayload_Group_Set(long long int handle, long long int val);
630
+ extern long long int whatsapp_EventPayload_Call_Get(long long int handle);
631
+ extern void whatsapp_EventPayload_Call_Set(long long int handle, long long int val);
632
+
633
+ // --- wrapping struct: whatsapp.LinkedDevice ---
634
+ //
635
+ extern long long int whatsapp_LinkedDevice_CTor();
636
+ extern char* whatsapp_LinkedDevice_ID_Get(long long int handle);
637
+ extern void whatsapp_LinkedDevice_ID_Set(long long int handle, char* val);
638
+ extern long long int whatsapp_LinkedDevice_JID(long long int _handle);
633
639
 
634
640
  // --- wrapping struct: whatsapp.LoggedOut ---
635
641
  //
@@ -637,21 +643,19 @@ extern long long int whatsapp_LoggedOut_CTor();
637
643
  extern char* whatsapp_LoggedOut_Reason_Get(long long int handle);
638
644
  extern void whatsapp_LoggedOut_Reason_Set(long long int handle, char* val);
639
645
 
640
- // --- wrapping struct: whatsapp.Poll ---
641
- //
642
- extern long long int whatsapp_Poll_CTor();
643
- extern char* whatsapp_Poll_Title_Get(long long int handle);
644
- extern void whatsapp_Poll_Title_Set(long long int handle, char* val);
645
- extern long long int whatsapp_Poll_Options_Get(long long int handle);
646
- extern void whatsapp_Poll_Options_Set(long long int handle, long long int val);
647
-
648
- // --- wrapping struct: whatsapp.Avatar ---
646
+ // --- wrapping struct: whatsapp.Preview ---
649
647
  //
650
- extern long long int whatsapp_Avatar_CTor();
651
- extern char* whatsapp_Avatar_ID_Get(long long int handle);
652
- extern void whatsapp_Avatar_ID_Set(long long int handle, char* val);
653
- extern char* whatsapp_Avatar_URL_Get(long long int handle);
654
- extern void whatsapp_Avatar_URL_Set(long long int handle, char* val);
648
+ extern long long int whatsapp_Preview_CTor();
649
+ extern long long int whatsapp_Preview_Kind_Get(long long int handle);
650
+ extern void whatsapp_Preview_Kind_Set(long long int handle, long long int val);
651
+ extern char* whatsapp_Preview_URL_Get(long long int handle);
652
+ extern void whatsapp_Preview_URL_Set(long long int handle, char* val);
653
+ extern char* whatsapp_Preview_Title_Get(long long int handle);
654
+ extern void whatsapp_Preview_Title_Set(long long int handle, char* val);
655
+ extern char* whatsapp_Preview_Description_Get(long long int handle);
656
+ extern void whatsapp_Preview_Description_Set(long long int handle, char* val);
657
+ extern long long int whatsapp_Preview_Thumbnail_Get(long long int handle);
658
+ extern void whatsapp_Preview_Thumbnail_Set(long long int handle, long long int val);
655
659
  extern long long int whatsapp_NewGateway();
656
660
  extern char whatsapp_IsAnonymousJID(char* id);
657
661