slidge-whatsapp 0.3.0b0__cp313-cp313-manylinux_2_36_x86_64.whl → 0.3.2__cp313-cp313-manylinux_2_36_x86_64.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.

Potentially problematic release.


This version of slidge-whatsapp might be problematic. Click here for more details.

Files changed (162) hide show
  1. slidge_whatsapp/contact.py +2 -0
  2. slidge_whatsapp/event.go +72 -22
  3. slidge_whatsapp/generated/_whatsapp.cpython-313-x86_64-linux-gnu.h +188 -188
  4. slidge_whatsapp/generated/_whatsapp.cpython-313-x86_64-linux-gnu.so +0 -0
  5. slidge_whatsapp/generated/build.py +143 -143
  6. slidge_whatsapp/generated/whatsapp.c +1599 -1599
  7. slidge_whatsapp/generated/whatsapp.go +1217 -1217
  8. slidge_whatsapp/generated/whatsapp.py +1307 -1307
  9. slidge_whatsapp/generated/whatsapp_go.h +188 -188
  10. slidge_whatsapp/go.mod +11 -11
  11. slidge_whatsapp/go.sum +26 -26
  12. slidge_whatsapp/session.go +4 -4
  13. slidge_whatsapp/vendor/github.com/ebitengine/purego/README.md +21 -5
  14. slidge_whatsapp/vendor/github.com/ebitengine/purego/abi_loong64.h +60 -0
  15. slidge_whatsapp/vendor/github.com/ebitengine/purego/cgo.go +1 -1
  16. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlerror.go +1 -1
  17. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn.go +1 -1
  18. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_netbsd.go +15 -0
  19. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_nocgo_netbsd.go +9 -0
  20. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_stubs.s +1 -1
  21. slidge_whatsapp/vendor/github.com/ebitengine/purego/func.go +113 -60
  22. slidge_whatsapp/vendor/github.com/ebitengine/purego/gen.go +6 -0
  23. slidge_whatsapp/vendor/github.com/ebitengine/purego/go_runtime.go +1 -1
  24. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/cgo/dlfcn_cgo_unix.go +2 -2
  25. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/cgo/syscall_cgo_unix.go +2 -2
  26. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/abi_loong64.h +60 -0
  27. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/asm_loong64.s +40 -0
  28. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/callbacks.go +1 -1
  29. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/doc.go +1 -1
  30. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_libinit.go +1 -1
  31. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_linux_loong64.go +92 -0
  32. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_netbsd.go +106 -0
  33. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_setenv.go +1 -1
  34. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_util.go +1 -1
  35. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/iscgo.go +1 -1
  36. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo.go +1 -1
  37. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_darwin.go +4 -0
  38. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_freebsd.go +4 -0
  39. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_linux.go +4 -0
  40. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/libcgo_netbsd.go +26 -0
  41. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/netbsd.go +23 -0
  42. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/setenv.go +1 -1
  43. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols.go +11 -1
  44. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_darwin.go +1 -0
  45. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_freebsd.go +1 -0
  46. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_linux.go +1 -0
  47. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols_netbsd.go +30 -0
  48. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_loong64.s +71 -0
  49. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/trampolines_stubs.s +5 -1
  50. slidge_whatsapp/vendor/github.com/ebitengine/purego/nocgo.go +1 -1
  51. slidge_whatsapp/vendor/github.com/ebitengine/purego/struct_amd64.go +8 -4
  52. slidge_whatsapp/vendor/github.com/ebitengine/purego/struct_arm64.go +16 -6
  53. slidge_whatsapp/vendor/github.com/ebitengine/purego/struct_loong64.go +190 -0
  54. slidge_whatsapp/vendor/github.com/ebitengine/purego/struct_other.go +6 -2
  55. slidge_whatsapp/vendor/github.com/ebitengine/purego/sys_amd64.s +1 -1
  56. slidge_whatsapp/vendor/github.com/ebitengine/purego/sys_arm64.s +1 -1
  57. slidge_whatsapp/vendor/github.com/ebitengine/purego/sys_loong64.s +96 -0
  58. slidge_whatsapp/vendor/github.com/ebitengine/purego/sys_unix_arm64.s +1 -1
  59. slidge_whatsapp/vendor/github.com/ebitengine/purego/sys_unix_loong64.s +75 -0
  60. slidge_whatsapp/vendor/github.com/ebitengine/purego/syscall.go +6 -3
  61. slidge_whatsapp/vendor/github.com/ebitengine/purego/syscall_cgo_linux.go +3 -3
  62. slidge_whatsapp/vendor/github.com/ebitengine/purego/syscall_sysv.go +13 -10
  63. slidge_whatsapp/vendor/github.com/ebitengine/purego/syscall_windows.go +1 -1
  64. slidge_whatsapp/vendor/github.com/ebitengine/purego/zcallback_amd64.s +2002 -2002
  65. slidge_whatsapp/vendor/github.com/ebitengine/purego/zcallback_arm64.s +4002 -4002
  66. slidge_whatsapp/vendor/github.com/ebitengine/purego/zcallback_loong64.s +4014 -0
  67. slidge_whatsapp/vendor/go.mau.fi/libsignal/session/SessionCipher.go +7 -2
  68. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/log.go +1 -0
  69. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/module.go +119 -0
  70. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/upgradetable.go +3 -34
  71. slidge_whatsapp/vendor/go.mau.fi/util/exbytes/string.go +20 -0
  72. slidge_whatsapp/vendor/go.mau.fi/util/exbytes/writer.go +78 -0
  73. slidge_whatsapp/vendor/go.mau.fi/util/exslices/cast.go +42 -0
  74. slidge_whatsapp/vendor/go.mau.fi/util/exslices/chunk.go +28 -0
  75. slidge_whatsapp/vendor/go.mau.fi/util/exslices/deduplicate.go +67 -0
  76. slidge_whatsapp/vendor/go.mau.fi/util/exslices/diff.go +63 -0
  77. slidge_whatsapp/vendor/go.mau.fi/util/exsync/event.go +15 -1
  78. slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncmap.go +48 -7
  79. slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncset.go +13 -0
  80. slidge_whatsapp/vendor/go.mau.fi/util/jsontime/helpers.go +16 -5
  81. slidge_whatsapp/vendor/go.mau.fi/util/jsontime/integer.go +27 -12
  82. slidge_whatsapp/vendor/go.mau.fi/util/random/string.go +47 -7
  83. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/decode.go +1 -0
  84. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/encode.go +60 -15
  85. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/hash.go +1 -0
  86. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate.go +20 -2
  87. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/armadillomessage.go +2 -2
  88. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/call.go +6 -0
  89. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/errors.go +1 -0
  90. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/group.go +63 -42
  91. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/internals.go +31 -15
  92. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/message.go +77 -26
  93. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/msgsecret.go +23 -0
  94. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/notification.go +5 -1
  95. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair.go +22 -23
  96. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/prekeys.go +21 -0
  97. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAICommon/WAAICommon.pb.go +7747 -0
  98. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/{waBotMetadata/WABotMetadata.proto → waAICommon/WAAICommon.proto} +269 -9
  99. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.go +128 -14
  100. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto +10 -0
  101. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.go +8953 -10087
  102. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.proto +216 -330
  103. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.go +11 -2
  104. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.proto +1 -0
  105. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.pb.go +226 -83
  106. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.proto +14 -0
  107. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.go +709 -449
  108. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.proto +24 -0
  109. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.go +78 -24
  110. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.proto +6 -0
  111. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.go +528 -267
  112. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.proto +24 -0
  113. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/receipt.go +47 -14
  114. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/request.go +4 -0
  115. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/retry.go +6 -13
  116. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/send.go +130 -62
  117. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/sendfb.go +33 -32
  118. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/clientpayload.go +1 -1
  119. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/noop.go +16 -0
  120. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/signal.go +8 -0
  121. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/lidmap.go +82 -4
  122. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/store.go +135 -55
  123. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/00-latest-schema.sql +8 -7
  124. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/11-redacted-phone-contacts.sql +2 -0
  125. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/store.go +24 -2
  126. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/call.go +6 -5
  127. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/jid.go +24 -9
  128. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/message.go +7 -1
  129. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/user.go +3 -0
  130. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/user.go +43 -3
  131. slidge_whatsapp/vendor/golang.org/x/crypto/curve25519/curve25519.go +7 -4
  132. slidge_whatsapp/vendor/golang.org/x/net/http2/config.go +11 -6
  133. slidge_whatsapp/vendor/golang.org/x/net/http2/frame.go +24 -1
  134. slidge_whatsapp/vendor/golang.org/x/net/http2/http2.go +0 -1
  135. slidge_whatsapp/vendor/golang.org/x/net/http2/server.go +35 -26
  136. slidge_whatsapp/vendor/golang.org/x/net/http2/transport.go +4 -2
  137. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched.go +2 -0
  138. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_roundrobin.go +1 -1
  139. slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/request.go +2 -2
  140. slidge_whatsapp/vendor/golang.org/x/net/internal/socks/socks.go +1 -1
  141. slidge_whatsapp/vendor/golang.org/x/sys/unix/affinity_linux.go +9 -0
  142. slidge_whatsapp/vendor/golang.org/x/sys/unix/fdset.go +1 -3
  143. slidge_whatsapp/vendor/golang.org/x/sys/unix/ifreq_linux.go +1 -3
  144. slidge_whatsapp/vendor/golang.org/x/sys/unix/mkall.sh +1 -0
  145. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux.go +1 -3
  146. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_netbsd.go +17 -0
  147. slidge_whatsapp/vendor/golang.org/x/sys/windows/syscall_windows.go +2 -0
  148. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows.go +16 -0
  149. slidge_whatsapp/vendor/golang.org/x/sys/windows/zsyscall_windows.go +18 -0
  150. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/core.go +2 -9
  151. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/desc.go +35 -17
  152. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go +14 -0
  153. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go +20 -0
  154. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/version/version.go +1 -1
  155. slidge_whatsapp/vendor/modules.txt +15 -13
  156. {slidge_whatsapp-0.3.0b0.dist-info → slidge_whatsapp-0.3.2.dist-info}/METADATA +4 -3
  157. {slidge_whatsapp-0.3.0b0.dist-info → slidge_whatsapp-0.3.2.dist-info}/RECORD +160 -137
  158. {slidge_whatsapp-0.3.0b0.dist-info → slidge_whatsapp-0.3.2.dist-info}/WHEEL +1 -1
  159. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waBotMetadata/WABotMetadata.pb.go +0 -5156
  160. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_priority.go +0 -451
  161. {slidge_whatsapp-0.3.0b0.dist-info → slidge_whatsapp-0.3.2.dist-info}/entry_points.txt +0 -0
  162. {slidge_whatsapp-0.3.0b0.dist-info → slidge_whatsapp-0.3.2.dist-info/licenses}/LICENSE +0 -0
@@ -77,6 +77,8 @@ class Roster(LegacyRoster[str, Contact]):
77
77
  return contact
78
78
 
79
79
  async def legacy_id_to_jid_username(self, legacy_id: str) -> str:
80
+ if not "@" in legacy_id:
81
+ raise XMPPError("item-not-found", "Invalid contact ID, not a JID")
80
82
  return "+" + legacy_id[: legacy_id.find("@")]
81
83
 
82
84
  async def jid_username_to_legacy_id(self, jid_username: str) -> str:
slidge_whatsapp/event.go CHANGED
@@ -142,6 +142,10 @@ type Presence struct {
142
142
  // NewPresenceEvent returns event data meant for [Session.propagateEvent] for the primitive presence
143
143
  // event given.
144
144
  func newPresenceEvent(evt *events.Presence) (EventKind, *EventPayload) {
145
+ if evt.From.Server == types.HiddenUserServer {
146
+ return EventUnknown, nil
147
+ }
148
+
145
149
  var presence = Presence{
146
150
  JID: evt.From.ToNonAD().String(),
147
151
  Kind: PresenceAvailable,
@@ -388,7 +392,7 @@ func newMessageEvent(ctx context.Context, client *whatsmeow.Client, evt *events.
388
392
  message.Attachments = append(message.Attachments, attach...)
389
393
  message.Kind = MessageAttachment
390
394
  if context != nil {
391
- message = getMessageWithContext(message, context)
395
+ message = getMessageWithContext(ctx, client, message, context)
392
396
  }
393
397
  }
394
398
 
@@ -409,7 +413,7 @@ func newMessageEvent(ctx context.Context, client *whatsmeow.Client, evt *events.
409
413
  message.GroupInvite = newGroup(ctx, client, info)
410
414
  }
411
415
  } else {
412
- message = getMessageWithContext(message, e.GetContextInfo())
416
+ message = getMessageWithContext(ctx, client, message, e.GetContextInfo())
413
417
  }
414
418
  }
415
419
 
@@ -424,15 +428,21 @@ func newMessageEvent(ctx context.Context, client *whatsmeow.Client, evt *events.
424
428
  // GetMessageWithContext processes the given [Message] and applies any context metadata might be
425
429
  // useful; examples of context include messages being quoted. If no context is found, the original
426
430
  // message is returned unchanged.
427
- func getMessageWithContext(message Message, info *waE2E.ContextInfo) Message {
431
+ func getMessageWithContext(ctx context.Context, client *whatsmeow.Client, message Message, info *waE2E.ContextInfo) Message {
428
432
  if info == nil {
429
433
  return message
430
434
  }
431
435
 
436
+ originJID, err := types.ParseJID(info.GetParticipant())
437
+ if err != nil {
438
+ return message
439
+ }
440
+
432
441
  message.ReplyID = info.GetStanzaID()
433
- message.OriginJID = info.GetParticipant()
442
+ message.OriginJID = getPreferredJID(ctx, client, originJID).ToNonAD().String()
434
443
  message.IsForwarded = info.GetIsForwarded()
435
444
 
445
+ // Handle reply messages.
436
446
  if q := info.GetQuotedMessage(); q != nil {
437
447
  if qe := q.GetExtendedTextMessage(); qe != nil {
438
448
  message.ReplyBody = qe.GetText()
@@ -441,6 +451,23 @@ func getMessageWithContext(message Message, info *waE2E.ContextInfo) Message {
441
451
  }
442
452
  }
443
453
 
454
+ // Replace LIDs with JIDs in message mentions, if possible.
455
+ if m := info.GetMentionedJID(); len(m) > 0 {
456
+ for i := range m {
457
+ mentionLID, err := types.ParseJID(m[i])
458
+ if err != nil || mentionLID.Server != types.HiddenUserServer {
459
+ continue
460
+ }
461
+
462
+ mentionJID := getPreferredJID(ctx, client, mentionLID)
463
+ if mentionLID == mentionJID {
464
+ continue
465
+ }
466
+
467
+ message.Body = strings.ReplaceAll(message.Body, "@"+mentionLID.User, "@"+mentionJID.User)
468
+ }
469
+ }
470
+
444
471
  return message
445
472
  }
446
473
 
@@ -891,7 +918,11 @@ func newEventFromHistory(ctx context.Context, client *whatsmeow.Client, info *wa
891
918
  }
892
919
 
893
920
  if info.Participant != nil {
894
- message.JID = info.GetParticipant()
921
+ jid, err := types.ParseJID(info.GetParticipant())
922
+ if err != nil {
923
+ return EventUnknown, nil
924
+ }
925
+ message.JID = getPreferredJID(ctx, client, jid).ToNonAD().String()
895
926
  } else if info.GetKey().GetFromMe() {
896
927
  message.JID = client.Store.ID.ToNonAD().String()
897
928
  } else {
@@ -906,9 +937,13 @@ func newEventFromHistory(ctx context.Context, client *whatsmeow.Client, info *wa
906
937
  case waWeb.WebMessageInfo_CIPHERTEXT:
907
938
  return EventUnknown, nil
908
939
  case waWeb.WebMessageInfo_CALL_MISSED_VOICE, waWeb.WebMessageInfo_CALL_MISSED_VIDEO:
940
+ jid, err := types.ParseJID(info.GetKey().GetParticipant())
941
+ if err != nil {
942
+ return EventUnknown, nil
943
+ }
909
944
  return EventCall, &EventPayload{Call: Call{
910
945
  State: CallMissed,
911
- JID: info.GetKey().GetRemoteJID(),
946
+ JID: getPreferredJID(ctx, client, jid).ToNonAD().String(),
912
947
  Timestamp: int64(info.GetMessageTimestamp()),
913
948
  }}
914
949
  case waWeb.WebMessageInfo_REVOKE:
@@ -924,10 +959,14 @@ func newEventFromHistory(ctx context.Context, client *whatsmeow.Client, info *wa
924
959
  // Handle emoji reaction to existing message.
925
960
  for _, r := range info.GetReactions() {
926
961
  if r.GetText() != "" {
962
+ jid, err := types.ParseJID(r.GetKey().GetParticipant())
963
+ if err != nil {
964
+ continue
965
+ }
927
966
  message.Reactions = append(message.Reactions, Message{
928
967
  Kind: MessageReaction,
929
968
  ID: r.GetKey().GetID(),
930
- JID: r.GetKey().GetRemoteJID(),
969
+ JID: getPreferredJID(ctx, client, jid).ToNonAD().String(),
931
970
  Body: r.GetText(),
932
971
  Timestamp: r.GetSenderTimestampMS() / 1000,
933
972
  IsCarbon: r.GetKey().GetFromMe(),
@@ -943,7 +982,7 @@ func newEventFromHistory(ctx context.Context, client *whatsmeow.Client, info *wa
943
982
  message.Attachments = append(message.Attachments, attach...)
944
983
  message.Kind = MessageAttachment
945
984
  if context != nil {
946
- message = getMessageWithContext(message, context)
985
+ message = getMessageWithContext(ctx, client, message, context)
947
986
  }
948
987
  }
949
988
 
@@ -953,7 +992,15 @@ func newEventFromHistory(ctx context.Context, client *whatsmeow.Client, info *wa
953
992
  if client.Store.ID.ToNonAD().String() == r.GetUserJID() {
954
993
  continue
955
994
  }
956
- var receipt = Receipt{MessageIDs: []string{message.ID}, JID: r.GetUserJID(), GroupJID: message.GroupJID}
995
+ jid, err := types.ParseJID(r.GetUserJID())
996
+ if err != nil {
997
+ continue
998
+ }
999
+ var receipt = Receipt{
1000
+ JID: getPreferredJID(ctx, client, jid).ToNonAD().String(),
1001
+ GroupJID: message.GroupJID,
1002
+ MessageIDs: []string{message.ID},
1003
+ }
957
1004
  switch info.GetStatus() {
958
1005
  case waWeb.WebMessageInfo_DELIVERY_ACK:
959
1006
  receipt.Kind = ReceiptDelivered
@@ -971,8 +1018,7 @@ func newEventFromHistory(ctx context.Context, client *whatsmeow.Client, info *wa
971
1018
  if message.Body == "" {
972
1019
  message.Body = e.GetText()
973
1020
  }
974
-
975
- message = getMessageWithContext(message, e.GetContextInfo())
1021
+ message = getMessageWithContext(ctx, client, message, e.GetContextInfo())
976
1022
  }
977
1023
 
978
1024
  // Ignore obviously invalid messages.
@@ -1004,8 +1050,10 @@ type ChatState struct {
1004
1050
 
1005
1051
  // NewChatStateEvent returns event data meant for [Session.propagateEvent] for the primitive
1006
1052
  // chat-state event given.
1007
- func newChatStateEvent(evt *events.ChatPresence) (EventKind, *EventPayload) {
1008
- var state = ChatState{JID: evt.Sender.ToNonAD().String()}
1053
+ func newChatStateEvent(ctx context.Context, client *whatsmeow.Client, evt *events.ChatPresence) (EventKind, *EventPayload) {
1054
+ var state = ChatState{
1055
+ JID: getPreferredJID(ctx, client, evt.Sender, evt.SenderAlt).ToNonAD().String(),
1056
+ }
1009
1057
  if evt.IsGroup {
1010
1058
  state.GroupJID = evt.Chat.ToNonAD().String()
1011
1059
  }
@@ -1146,8 +1194,9 @@ func newGroupParticipant(ctx context.Context, client *whatsmeow.Client, particip
1146
1194
  if participant.Error > 0 {
1147
1195
  return GroupParticipant{}
1148
1196
  }
1197
+ var jid = getPreferredJID(ctx, client, participant.JID, participant.PhoneNumber)
1149
1198
  var p = GroupParticipant{
1150
- JID: participant.JID.ToNonAD().String(),
1199
+ JID: jid.ToNonAD().String(),
1151
1200
  }
1152
1201
  if participant.IsSuperAdmin {
1153
1202
  p.Affiliation = GroupAffiliationOwner
@@ -1182,26 +1231,26 @@ func newGroupEvent(ctx context.Context, client *whatsmeow.Client, evt *events.Gr
1182
1231
  }
1183
1232
  for _, p := range evt.Join {
1184
1233
  group.Participants = append(group.Participants, GroupParticipant{
1185
- JID: p.ToNonAD().String(),
1234
+ JID: getPreferredJID(ctx, client, p).ToNonAD().String(),
1186
1235
  Action: GroupParticipantActionAdd,
1187
1236
  })
1188
1237
  }
1189
1238
  for _, p := range evt.Leave {
1190
1239
  group.Participants = append(group.Participants, GroupParticipant{
1191
- JID: p.ToNonAD().String(),
1240
+ JID: getPreferredJID(ctx, client, p).ToNonAD().String(),
1192
1241
  Action: GroupParticipantActionRemove,
1193
1242
  })
1194
1243
  }
1195
1244
  for _, p := range evt.Promote {
1196
1245
  group.Participants = append(group.Participants, GroupParticipant{
1197
- JID: p.ToNonAD().String(),
1246
+ JID: getPreferredJID(ctx, client, p).ToNonAD().String(),
1198
1247
  Action: GroupParticipantActionPromote,
1199
1248
  Affiliation: GroupAffiliationAdmin,
1200
1249
  })
1201
1250
  }
1202
1251
  for _, p := range evt.Demote {
1203
1252
  group.Participants = append(group.Participants, GroupParticipant{
1204
- JID: p.ToNonAD().String(),
1253
+ JID: getPreferredJID(ctx, client, p).ToNonAD().String(),
1205
1254
  Action: GroupParticipantActionDemote,
1206
1255
  Affiliation: GroupAffiliationNone,
1207
1256
  })
@@ -1271,14 +1320,15 @@ type Call struct {
1271
1320
  }
1272
1321
 
1273
1322
  // NewCallEvent returns event data meant for [Session.propagateEvent] for the call metadata given.
1274
- func newCallEvent(state CallState, meta types.BasicCallMeta) (EventKind, *EventPayload) {
1275
- if state == CallUnknown || meta.From.IsEmpty() {
1323
+ func newCallEvent(ctx context.Context, client *whatsmeow.Client, state CallState, meta types.BasicCallMeta) (EventKind, *EventPayload) {
1324
+ if state == CallUnknown {
1276
1325
  return EventUnknown, nil
1277
1326
  }
1278
1327
 
1328
+ jid := getPreferredJID(ctx, client, meta.From, meta.CallCreator, meta.CallCreatorAlt)
1279
1329
  return EventCall, &EventPayload{Call: Call{
1280
1330
  State: state,
1281
- JID: meta.From.ToNonAD().String(),
1331
+ JID: jid.ToNonAD().String(),
1282
1332
  Timestamp: meta.Timestamp.Unix(),
1283
1333
  }}
1284
1334
  }
@@ -1296,7 +1346,7 @@ func getPreferredJID(ctx context.Context, client *whatsmeow.Client, def types.JI
1296
1346
 
1297
1347
  for _, s := range jids {
1298
1348
  if !s.IsEmpty() && s.Server == types.HiddenUserServer {
1299
- if p, err := client.Store.LIDs.GetPNForLID(ctx, s); err == nil {
1349
+ if p, _ := client.Store.LIDs.GetPNForLID(ctx, s); !p.IsEmpty() {
1300
1350
  return p
1301
1351
  }
1302
1352
  }
@@ -351,105 +351,39 @@ 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.Gateway ---
355
- //
356
- extern long long int whatsapp_Gateway_CTor();
357
- extern char* whatsapp_Gateway_DBPath_Get(long long int handle);
358
- extern void whatsapp_Gateway_DBPath_Set(long long int handle, char* val);
359
- extern char* whatsapp_Gateway_Name_Get(long long int handle);
360
- extern void whatsapp_Gateway_Name_Set(long long int handle, char* val);
361
- extern char* whatsapp_Gateway_LogLevel_Get(long long int handle);
362
- extern void whatsapp_Gateway_LogLevel_Set(long long int handle, char* val);
363
- extern char* whatsapp_Gateway_TempDir_Get(long long int handle);
364
- extern void whatsapp_Gateway_TempDir_Set(long long int handle, char* val);
365
- extern char* whatsapp_Gateway_Init(long long int _handle);
366
- extern long long int whatsapp_Gateway_NewSession(long long int _handle, long long int device);
367
- extern char* whatsapp_Gateway_CleanupSession(long long int _handle, long long int device);
368
-
369
- // --- wrapping struct: whatsapp.GroupSubject ---
370
- //
371
- extern long long int whatsapp_GroupSubject_CTor();
372
- extern char* whatsapp_GroupSubject_Subject_Get(long long int handle);
373
- extern void whatsapp_GroupSubject_Subject_Set(long long int handle, char* val);
374
- extern long long int whatsapp_GroupSubject_SetAt_Get(long long int handle);
375
- extern void whatsapp_GroupSubject_SetAt_Set(long long int handle, long long int val);
376
- extern char* whatsapp_GroupSubject_SetBy_Get(long long int handle);
377
- extern void whatsapp_GroupSubject_SetBy_Set(long long int handle, char* val);
378
-
379
- // --- wrapping struct: whatsapp.Presence ---
380
- //
381
- extern long long int whatsapp_Presence_CTor();
382
- extern char* whatsapp_Presence_JID_Get(long long int handle);
383
- extern void whatsapp_Presence_JID_Set(long long int handle, char* val);
384
- extern long long int whatsapp_Presence_Kind_Get(long long int handle);
385
- extern void whatsapp_Presence_Kind_Set(long long int handle, long long int val);
386
- extern long long int whatsapp_Presence_LastSeen_Get(long long int handle);
387
- extern void whatsapp_Presence_LastSeen_Set(long long int handle, long long int val);
388
-
389
- // --- wrapping struct: whatsapp.Call ---
390
- //
391
- extern long long int whatsapp_Call_CTor();
392
- extern long long int whatsapp_Call_State_Get(long long int handle);
393
- extern void whatsapp_Call_State_Set(long long int handle, long long int val);
394
- extern char* whatsapp_Call_JID_Get(long long int handle);
395
- extern void whatsapp_Call_JID_Set(long long int handle, char* val);
396
- extern long long int whatsapp_Call_Timestamp_Get(long long int handle);
397
- extern void whatsapp_Call_Timestamp_Set(long long int handle, long long int val);
398
-
399
- // --- wrapping struct: whatsapp.ChatState ---
400
- //
401
- extern long long int whatsapp_ChatState_CTor();
402
- extern long long int whatsapp_ChatState_Kind_Get(long long int handle);
403
- extern void whatsapp_ChatState_Kind_Set(long long int handle, long long int val);
404
- extern char* whatsapp_ChatState_JID_Get(long long int handle);
405
- extern void whatsapp_ChatState_JID_Set(long long int handle, char* val);
406
- extern char* whatsapp_ChatState_GroupJID_Get(long long int handle);
407
- extern void whatsapp_ChatState_GroupJID_Set(long long int handle, char* val);
408
-
409
- // --- wrapping struct: whatsapp.EventPayload ---
410
- //
411
- extern long long int whatsapp_EventPayload_CTor();
412
- extern char* whatsapp_EventPayload_QRCode_Get(long long int handle);
413
- extern void whatsapp_EventPayload_QRCode_Set(long long int handle, char* val);
414
- extern char* whatsapp_EventPayload_PairDeviceID_Get(long long int handle);
415
- extern void whatsapp_EventPayload_PairDeviceID_Set(long long int handle, char* val);
416
- extern long long int whatsapp_EventPayload_Connect_Get(long long int handle);
417
- extern void whatsapp_EventPayload_Connect_Set(long long int handle, long long int val);
418
- extern long long int whatsapp_EventPayload_LoggedOut_Get(long long int handle);
419
- extern void whatsapp_EventPayload_LoggedOut_Set(long long int handle, long long int val);
420
- extern long long int whatsapp_EventPayload_Contact_Get(long long int handle);
421
- extern void whatsapp_EventPayload_Contact_Set(long long int handle, long long int val);
422
- extern long long int whatsapp_EventPayload_Presence_Get(long long int handle);
423
- extern void whatsapp_EventPayload_Presence_Set(long long int handle, long long int val);
424
- extern long long int whatsapp_EventPayload_Message_Get(long long int handle);
425
- extern void whatsapp_EventPayload_Message_Set(long long int handle, long long int val);
426
- extern long long int whatsapp_EventPayload_ChatState_Get(long long int handle);
427
- extern void whatsapp_EventPayload_ChatState_Set(long long int handle, long long int val);
428
- extern long long int whatsapp_EventPayload_Receipt_Get(long long int handle);
429
- extern void whatsapp_EventPayload_Receipt_Set(long long int handle, long long int val);
430
- extern long long int whatsapp_EventPayload_Group_Get(long long int handle);
431
- extern void whatsapp_EventPayload_Group_Set(long long int handle, long long int val);
432
- extern long long int whatsapp_EventPayload_Call_Get(long long int handle);
433
- extern void whatsapp_EventPayload_Call_Set(long long int handle, long long int val);
434
-
435
- // --- wrapping struct: whatsapp.GroupParticipant ---
354
+ // --- wrapping struct: whatsapp.Group ---
436
355
  //
437
- extern long long int whatsapp_GroupParticipant_CTor();
438
- extern char* whatsapp_GroupParticipant_JID_Get(long long int handle);
439
- extern void whatsapp_GroupParticipant_JID_Set(long long int handle, char* val);
440
- extern char* whatsapp_GroupParticipant_Nickname_Get(long long int handle);
441
- extern void whatsapp_GroupParticipant_Nickname_Set(long long int handle, char* val);
442
- extern long long int whatsapp_GroupParticipant_Affiliation_Get(long long int handle);
443
- extern void whatsapp_GroupParticipant_Affiliation_Set(long long int handle, long long int val);
444
- extern long long int whatsapp_GroupParticipant_Action_Get(long long int handle);
445
- extern void whatsapp_GroupParticipant_Action_Set(long long int handle, long long int val);
356
+ extern long long int whatsapp_Group_CTor();
357
+ extern char* whatsapp_Group_JID_Get(long long int handle);
358
+ extern void whatsapp_Group_JID_Set(long long int handle, char* val);
359
+ extern char* whatsapp_Group_Name_Get(long long int handle);
360
+ extern void whatsapp_Group_Name_Set(long long int handle, char* val);
361
+ extern long long int whatsapp_Group_Subject_Get(long long int handle);
362
+ extern void whatsapp_Group_Subject_Set(long long int handle, long long int val);
363
+ extern char* whatsapp_Group_Nickname_Get(long long int handle);
364
+ extern void whatsapp_Group_Nickname_Set(long long int handle, char* val);
365
+ extern long long int whatsapp_Group_Participants_Get(long long int handle);
366
+ extern void whatsapp_Group_Participants_Set(long long int handle, long long int val);
367
+ extern char* whatsapp_Group_InviteCode_Get(long long int handle);
368
+ extern void whatsapp_Group_InviteCode_Set(long long int handle, char* val);
446
369
 
447
- // --- wrapping struct: whatsapp.LinkedDevice ---
370
+ // --- wrapping struct: whatsapp.Location ---
448
371
  //
449
- extern long long int whatsapp_LinkedDevice_CTor();
450
- extern char* whatsapp_LinkedDevice_ID_Get(long long int handle);
451
- extern void whatsapp_LinkedDevice_ID_Set(long long int handle, char* val);
452
- extern long long int whatsapp_LinkedDevice_JID(long long int _handle);
372
+ extern long long int whatsapp_Location_CTor();
373
+ extern double whatsapp_Location_Latitude_Get(long long int handle);
374
+ extern void whatsapp_Location_Latitude_Set(long long int handle, double val);
375
+ extern double whatsapp_Location_Longitude_Get(long long int handle);
376
+ extern void whatsapp_Location_Longitude_Set(long long int handle, double val);
377
+ extern long long int whatsapp_Location_Accuracy_Get(long long int handle);
378
+ extern void whatsapp_Location_Accuracy_Set(long long int handle, long long int val);
379
+ extern char whatsapp_Location_IsLive_Get(long long int handle);
380
+ extern void whatsapp_Location_IsLive_Set(long long int handle, char val);
381
+ extern char* whatsapp_Location_Name_Get(long long int handle);
382
+ extern void whatsapp_Location_Name_Set(long long int handle, char* val);
383
+ extern char* whatsapp_Location_Address_Get(long long int handle);
384
+ extern void whatsapp_Location_Address_Set(long long int handle, char* val);
385
+ extern char* whatsapp_Location_URL_Get(long long int handle);
386
+ extern void whatsapp_Location_URL_Set(long long int handle, char* val);
453
387
 
454
388
  // --- wrapping struct: whatsapp.Message ---
455
389
  //
@@ -497,6 +431,63 @@ extern void whatsapp_Message_Reactions_Set(long long int handle, long long int v
497
431
  extern char whatsapp_Message_IsHistory_Get(long long int handle);
498
432
  extern void whatsapp_Message_IsHistory_Set(long long int handle, char val);
499
433
 
434
+ // --- wrapping struct: whatsapp.Call ---
435
+ //
436
+ extern long long int whatsapp_Call_CTor();
437
+ extern long long int whatsapp_Call_State_Get(long long int handle);
438
+ extern void whatsapp_Call_State_Set(long long int handle, long long int val);
439
+ extern char* whatsapp_Call_JID_Get(long long int handle);
440
+ extern void whatsapp_Call_JID_Set(long long int handle, char* val);
441
+ extern long long int whatsapp_Call_Timestamp_Get(long long int handle);
442
+ extern void whatsapp_Call_Timestamp_Set(long long int handle, long long int val);
443
+
444
+ // --- wrapping struct: whatsapp.Connect ---
445
+ //
446
+ extern long long int whatsapp_Connect_CTor();
447
+ extern char* whatsapp_Connect_JID_Get(long long int handle);
448
+ extern void whatsapp_Connect_JID_Set(long long int handle, char* val);
449
+ extern char* whatsapp_Connect_Error_Get(long long int handle);
450
+ extern void whatsapp_Connect_Error_Set(long long int handle, char* val);
451
+
452
+ // --- wrapping struct: whatsapp.Contact ---
453
+ //
454
+ extern long long int whatsapp_Contact_CTor();
455
+ extern char* whatsapp_Contact_JID_Get(long long int handle);
456
+ extern void whatsapp_Contact_JID_Set(long long int handle, char* val);
457
+ extern char* whatsapp_Contact_Name_Get(long long int handle);
458
+ extern void whatsapp_Contact_Name_Set(long long int handle, char* val);
459
+
460
+ // --- wrapping struct: whatsapp.LinkedDevice ---
461
+ //
462
+ extern long long int whatsapp_LinkedDevice_CTor();
463
+ extern char* whatsapp_LinkedDevice_ID_Get(long long int handle);
464
+ extern void whatsapp_LinkedDevice_ID_Set(long long int handle, char* val);
465
+ extern long long int whatsapp_LinkedDevice_JID(long long int _handle);
466
+
467
+ // --- wrapping struct: whatsapp.Poll ---
468
+ //
469
+ extern long long int whatsapp_Poll_CTor();
470
+ extern char* whatsapp_Poll_Title_Get(long long int handle);
471
+ extern void whatsapp_Poll_Title_Set(long long int handle, char* val);
472
+ extern long long int whatsapp_Poll_Options_Get(long long int handle);
473
+ extern void whatsapp_Poll_Options_Set(long long int handle, long long int val);
474
+
475
+ // --- wrapping struct: whatsapp.PollOption ---
476
+ //
477
+ extern long long int whatsapp_PollOption_CTor();
478
+ extern char* whatsapp_PollOption_Title_Get(long long int handle);
479
+ extern void whatsapp_PollOption_Title_Set(long long int handle, char* val);
480
+
481
+ // --- wrapping struct: whatsapp.Presence ---
482
+ //
483
+ extern long long int whatsapp_Presence_CTor();
484
+ extern char* whatsapp_Presence_JID_Get(long long int handle);
485
+ extern void whatsapp_Presence_JID_Set(long long int handle, char* val);
486
+ extern long long int whatsapp_Presence_Kind_Get(long long int handle);
487
+ extern void whatsapp_Presence_Kind_Set(long long int handle, long long int val);
488
+ extern long long int whatsapp_Presence_LastSeen_Get(long long int handle);
489
+ extern void whatsapp_Presence_LastSeen_Set(long long int handle, long long int val);
490
+
500
491
  // --- wrapping struct: whatsapp.Receipt ---
501
492
  //
502
493
  extern long long int whatsapp_Receipt_CTor();
@@ -513,6 +504,97 @@ extern void whatsapp_Receipt_Timestamp_Set(long long int handle, long long int v
513
504
  extern char whatsapp_Receipt_IsCarbon_Get(long long int handle);
514
505
  extern void whatsapp_Receipt_IsCarbon_Set(long long int handle, char val);
515
506
 
507
+ // --- wrapping struct: whatsapp.Album ---
508
+ //
509
+ extern long long int whatsapp_Album_CTor();
510
+ extern char whatsapp_Album_IsAlbum_Get(long long int handle);
511
+ extern void whatsapp_Album_IsAlbum_Set(long long int handle, char val);
512
+ extern long long int whatsapp_Album_ImageCount_Get(long long int handle);
513
+ extern void whatsapp_Album_ImageCount_Set(long long int handle, long long int val);
514
+ extern long long int whatsapp_Album_VideoCount_Get(long long int handle);
515
+ extern void whatsapp_Album_VideoCount_Set(long long int handle, long long int val);
516
+
517
+ // --- wrapping struct: whatsapp.EventPayload ---
518
+ //
519
+ extern long long int whatsapp_EventPayload_CTor();
520
+ extern char* whatsapp_EventPayload_QRCode_Get(long long int handle);
521
+ extern void whatsapp_EventPayload_QRCode_Set(long long int handle, char* val);
522
+ extern char* whatsapp_EventPayload_PairDeviceID_Get(long long int handle);
523
+ extern void whatsapp_EventPayload_PairDeviceID_Set(long long int handle, char* val);
524
+ extern long long int whatsapp_EventPayload_Connect_Get(long long int handle);
525
+ extern void whatsapp_EventPayload_Connect_Set(long long int handle, long long int val);
526
+ extern long long int whatsapp_EventPayload_LoggedOut_Get(long long int handle);
527
+ extern void whatsapp_EventPayload_LoggedOut_Set(long long int handle, long long int val);
528
+ extern long long int whatsapp_EventPayload_Contact_Get(long long int handle);
529
+ extern void whatsapp_EventPayload_Contact_Set(long long int handle, long long int val);
530
+ extern long long int whatsapp_EventPayload_Presence_Get(long long int handle);
531
+ extern void whatsapp_EventPayload_Presence_Set(long long int handle, long long int val);
532
+ extern long long int whatsapp_EventPayload_Message_Get(long long int handle);
533
+ extern void whatsapp_EventPayload_Message_Set(long long int handle, long long int val);
534
+ extern long long int whatsapp_EventPayload_ChatState_Get(long long int handle);
535
+ extern void whatsapp_EventPayload_ChatState_Set(long long int handle, long long int val);
536
+ extern long long int whatsapp_EventPayload_Receipt_Get(long long int handle);
537
+ extern void whatsapp_EventPayload_Receipt_Set(long long int handle, long long int val);
538
+ extern long long int whatsapp_EventPayload_Group_Get(long long int handle);
539
+ extern void whatsapp_EventPayload_Group_Set(long long int handle, long long int val);
540
+ extern long long int whatsapp_EventPayload_Call_Get(long long int handle);
541
+ extern void whatsapp_EventPayload_Call_Set(long long int handle, long long int val);
542
+
543
+ // --- wrapping struct: whatsapp.GroupSubject ---
544
+ //
545
+ extern long long int whatsapp_GroupSubject_CTor();
546
+ extern char* whatsapp_GroupSubject_Subject_Get(long long int handle);
547
+ extern void whatsapp_GroupSubject_Subject_Set(long long int handle, char* val);
548
+ extern long long int whatsapp_GroupSubject_SetAt_Get(long long int handle);
549
+ extern void whatsapp_GroupSubject_SetAt_Set(long long int handle, long long int val);
550
+ extern char* whatsapp_GroupSubject_SetBy_Get(long long int handle);
551
+ extern void whatsapp_GroupSubject_SetBy_Set(long long int handle, char* val);
552
+
553
+ // --- wrapping struct: whatsapp.ChatState ---
554
+ //
555
+ extern long long int whatsapp_ChatState_CTor();
556
+ extern long long int whatsapp_ChatState_Kind_Get(long long int handle);
557
+ extern void whatsapp_ChatState_Kind_Set(long long int handle, long long int val);
558
+ extern char* whatsapp_ChatState_JID_Get(long long int handle);
559
+ extern void whatsapp_ChatState_JID_Set(long long int handle, char* val);
560
+ extern char* whatsapp_ChatState_GroupJID_Get(long long int handle);
561
+ extern void whatsapp_ChatState_GroupJID_Set(long long int handle, char* val);
562
+
563
+ // --- wrapping struct: whatsapp.Gateway ---
564
+ //
565
+ extern long long int whatsapp_Gateway_CTor();
566
+ extern char* whatsapp_Gateway_DBPath_Get(long long int handle);
567
+ extern void whatsapp_Gateway_DBPath_Set(long long int handle, char* val);
568
+ extern char* whatsapp_Gateway_Name_Get(long long int handle);
569
+ extern void whatsapp_Gateway_Name_Set(long long int handle, char* val);
570
+ extern char* whatsapp_Gateway_LogLevel_Get(long long int handle);
571
+ extern void whatsapp_Gateway_LogLevel_Set(long long int handle, char* val);
572
+ extern char* whatsapp_Gateway_TempDir_Get(long long int handle);
573
+ extern void whatsapp_Gateway_TempDir_Set(long long int handle, char* val);
574
+ extern char* whatsapp_Gateway_Init(long long int _handle);
575
+ extern long long int whatsapp_Gateway_NewSession(long long int _handle, long long int device);
576
+ extern char* whatsapp_Gateway_CleanupSession(long long int _handle, long long int device);
577
+
578
+ // --- wrapping struct: whatsapp.Preview ---
579
+ //
580
+ extern long long int whatsapp_Preview_CTor();
581
+ extern long long int whatsapp_Preview_Kind_Get(long long int handle);
582
+ extern void whatsapp_Preview_Kind_Set(long long int handle, long long int val);
583
+ extern char* whatsapp_Preview_URL_Get(long long int handle);
584
+ extern void whatsapp_Preview_URL_Set(long long int handle, char* val);
585
+ extern char* whatsapp_Preview_Title_Get(long long int handle);
586
+ extern void whatsapp_Preview_Title_Set(long long int handle, char* val);
587
+ extern char* whatsapp_Preview_Description_Get(long long int handle);
588
+ extern void whatsapp_Preview_Description_Set(long long int handle, char* val);
589
+ extern long long int whatsapp_Preview_Thumbnail_Get(long long int handle);
590
+ extern void whatsapp_Preview_Thumbnail_Set(long long int handle, long long int val);
591
+
592
+ // --- wrapping struct: whatsapp.LoggedOut ---
593
+ //
594
+ extern long long int whatsapp_LoggedOut_CTor();
595
+ extern char* whatsapp_LoggedOut_Reason_Get(long long int handle);
596
+ extern void whatsapp_LoggedOut_Reason_Set(long long int handle, char* val);
597
+
516
598
  // --- wrapping struct: whatsapp.Session ---
517
599
  //
518
600
  extern long long int whatsapp_Session_CTor();
@@ -538,16 +620,6 @@ extern long long int whatsapp_Session_FindContact(long long int _handle, char* p
538
620
  extern char* whatsapp_Session_RequestMessageHistory(long long int _handle, char* resourceID, long long int oldestMessage);
539
621
  extern void whatsapp_Session_SetEventHandler(long long int _handle, PyObject* h, char goRun);
540
622
 
541
- // --- wrapping struct: whatsapp.Album ---
542
- //
543
- extern long long int whatsapp_Album_CTor();
544
- extern char whatsapp_Album_IsAlbum_Get(long long int handle);
545
- extern void whatsapp_Album_IsAlbum_Set(long long int handle, char val);
546
- extern long long int whatsapp_Album_ImageCount_Get(long long int handle);
547
- extern void whatsapp_Album_ImageCount_Set(long long int handle, long long int val);
548
- extern long long int whatsapp_Album_VideoCount_Get(long long int handle);
549
- extern void whatsapp_Album_VideoCount_Set(long long int handle, long long int val);
550
-
551
623
  // --- wrapping struct: whatsapp.Attachment ---
552
624
  //
553
625
  extern long long int whatsapp_Attachment_CTor();
@@ -561,78 +633,6 @@ extern long long int whatsapp_Attachment_Data_Get(long long int handle);
561
633
  extern void whatsapp_Attachment_Data_Set(long long int handle, long long int val);
562
634
  extern long long int whatsapp_Attachment_GetSpec(long long int _handle, long long int ctx);
563
635
 
564
- // --- wrapping struct: whatsapp.Contact ---
565
- //
566
- extern long long int whatsapp_Contact_CTor();
567
- extern char* whatsapp_Contact_JID_Get(long long int handle);
568
- extern void whatsapp_Contact_JID_Set(long long int handle, char* val);
569
- extern char* whatsapp_Contact_Name_Get(long long int handle);
570
- extern void whatsapp_Contact_Name_Set(long long int handle, char* val);
571
-
572
- // --- wrapping struct: whatsapp.Poll ---
573
- //
574
- extern long long int whatsapp_Poll_CTor();
575
- extern char* whatsapp_Poll_Title_Get(long long int handle);
576
- extern void whatsapp_Poll_Title_Set(long long int handle, char* val);
577
- extern long long int whatsapp_Poll_Options_Get(long long int handle);
578
- extern void whatsapp_Poll_Options_Set(long long int handle, long long int val);
579
-
580
- // --- wrapping struct: whatsapp.Preview ---
581
- //
582
- extern long long int whatsapp_Preview_CTor();
583
- extern long long int whatsapp_Preview_Kind_Get(long long int handle);
584
- extern void whatsapp_Preview_Kind_Set(long long int handle, long long int val);
585
- extern char* whatsapp_Preview_URL_Get(long long int handle);
586
- extern void whatsapp_Preview_URL_Set(long long int handle, char* val);
587
- extern char* whatsapp_Preview_Title_Get(long long int handle);
588
- extern void whatsapp_Preview_Title_Set(long long int handle, char* val);
589
- extern char* whatsapp_Preview_Description_Get(long long int handle);
590
- extern void whatsapp_Preview_Description_Set(long long int handle, char* val);
591
- extern long long int whatsapp_Preview_Thumbnail_Get(long long int handle);
592
- extern void whatsapp_Preview_Thumbnail_Set(long long int handle, long long int val);
593
-
594
- // --- wrapping struct: whatsapp.Connect ---
595
- //
596
- extern long long int whatsapp_Connect_CTor();
597
- extern char* whatsapp_Connect_JID_Get(long long int handle);
598
- extern void whatsapp_Connect_JID_Set(long long int handle, char* val);
599
- extern char* whatsapp_Connect_Error_Get(long long int handle);
600
- extern void whatsapp_Connect_Error_Set(long long int handle, char* val);
601
-
602
- // --- wrapping struct: whatsapp.Group ---
603
- //
604
- extern long long int whatsapp_Group_CTor();
605
- extern char* whatsapp_Group_JID_Get(long long int handle);
606
- extern void whatsapp_Group_JID_Set(long long int handle, char* val);
607
- extern char* whatsapp_Group_Name_Get(long long int handle);
608
- extern void whatsapp_Group_Name_Set(long long int handle, char* val);
609
- extern long long int whatsapp_Group_Subject_Get(long long int handle);
610
- extern void whatsapp_Group_Subject_Set(long long int handle, long long int val);
611
- extern char* whatsapp_Group_Nickname_Get(long long int handle);
612
- extern void whatsapp_Group_Nickname_Set(long long int handle, char* val);
613
- extern long long int whatsapp_Group_Participants_Get(long long int handle);
614
- extern void whatsapp_Group_Participants_Set(long long int handle, long long int val);
615
- extern char* whatsapp_Group_InviteCode_Get(long long int handle);
616
- extern void whatsapp_Group_InviteCode_Set(long long int handle, char* val);
617
-
618
- // --- wrapping struct: whatsapp.Location ---
619
- //
620
- extern long long int whatsapp_Location_CTor();
621
- extern double whatsapp_Location_Latitude_Get(long long int handle);
622
- extern void whatsapp_Location_Latitude_Set(long long int handle, double val);
623
- extern double whatsapp_Location_Longitude_Get(long long int handle);
624
- extern void whatsapp_Location_Longitude_Set(long long int handle, double val);
625
- extern long long int whatsapp_Location_Accuracy_Get(long long int handle);
626
- extern void whatsapp_Location_Accuracy_Set(long long int handle, long long int val);
627
- extern char whatsapp_Location_IsLive_Get(long long int handle);
628
- extern void whatsapp_Location_IsLive_Set(long long int handle, char val);
629
- extern char* whatsapp_Location_Name_Get(long long int handle);
630
- extern void whatsapp_Location_Name_Set(long long int handle, char* val);
631
- extern char* whatsapp_Location_Address_Get(long long int handle);
632
- extern void whatsapp_Location_Address_Set(long long int handle, char* val);
633
- extern char* whatsapp_Location_URL_Get(long long int handle);
634
- extern void whatsapp_Location_URL_Set(long long int handle, char* val);
635
-
636
636
  // --- wrapping struct: whatsapp.Avatar ---
637
637
  //
638
638
  extern long long int whatsapp_Avatar_CTor();
@@ -641,17 +641,17 @@ extern void whatsapp_Avatar_ID_Set(long long int handle, char* val);
641
641
  extern char* whatsapp_Avatar_URL_Get(long long int handle);
642
642
  extern void whatsapp_Avatar_URL_Set(long long int handle, char* val);
643
643
 
644
- // --- wrapping struct: whatsapp.LoggedOut ---
645
- //
646
- extern long long int whatsapp_LoggedOut_CTor();
647
- extern char* whatsapp_LoggedOut_Reason_Get(long long int handle);
648
- extern void whatsapp_LoggedOut_Reason_Set(long long int handle, char* val);
649
-
650
- // --- wrapping struct: whatsapp.PollOption ---
644
+ // --- wrapping struct: whatsapp.GroupParticipant ---
651
645
  //
652
- extern long long int whatsapp_PollOption_CTor();
653
- extern char* whatsapp_PollOption_Title_Get(long long int handle);
654
- extern void whatsapp_PollOption_Title_Set(long long int handle, char* val);
646
+ extern long long int whatsapp_GroupParticipant_CTor();
647
+ extern char* whatsapp_GroupParticipant_JID_Get(long long int handle);
648
+ extern void whatsapp_GroupParticipant_JID_Set(long long int handle, char* val);
649
+ extern char* whatsapp_GroupParticipant_Nickname_Get(long long int handle);
650
+ extern void whatsapp_GroupParticipant_Nickname_Set(long long int handle, char* val);
651
+ extern long long int whatsapp_GroupParticipant_Affiliation_Get(long long int handle);
652
+ extern void whatsapp_GroupParticipant_Affiliation_Set(long long int handle, long long int val);
653
+ extern long long int whatsapp_GroupParticipant_Action_Get(long long int handle);
654
+ extern void whatsapp_GroupParticipant_Action_Set(long long int handle, long long int val);
655
655
  extern long long int whatsapp_NewGateway();
656
656
  extern char whatsapp_IsAnonymousJID(char* id);
657
657