slidge-whatsapp 0.2.7__cp312-cp312-manylinux_2_36_aarch64.whl → 0.3.0__cp312-cp312-manylinux_2_36_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.

Potentially problematic release.


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

Files changed (212) hide show
  1. slidge_whatsapp/contact.py +15 -3
  2. slidge_whatsapp/event.go +144 -48
  3. slidge_whatsapp/gateway.go +7 -63
  4. slidge_whatsapp/gateway.py +2 -3
  5. slidge_whatsapp/generated/_whatsapp.cpython-312-aarch64-linux-gnu.h +146 -129
  6. slidge_whatsapp/generated/_whatsapp.cpython-312-aarch64-linux-gnu.so +0 -0
  7. slidge_whatsapp/generated/build.py +114 -100
  8. slidge_whatsapp/generated/whatsapp.c +1309 -1037
  9. slidge_whatsapp/generated/whatsapp.go +779 -668
  10. slidge_whatsapp/generated/whatsapp.py +1168 -1043
  11. slidge_whatsapp/generated/whatsapp_go.h +146 -129
  12. slidge_whatsapp/go.mod +18 -15
  13. slidge_whatsapp/go.sum +38 -26
  14. slidge_whatsapp/group.py +34 -30
  15. slidge_whatsapp/media/media.go +1 -1
  16. slidge_whatsapp/session.go +34 -17
  17. slidge_whatsapp/session.py +46 -14
  18. slidge_whatsapp/vendor/github.com/beeper/argo-go/LICENSE +9 -0
  19. slidge_whatsapp/vendor/github.com/beeper/argo-go/block/blockreader.go +329 -0
  20. slidge_whatsapp/vendor/github.com/beeper/argo-go/block/blockwriter.go +417 -0
  21. slidge_whatsapp/vendor/github.com/beeper/argo-go/codec/decoder.go +652 -0
  22. slidge_whatsapp/vendor/github.com/beeper/argo-go/codec/encoder.go +985 -0
  23. slidge_whatsapp/vendor/github.com/beeper/argo-go/header/header.go +135 -0
  24. slidge_whatsapp/vendor/github.com/beeper/argo-go/internal/util/util.go +133 -0
  25. slidge_whatsapp/vendor/github.com/beeper/argo-go/label/label.go +384 -0
  26. slidge_whatsapp/vendor/github.com/beeper/argo-go/label/wiremarkers.go +37 -0
  27. slidge_whatsapp/vendor/github.com/beeper/argo-go/pkg/bitset/bitset.go +197 -0
  28. slidge_whatsapp/vendor/github.com/beeper/argo-go/pkg/buf/buf.go +420 -0
  29. slidge_whatsapp/vendor/github.com/beeper/argo-go/pkg/varint/varint.go +246 -0
  30. slidge_whatsapp/vendor/github.com/beeper/argo-go/wire/wire.go +614 -0
  31. slidge_whatsapp/vendor/github.com/beeper/argo-go/wirecodec/decode.go +341 -0
  32. slidge_whatsapp/vendor/github.com/elliotchance/orderedmap/v3/LICENSE +21 -0
  33. slidge_whatsapp/vendor/github.com/elliotchance/orderedmap/v3/list.go +95 -0
  34. slidge_whatsapp/vendor/github.com/elliotchance/orderedmap/v3/orderedmap.go +187 -0
  35. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz.go +1 -0
  36. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_cgo.go +3 -0
  37. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_nocgo.go +4 -5
  38. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_darwin.go +11 -1
  39. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_linux.go +10 -0
  40. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_windows.go +12 -0
  41. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/.gitignore +0 -2
  42. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/CHANGELOG.md +30 -0
  43. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/COPYRIGHT.txt +6 -1
  44. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/README.md +14 -17
  45. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi.go +1 -1
  46. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi2.go +7 -0
  47. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/LICENSE +21 -0
  48. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/darwin_amd64/libffi.8.dylib +0 -0
  49. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/darwin_arm64/libffi.8.dylib +0 -0
  50. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/windows_amd64/libffi-8.dll +0 -0
  51. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/cif.go +15 -0
  52. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/cif_arm64.go +16 -0
  53. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed.go +49 -0
  54. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed_darwin_amd64.go +10 -0
  55. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed_darwin_arm64.go +10 -0
  56. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed_windows_amd64.go +10 -0
  57. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/ffi.go +51 -13
  58. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/init.go +22 -9
  59. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/README.md +2 -0
  60. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.c +3096 -1651
  61. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h +188 -128
  62. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_userauth.go +13 -140
  63. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3ext.h +4 -0
  64. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.23.go +2 -2
  65. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.25.go +37 -0
  66. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/LICENSE +19 -0
  67. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/argmap.go +37 -0
  68. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/collections.go +148 -0
  69. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/comment.go +31 -0
  70. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/decode.go +216 -0
  71. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/definition.go +110 -0
  72. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/directive.go +43 -0
  73. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/document.go +89 -0
  74. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/dumper.go +159 -0
  75. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/fragment.go +41 -0
  76. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/operation.go +32 -0
  77. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/path.go +72 -0
  78. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/selection.go +41 -0
  79. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/source.go +19 -0
  80. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/type.go +68 -0
  81. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/value.go +122 -0
  82. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/handleerrors.go +60 -26
  83. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/networkerror.go +2 -1
  84. slidge_whatsapp/vendor/go.mau.fi/util/exstrings/stringutil.go +28 -0
  85. slidge_whatsapp/vendor/go.mau.fi/util/exsync/event.go +19 -3
  86. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/.pre-commit-config.yaml +3 -3
  87. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/decode.go +1 -1
  88. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/hash.go +1 -1
  89. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate.go +5 -1
  90. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/argo/argo-wire-type-store.argo +63 -0
  91. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/argo/argo.go +62 -0
  92. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/argo/name-to-queryids.json +306 -0
  93. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/armadillomessage.go +3 -2
  94. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/call.go +1 -0
  95. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/client.go +15 -18
  96. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/connectionevents.go +5 -0
  97. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download.go +4 -0
  98. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/errors.go +3 -0
  99. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/group.go +97 -25
  100. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/internals.go +22 -10
  101. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/message.go +10 -9
  102. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/msgsecret.go +2 -14
  103. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/newsletter.go +83 -7
  104. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/notification.go +5 -1
  105. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair-code.go +2 -2
  106. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/presence.go +15 -6
  107. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waBotMetadata/WABotMetadata.pb.go +5156 -0
  108. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waBotMetadata/WABotMetadata.proto +516 -0
  109. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/WACompanionReg.pb.go +30 -3
  110. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/WACompanionReg.proto +3 -0
  111. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.go +8532 -11526
  112. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.proto +132 -438
  113. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.go +52 -23
  114. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.proto +3 -0
  115. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.pb.go +225 -73
  116. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.proto +21 -5
  117. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.go +884 -441
  118. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.proto +40 -0
  119. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.go +60 -38
  120. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.proto +3 -0
  121. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/receipt.go +8 -1
  122. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/send.go +6 -4
  123. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/clientpayload.go +1 -1
  124. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/noop.go +3 -2
  125. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/store.go +25 -5
  126. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/store.go +3 -1
  127. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/call.go +1 -0
  128. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/events.go +8 -0
  129. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/jid.go +2 -1
  130. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/user.go +2 -0
  131. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/user.go +12 -8
  132. slidge_whatsapp/vendor/golang.org/x/crypto/curve25519/curve25519.go +1 -1
  133. slidge_whatsapp/vendor/golang.org/x/net/http2/config.go +44 -2
  134. slidge_whatsapp/vendor/golang.org/x/net/http2/gotrack.go +14 -3
  135. slidge_whatsapp/vendor/golang.org/x/net/http2/http2.go +7 -29
  136. slidge_whatsapp/vendor/golang.org/x/net/http2/server.go +53 -71
  137. slidge_whatsapp/vendor/golang.org/x/net/http2/transport.go +20 -74
  138. slidge_whatsapp/vendor/golang.org/x/sys/unix/affinity_linux.go +1 -3
  139. slidge_whatsapp/vendor/golang.org/x/sys/unix/mkerrors.sh +3 -0
  140. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin.go +1 -55
  141. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_solaris.go +1 -1
  142. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux.go +47 -16
  143. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +3 -0
  144. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +3 -0
  145. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +3 -0
  146. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +3 -0
  147. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +3 -0
  148. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +3 -0
  149. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +3 -0
  150. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +3 -0
  151. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +3 -0
  152. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +3 -0
  153. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +3 -0
  154. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +3 -0
  155. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +3 -0
  156. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +3 -0
  157. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +3 -0
  158. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +4 -4
  159. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +1 -0
  160. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +1 -0
  161. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +1 -0
  162. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +1 -0
  163. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +1 -0
  164. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +1 -0
  165. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +1 -0
  166. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +1 -0
  167. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +1 -0
  168. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +1 -0
  169. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +1 -0
  170. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +1 -0
  171. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +1 -0
  172. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +1 -0
  173. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +1 -0
  174. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux.go +168 -12
  175. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +17 -1
  176. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +16 -0
  177. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +18 -2
  178. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +16 -0
  179. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +16 -0
  180. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +17 -1
  181. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +16 -0
  182. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +16 -0
  183. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +17 -1
  184. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +18 -2
  185. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +16 -0
  186. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +16 -0
  187. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +16 -0
  188. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +16 -0
  189. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +16 -0
  190. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows.go +6 -0
  191. slidge_whatsapp/vendor/golang.org/x/sys/windows/zsyscall_windows.go +483 -483
  192. slidge_whatsapp/vendor/google.golang.org/protobuf/encoding/protowire/wire.go +25 -1
  193. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb +0 -0
  194. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/editions.go +10 -5
  195. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/presence.go +33 -0
  196. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/api_gen.go +6 -0
  197. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +68 -22
  198. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_message_opaque.go +2 -1
  199. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_opaque.go +8 -37
  200. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/presence.go +0 -3
  201. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/version/version.go +1 -1
  202. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +8 -0
  203. slidge_whatsapp/vendor/modules.txt +43 -23
  204. {slidge_whatsapp-0.2.7.dist-info → slidge_whatsapp-0.3.0.dist-info}/METADATA +5 -4
  205. {slidge_whatsapp-0.2.7.dist-info → slidge_whatsapp-0.3.0.dist-info}/RECORD +208 -161
  206. {slidge_whatsapp-0.2.7.dist-info → slidge_whatsapp-0.3.0.dist-info}/WHEEL +1 -1
  207. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi_amd64.go +0 -7
  208. slidge_whatsapp/vendor/golang.org/x/net/http2/config_go124.go +0 -61
  209. slidge_whatsapp/vendor/golang.org/x/net/http2/config_pre_go124.go +0 -16
  210. slidge_whatsapp/vendor/golang.org/x/net/http2/timer.go +0 -20
  211. {slidge_whatsapp-0.2.7.dist-info → slidge_whatsapp-0.3.0.dist-info}/entry_points.txt +0 -0
  212. {slidge_whatsapp-0.2.7.dist-info → slidge_whatsapp-0.3.0.dist-info/licenses}/LICENSE +0 -0
@@ -351,6 +351,42 @@ 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.ChatState ---
355
+ //
356
+ extern long long int whatsapp_ChatState_CTor();
357
+ extern long long int whatsapp_ChatState_Kind_Get(long long int handle);
358
+ extern void whatsapp_ChatState_Kind_Set(long long int handle, long long int val);
359
+ extern char* whatsapp_ChatState_JID_Get(long long int handle);
360
+ extern void whatsapp_ChatState_JID_Set(long long int handle, char* val);
361
+ extern char* whatsapp_ChatState_GroupJID_Get(long long int handle);
362
+ extern void whatsapp_ChatState_GroupJID_Set(long long int handle, char* val);
363
+
364
+ // --- wrapping struct: whatsapp.EventPayload ---
365
+ //
366
+ extern long long int whatsapp_EventPayload_CTor();
367
+ extern char* whatsapp_EventPayload_QRCode_Get(long long int handle);
368
+ extern void whatsapp_EventPayload_QRCode_Set(long long int handle, char* val);
369
+ extern char* whatsapp_EventPayload_PairDeviceID_Get(long long int handle);
370
+ extern void whatsapp_EventPayload_PairDeviceID_Set(long long int handle, char* val);
371
+ extern long long int whatsapp_EventPayload_Connect_Get(long long int handle);
372
+ extern void whatsapp_EventPayload_Connect_Set(long long int handle, long long int val);
373
+ extern long long int whatsapp_EventPayload_LoggedOut_Get(long long int handle);
374
+ extern void whatsapp_EventPayload_LoggedOut_Set(long long int handle, long long int val);
375
+ extern long long int whatsapp_EventPayload_Contact_Get(long long int handle);
376
+ extern void whatsapp_EventPayload_Contact_Set(long long int handle, long long int val);
377
+ extern long long int whatsapp_EventPayload_Presence_Get(long long int handle);
378
+ extern void whatsapp_EventPayload_Presence_Set(long long int handle, long long int val);
379
+ extern long long int whatsapp_EventPayload_Message_Get(long long int handle);
380
+ extern void whatsapp_EventPayload_Message_Set(long long int handle, long long int val);
381
+ extern long long int whatsapp_EventPayload_ChatState_Get(long long int handle);
382
+ extern void whatsapp_EventPayload_ChatState_Set(long long int handle, long long int val);
383
+ extern long long int whatsapp_EventPayload_Receipt_Get(long long int handle);
384
+ extern void whatsapp_EventPayload_Receipt_Set(long long int handle, long long int val);
385
+ extern long long int whatsapp_EventPayload_Group_Get(long long int handle);
386
+ extern void whatsapp_EventPayload_Group_Set(long long int handle, long long int val);
387
+ extern long long int whatsapp_EventPayload_Call_Get(long long int handle);
388
+ extern void whatsapp_EventPayload_Call_Set(long long int handle, long long int val);
389
+
354
390
  // --- wrapping struct: whatsapp.Gateway ---
355
391
  //
356
392
  extern long long int whatsapp_Gateway_CTor();
@@ -366,24 +402,6 @@ extern char* whatsapp_Gateway_Init(long long int _handle);
366
402
  extern long long int whatsapp_Gateway_NewSession(long long int _handle, long long int device);
367
403
  extern char* whatsapp_Gateway_CleanupSession(long long int _handle, long long int device);
368
404
 
369
- // --- wrapping struct: whatsapp.Location ---
370
- //
371
- extern long long int whatsapp_Location_CTor();
372
- extern double whatsapp_Location_Latitude_Get(long long int handle);
373
- extern void whatsapp_Location_Latitude_Set(long long int handle, double val);
374
- extern double whatsapp_Location_Longitude_Get(long long int handle);
375
- extern void whatsapp_Location_Longitude_Set(long long int handle, double val);
376
- extern long long int whatsapp_Location_Accuracy_Get(long long int handle);
377
- extern void whatsapp_Location_Accuracy_Set(long long int handle, long long int val);
378
- extern char whatsapp_Location_IsLive_Get(long long int handle);
379
- extern void whatsapp_Location_IsLive_Set(long long int handle, char val);
380
- extern char* whatsapp_Location_Name_Get(long long int handle);
381
- extern void whatsapp_Location_Name_Set(long long int handle, char* val);
382
- extern char* whatsapp_Location_Address_Get(long long int handle);
383
- extern void whatsapp_Location_Address_Set(long long int handle, char* val);
384
- extern char* whatsapp_Location_URL_Get(long long int handle);
385
- extern void whatsapp_Location_URL_Set(long long int handle, char* val);
386
-
387
405
  // --- wrapping struct: whatsapp.PollOption ---
388
406
  //
389
407
  extern long long int whatsapp_PollOption_CTor();
@@ -425,65 +443,23 @@ extern void whatsapp_Album_ImageCount_Set(long long int handle, long long int va
425
443
  extern long long int whatsapp_Album_VideoCount_Get(long long int handle);
426
444
  extern void whatsapp_Album_VideoCount_Set(long long int handle, long long int val);
427
445
 
428
- // --- wrapping struct: whatsapp.Avatar ---
429
- //
430
- extern long long int whatsapp_Avatar_CTor();
431
- extern char* whatsapp_Avatar_ID_Get(long long int handle);
432
- extern void whatsapp_Avatar_ID_Set(long long int handle, char* val);
433
- extern char* whatsapp_Avatar_URL_Get(long long int handle);
434
- extern void whatsapp_Avatar_URL_Set(long long int handle, char* val);
435
-
436
- // --- wrapping struct: whatsapp.Contact ---
437
- //
438
- extern long long int whatsapp_Contact_CTor();
439
- extern char* whatsapp_Contact_JID_Get(long long int handle);
440
- extern void whatsapp_Contact_JID_Set(long long int handle, char* val);
441
- extern char* whatsapp_Contact_Name_Get(long long int handle);
442
- extern void whatsapp_Contact_Name_Set(long long int handle, char* val);
443
-
444
- // --- wrapping struct: whatsapp.EventPayload ---
445
- //
446
- extern long long int whatsapp_EventPayload_CTor();
447
- extern char* whatsapp_EventPayload_QRCode_Get(long long int handle);
448
- extern void whatsapp_EventPayload_QRCode_Set(long long int handle, char* val);
449
- extern char* whatsapp_EventPayload_PairDeviceID_Get(long long int handle);
450
- extern void whatsapp_EventPayload_PairDeviceID_Set(long long int handle, char* val);
451
- extern long long int whatsapp_EventPayload_Connect_Get(long long int handle);
452
- extern void whatsapp_EventPayload_Connect_Set(long long int handle, long long int val);
453
- extern long long int whatsapp_EventPayload_Contact_Get(long long int handle);
454
- extern void whatsapp_EventPayload_Contact_Set(long long int handle, long long int val);
455
- extern long long int whatsapp_EventPayload_Presence_Get(long long int handle);
456
- extern void whatsapp_EventPayload_Presence_Set(long long int handle, long long int val);
457
- extern long long int whatsapp_EventPayload_Message_Get(long long int handle);
458
- extern void whatsapp_EventPayload_Message_Set(long long int handle, long long int val);
459
- extern long long int whatsapp_EventPayload_ChatState_Get(long long int handle);
460
- extern void whatsapp_EventPayload_ChatState_Set(long long int handle, long long int val);
461
- extern long long int whatsapp_EventPayload_Receipt_Get(long long int handle);
462
- extern void whatsapp_EventPayload_Receipt_Set(long long int handle, long long int val);
463
- extern long long int whatsapp_EventPayload_Group_Get(long long int handle);
464
- extern void whatsapp_EventPayload_Group_Set(long long int handle, long long int val);
465
- extern long long int whatsapp_EventPayload_Call_Get(long long int handle);
466
- extern void whatsapp_EventPayload_Call_Set(long long int handle, long long int val);
467
-
468
- // --- wrapping struct: whatsapp.Group ---
446
+ // --- wrapping struct: whatsapp.Call ---
469
447
  //
470
- extern long long int whatsapp_Group_CTor();
471
- extern char* whatsapp_Group_JID_Get(long long int handle);
472
- extern void whatsapp_Group_JID_Set(long long int handle, char* val);
473
- extern char* whatsapp_Group_Name_Get(long long int handle);
474
- extern void whatsapp_Group_Name_Set(long long int handle, char* val);
475
- extern long long int whatsapp_Group_Subject_Get(long long int handle);
476
- extern void whatsapp_Group_Subject_Set(long long int handle, long long int val);
477
- extern char* whatsapp_Group_Nickname_Get(long long int handle);
478
- extern void whatsapp_Group_Nickname_Set(long long int handle, char* val);
479
- extern long long int whatsapp_Group_Participants_Get(long long int handle);
480
- extern void whatsapp_Group_Participants_Set(long long int handle, long long int val);
448
+ extern long long int whatsapp_Call_CTor();
449
+ extern long long int whatsapp_Call_State_Get(long long int handle);
450
+ extern void whatsapp_Call_State_Set(long long int handle, long long int val);
451
+ extern char* whatsapp_Call_JID_Get(long long int handle);
452
+ extern void whatsapp_Call_JID_Set(long long int handle, char* val);
453
+ extern long long int whatsapp_Call_Timestamp_Get(long long int handle);
454
+ extern void whatsapp_Call_Timestamp_Set(long long int handle, long long int val);
481
455
 
482
456
  // --- wrapping struct: whatsapp.GroupParticipant ---
483
457
  //
484
458
  extern long long int whatsapp_GroupParticipant_CTor();
485
459
  extern char* whatsapp_GroupParticipant_JID_Get(long long int handle);
486
460
  extern void whatsapp_GroupParticipant_JID_Set(long long int handle, char* val);
461
+ extern char* whatsapp_GroupParticipant_Nickname_Get(long long int handle);
462
+ extern void whatsapp_GroupParticipant_Nickname_Set(long long int handle, char* val);
487
463
  extern long long int whatsapp_GroupParticipant_Affiliation_Get(long long int handle);
488
464
  extern void whatsapp_GroupParticipant_Affiliation_Set(long long int handle, long long int val);
489
465
  extern long long int whatsapp_GroupParticipant_Action_Get(long long int handle);
@@ -496,8 +472,8 @@ extern char* whatsapp_GroupSubject_Subject_Get(long long int handle);
496
472
  extern void whatsapp_GroupSubject_Subject_Set(long long int handle, char* val);
497
473
  extern long long int whatsapp_GroupSubject_SetAt_Get(long long int handle);
498
474
  extern void whatsapp_GroupSubject_SetAt_Set(long long int handle, long long int val);
499
- extern char* whatsapp_GroupSubject_SetByJID_Get(long long int handle);
500
- extern void whatsapp_GroupSubject_SetByJID_Set(long long int handle, char* val);
475
+ extern char* whatsapp_GroupSubject_SetBy_Get(long long int handle);
476
+ extern void whatsapp_GroupSubject_SetBy_Set(long long int handle, char* val);
501
477
 
502
478
  // --- wrapping struct: whatsapp.Message ---
503
479
  //
@@ -534,12 +510,32 @@ extern long long int whatsapp_Message_Poll_Get(long long int handle);
534
510
  extern void whatsapp_Message_Poll_Set(long long int handle, long long int val);
535
511
  extern long long int whatsapp_Message_Album_Get(long long int handle);
536
512
  extern void whatsapp_Message_Album_Set(long long int handle, long long int val);
513
+ extern long long int whatsapp_Message_GroupInvite_Get(long long int handle);
514
+ extern void whatsapp_Message_GroupInvite_Set(long long int handle, long long int val);
537
515
  extern long long int whatsapp_Message_MentionJIDs_Get(long long int handle);
538
516
  extern void whatsapp_Message_MentionJIDs_Set(long long int handle, long long int val);
539
517
  extern long long int whatsapp_Message_Receipts_Get(long long int handle);
540
518
  extern void whatsapp_Message_Receipts_Set(long long int handle, long long int val);
541
519
  extern long long int whatsapp_Message_Reactions_Get(long long int handle);
542
520
  extern void whatsapp_Message_Reactions_Set(long long int handle, long long int val);
521
+ extern char whatsapp_Message_IsHistory_Get(long long int handle);
522
+ extern void whatsapp_Message_IsHistory_Set(long long int handle, char val);
523
+
524
+ // --- wrapping struct: whatsapp.Receipt ---
525
+ //
526
+ extern long long int whatsapp_Receipt_CTor();
527
+ extern long long int whatsapp_Receipt_Kind_Get(long long int handle);
528
+ extern void whatsapp_Receipt_Kind_Set(long long int handle, long long int val);
529
+ extern long long int whatsapp_Receipt_MessageIDs_Get(long long int handle);
530
+ extern void whatsapp_Receipt_MessageIDs_Set(long long int handle, long long int val);
531
+ extern char* whatsapp_Receipt_JID_Get(long long int handle);
532
+ extern void whatsapp_Receipt_JID_Set(long long int handle, char* val);
533
+ extern char* whatsapp_Receipt_GroupJID_Get(long long int handle);
534
+ extern void whatsapp_Receipt_GroupJID_Set(long long int handle, char* val);
535
+ extern long long int whatsapp_Receipt_Timestamp_Get(long long int handle);
536
+ extern void whatsapp_Receipt_Timestamp_Set(long long int handle, long long int val);
537
+ extern char whatsapp_Receipt_IsCarbon_Get(long long int handle);
538
+ extern void whatsapp_Receipt_IsCarbon_Set(long long int handle, char val);
543
539
 
544
540
  // --- wrapping struct: whatsapp.Attachment ---
545
541
  //
@@ -554,6 +550,45 @@ extern long long int whatsapp_Attachment_Data_Get(long long int handle);
554
550
  extern void whatsapp_Attachment_Data_Set(long long int handle, long long int val);
555
551
  extern long long int whatsapp_Attachment_GetSpec(long long int _handle, long long int ctx);
556
552
 
553
+ // --- wrapping struct: whatsapp.Avatar ---
554
+ //
555
+ extern long long int whatsapp_Avatar_CTor();
556
+ extern char* whatsapp_Avatar_ID_Get(long long int handle);
557
+ extern void whatsapp_Avatar_ID_Set(long long int handle, char* val);
558
+ extern char* whatsapp_Avatar_URL_Get(long long int handle);
559
+ extern void whatsapp_Avatar_URL_Set(long long int handle, char* val);
560
+
561
+ // --- wrapping struct: whatsapp.Connect ---
562
+ //
563
+ extern long long int whatsapp_Connect_CTor();
564
+ extern char* whatsapp_Connect_JID_Get(long long int handle);
565
+ extern void whatsapp_Connect_JID_Set(long long int handle, char* val);
566
+ extern char* whatsapp_Connect_Error_Get(long long int handle);
567
+ extern void whatsapp_Connect_Error_Set(long long int handle, char* val);
568
+
569
+ // --- wrapping struct: whatsapp.Group ---
570
+ //
571
+ extern long long int whatsapp_Group_CTor();
572
+ extern char* whatsapp_Group_JID_Get(long long int handle);
573
+ extern void whatsapp_Group_JID_Set(long long int handle, char* val);
574
+ extern char* whatsapp_Group_Name_Get(long long int handle);
575
+ extern void whatsapp_Group_Name_Set(long long int handle, char* val);
576
+ extern long long int whatsapp_Group_Subject_Get(long long int handle);
577
+ extern void whatsapp_Group_Subject_Set(long long int handle, long long int val);
578
+ extern char* whatsapp_Group_Nickname_Get(long long int handle);
579
+ extern void whatsapp_Group_Nickname_Set(long long int handle, char* val);
580
+ extern long long int whatsapp_Group_Participants_Get(long long int handle);
581
+ extern void whatsapp_Group_Participants_Set(long long int handle, long long int val);
582
+ extern char* whatsapp_Group_InviteCode_Get(long long int handle);
583
+ extern void whatsapp_Group_InviteCode_Set(long long int handle, char* val);
584
+
585
+ // --- wrapping struct: whatsapp.LinkedDevice ---
586
+ //
587
+ extern long long int whatsapp_LinkedDevice_CTor();
588
+ extern char* whatsapp_LinkedDevice_ID_Get(long long int handle);
589
+ extern void whatsapp_LinkedDevice_ID_Set(long long int handle, char* val);
590
+ extern long long int whatsapp_LinkedDevice_JID(long long int _handle);
591
+
557
592
  // --- wrapping struct: whatsapp.Presence ---
558
593
  //
559
594
  extern long long int whatsapp_Presence_CTor();
@@ -564,44 +599,37 @@ extern void whatsapp_Presence_Kind_Set(long long int handle, long long int val);
564
599
  extern long long int whatsapp_Presence_LastSeen_Get(long long int handle);
565
600
  extern void whatsapp_Presence_LastSeen_Set(long long int handle, long long int val);
566
601
 
567
- // --- wrapping struct: whatsapp.Preview ---
568
- //
569
- extern long long int whatsapp_Preview_CTor();
570
- extern long long int whatsapp_Preview_Kind_Get(long long int handle);
571
- extern void whatsapp_Preview_Kind_Set(long long int handle, long long int val);
572
- extern char* whatsapp_Preview_URL_Get(long long int handle);
573
- extern void whatsapp_Preview_URL_Set(long long int handle, char* val);
574
- extern char* whatsapp_Preview_Title_Get(long long int handle);
575
- extern void whatsapp_Preview_Title_Set(long long int handle, char* val);
576
- extern char* whatsapp_Preview_Description_Get(long long int handle);
577
- extern void whatsapp_Preview_Description_Set(long long int handle, char* val);
578
- extern long long int whatsapp_Preview_Thumbnail_Get(long long int handle);
579
- extern void whatsapp_Preview_Thumbnail_Set(long long int handle, long long int val);
580
-
581
- // --- wrapping struct: whatsapp.LinkedDevice ---
602
+ // --- wrapping struct: whatsapp.Contact ---
582
603
  //
583
- extern long long int whatsapp_LinkedDevice_CTor();
584
- extern char* whatsapp_LinkedDevice_ID_Get(long long int handle);
585
- extern void whatsapp_LinkedDevice_ID_Set(long long int handle, char* val);
586
- extern long long int whatsapp_LinkedDevice_JID(long long int _handle);
604
+ extern long long int whatsapp_Contact_CTor();
605
+ extern char* whatsapp_Contact_JID_Get(long long int handle);
606
+ extern void whatsapp_Contact_JID_Set(long long int handle, char* val);
607
+ extern char* whatsapp_Contact_Name_Get(long long int handle);
608
+ extern void whatsapp_Contact_Name_Set(long long int handle, char* val);
587
609
 
588
- // --- wrapping struct: whatsapp.ChatState ---
610
+ // --- wrapping struct: whatsapp.Location ---
589
611
  //
590
- extern long long int whatsapp_ChatState_CTor();
591
- extern long long int whatsapp_ChatState_Kind_Get(long long int handle);
592
- extern void whatsapp_ChatState_Kind_Set(long long int handle, long long int val);
593
- extern char* whatsapp_ChatState_JID_Get(long long int handle);
594
- extern void whatsapp_ChatState_JID_Set(long long int handle, char* val);
595
- extern char* whatsapp_ChatState_GroupJID_Get(long long int handle);
596
- extern void whatsapp_ChatState_GroupJID_Set(long long int handle, char* val);
612
+ extern long long int whatsapp_Location_CTor();
613
+ extern double whatsapp_Location_Latitude_Get(long long int handle);
614
+ extern void whatsapp_Location_Latitude_Set(long long int handle, double val);
615
+ extern double whatsapp_Location_Longitude_Get(long long int handle);
616
+ extern void whatsapp_Location_Longitude_Set(long long int handle, double val);
617
+ extern long long int whatsapp_Location_Accuracy_Get(long long int handle);
618
+ extern void whatsapp_Location_Accuracy_Set(long long int handle, long long int val);
619
+ extern char whatsapp_Location_IsLive_Get(long long int handle);
620
+ extern void whatsapp_Location_IsLive_Set(long long int handle, char val);
621
+ extern char* whatsapp_Location_Name_Get(long long int handle);
622
+ extern void whatsapp_Location_Name_Set(long long int handle, char* val);
623
+ extern char* whatsapp_Location_Address_Get(long long int handle);
624
+ extern void whatsapp_Location_Address_Set(long long int handle, char* val);
625
+ extern char* whatsapp_Location_URL_Get(long long int handle);
626
+ extern void whatsapp_Location_URL_Set(long long int handle, char* val);
597
627
 
598
- // --- wrapping struct: whatsapp.Connect ---
628
+ // --- wrapping struct: whatsapp.LoggedOut ---
599
629
  //
600
- extern long long int whatsapp_Connect_CTor();
601
- extern char* whatsapp_Connect_JID_Get(long long int handle);
602
- extern void whatsapp_Connect_JID_Set(long long int handle, char* val);
603
- extern char* whatsapp_Connect_Error_Get(long long int handle);
604
- extern void whatsapp_Connect_Error_Set(long long int handle, char* val);
630
+ extern long long int whatsapp_LoggedOut_CTor();
631
+ extern char* whatsapp_LoggedOut_Reason_Get(long long int handle);
632
+ extern void whatsapp_LoggedOut_Reason_Set(long long int handle, char* val);
605
633
 
606
634
  // --- wrapping struct: whatsapp.Poll ---
607
635
  //
@@ -611,32 +639,21 @@ extern void whatsapp_Poll_Title_Set(long long int handle, char* val);
611
639
  extern long long int whatsapp_Poll_Options_Get(long long int handle);
612
640
  extern void whatsapp_Poll_Options_Set(long long int handle, long long int val);
613
641
 
614
- // --- wrapping struct: whatsapp.Receipt ---
615
- //
616
- extern long long int whatsapp_Receipt_CTor();
617
- extern long long int whatsapp_Receipt_Kind_Get(long long int handle);
618
- extern void whatsapp_Receipt_Kind_Set(long long int handle, long long int val);
619
- extern long long int whatsapp_Receipt_MessageIDs_Get(long long int handle);
620
- extern void whatsapp_Receipt_MessageIDs_Set(long long int handle, long long int val);
621
- extern char* whatsapp_Receipt_JID_Get(long long int handle);
622
- extern void whatsapp_Receipt_JID_Set(long long int handle, char* val);
623
- extern char* whatsapp_Receipt_GroupJID_Get(long long int handle);
624
- extern void whatsapp_Receipt_GroupJID_Set(long long int handle, char* val);
625
- extern long long int whatsapp_Receipt_Timestamp_Get(long long int handle);
626
- extern void whatsapp_Receipt_Timestamp_Set(long long int handle, long long int val);
627
- extern char whatsapp_Receipt_IsCarbon_Get(long long int handle);
628
- extern void whatsapp_Receipt_IsCarbon_Set(long long int handle, char val);
629
-
630
- // --- wrapping struct: whatsapp.Call ---
642
+ // --- wrapping struct: whatsapp.Preview ---
631
643
  //
632
- extern long long int whatsapp_Call_CTor();
633
- extern long long int whatsapp_Call_State_Get(long long int handle);
634
- extern void whatsapp_Call_State_Set(long long int handle, long long int val);
635
- extern char* whatsapp_Call_JID_Get(long long int handle);
636
- extern void whatsapp_Call_JID_Set(long long int handle, char* val);
637
- extern long long int whatsapp_Call_Timestamp_Get(long long int handle);
638
- extern void whatsapp_Call_Timestamp_Set(long long int handle, long long int val);
644
+ extern long long int whatsapp_Preview_CTor();
645
+ extern long long int whatsapp_Preview_Kind_Get(long long int handle);
646
+ extern void whatsapp_Preview_Kind_Set(long long int handle, long long int val);
647
+ extern char* whatsapp_Preview_URL_Get(long long int handle);
648
+ extern void whatsapp_Preview_URL_Set(long long int handle, char* val);
649
+ extern char* whatsapp_Preview_Title_Get(long long int handle);
650
+ extern void whatsapp_Preview_Title_Set(long long int handle, char* val);
651
+ extern char* whatsapp_Preview_Description_Get(long long int handle);
652
+ extern void whatsapp_Preview_Description_Set(long long int handle, char* val);
653
+ extern long long int whatsapp_Preview_Thumbnail_Get(long long int handle);
654
+ extern void whatsapp_Preview_Thumbnail_Set(long long int handle, long long int val);
639
655
  extern long long int whatsapp_NewGateway();
656
+ extern char whatsapp_IsAnonymousJID(char* id);
640
657
 
641
658
  #ifdef __cplusplus
642
659
  }
slidge_whatsapp/go.mod CHANGED
@@ -1,34 +1,37 @@
1
1
  module codeberg.org/slidge/slidge-whatsapp/slidge_whatsapp
2
2
 
3
- go 1.23.0
3
+ go 1.24.0
4
4
 
5
- toolchain go1.24.1
5
+ toolchain go1.24.6
6
6
 
7
7
  require (
8
- github.com/gen2brain/go-fitz v1.24.14
8
+ github.com/gen2brain/go-fitz v1.24.15
9
9
  github.com/go-python/gopy v0.4.11-0.20241206185020-5f285b890023
10
10
  github.com/h2non/filetype v1.1.3
11
- github.com/mattn/go-sqlite3 v1.14.28
11
+ github.com/mattn/go-sqlite3 v1.14.32
12
12
  go.mau.fi/libsignal v0.2.0
13
- go.mau.fi/whatsmeow v0.0.0-20250701221811-9adf672adc90
14
- golang.org/x/image v0.27.0
13
+ go.mau.fi/whatsmeow v0.0.0-20250905121447-8d6da61ecbfa
14
+ golang.org/x/image v0.31.0
15
15
  )
16
16
 
17
17
  require (
18
18
  filippo.io/edwards25519 v1.1.0 // indirect
19
+ github.com/beeper/argo-go v1.1.2 // indirect
19
20
  github.com/ebitengine/purego v0.8.4 // indirect
21
+ github.com/elliotchance/orderedmap/v3 v3.1.0 // indirect
20
22
  github.com/google/uuid v1.6.0 // indirect
21
23
  github.com/gorilla/websocket v1.5.3 // indirect
22
- github.com/jupiterrider/ffi v0.4.1 // indirect
24
+ github.com/jupiterrider/ffi v0.5.1 // indirect
23
25
  github.com/mattn/go-colorable v0.1.14 // indirect
24
26
  github.com/mattn/go-isatty v0.0.20 // indirect
25
- github.com/petermattis/goid v0.0.0-20250508124226-395b08cebbdb // indirect
27
+ github.com/petermattis/goid v0.0.0-20250904145737-900bdf8bb490 // indirect
26
28
  github.com/rs/zerolog v1.34.0 // indirect
27
- go.mau.fi/util v0.8.8 // indirect
28
- golang.org/x/crypto v0.39.0 // indirect
29
- golang.org/x/exp v0.0.0-20250606033433-dcc06ee1d476 // indirect
30
- golang.org/x/net v0.41.0 // indirect
31
- golang.org/x/sys v0.33.0 // indirect
32
- golang.org/x/text v0.26.0 // indirect
33
- google.golang.org/protobuf v1.36.6 // indirect
29
+ github.com/vektah/gqlparser/v2 v2.5.30 // indirect
30
+ go.mau.fi/util v0.9.0 // indirect
31
+ golang.org/x/crypto v0.42.0 // indirect
32
+ golang.org/x/exp v0.0.0-20250911091902-df9299821621 // indirect
33
+ golang.org/x/net v0.44.0 // indirect
34
+ golang.org/x/sys v0.36.0 // indirect
35
+ golang.org/x/text v0.29.0 // indirect
36
+ google.golang.org/protobuf v1.36.9 // indirect
34
37
  )
slidge_whatsapp/go.sum CHANGED
@@ -2,13 +2,21 @@ filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
2
2
  filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
3
3
  github.com/DATA-DOG/go-sqlmock v1.5.2 h1:OcvFkGmslmlZibjAjaHm3L//6LiuBgolP7OputlJIzU=
4
4
  github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ+JlNzwDqpNU=
5
+ github.com/agnivade/levenshtein v1.2.1 h1:EHBY3UOn1gwdy/VbFwgo4cxecRznFk7fKWN1KOX7eoM=
6
+ github.com/agnivade/levenshtein v1.2.1/go.mod h1:QVVI16kDrtSuwcpd0p1+xMC6Z/VfhtCyDIjcwga4/DU=
7
+ github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ=
8
+ github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
9
+ github.com/beeper/argo-go v1.1.2 h1:UQI2G8F+NLfGTOmTUI0254pGKx/HUU/etbUGTJv91Fs=
10
+ github.com/beeper/argo-go v1.1.2/go.mod h1:M+LJAnyowKVQ6Rdj6XYGEn+qcVFkb3R/MUpqkGR0hM4=
5
11
  github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
6
12
  github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
7
13
  github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
8
14
  github.com/ebitengine/purego v0.8.4 h1:CF7LEKg5FFOsASUj0+QwaXf8Ht6TlFxg09+S9wz0omw=
9
15
  github.com/ebitengine/purego v0.8.4/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ=
10
- github.com/gen2brain/go-fitz v1.24.14 h1:09weRkjVtLYNGo7l0J7DyOwBExbwi8SJ9h8YPhw9WEo=
11
- github.com/gen2brain/go-fitz v1.24.14/go.mod h1:0KaZeQgASc20Yp5R/pFzyy7SmP01XcoHKNF842U2/S4=
16
+ github.com/elliotchance/orderedmap/v3 v3.1.0 h1:j4DJ5ObEmMBt/lcwIecKcoRxIQUEnw0L804lXYDt/pg=
17
+ github.com/elliotchance/orderedmap/v3 v3.1.0/go.mod h1:G+Hc2RwaZvJMcS4JpGCOyViCnGeKf0bTYCGTO4uhjSo=
18
+ github.com/gen2brain/go-fitz v1.24.15 h1:sJNB1MOWkqnzzENPHggFpgxTwW0+S5WF/rM5wUBpJWo=
19
+ github.com/gen2brain/go-fitz v1.24.15/go.mod h1:SftkiVbTHqF141DuiLwBBM65zP7ig6AVDQpf2WlHamo=
12
20
  github.com/go-python/gopy v0.4.11-0.20241206185020-5f285b890023 h1:XTSDrwAmmX5o2lKeIYfKbCPYPMaDSDYvknkYADJKpxE=
13
21
  github.com/go-python/gopy v0.4.11-0.20241206185020-5f285b890023/go.mod h1:zMV/gSSYa9u/8Zp0WYR+L/z+kOIqIUtMg/a1/GRy5uw=
14
22
  github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
@@ -20,8 +28,8 @@ github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aN
20
28
  github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
21
29
  github.com/h2non/filetype v1.1.3 h1:FKkx9QbD7HR/zjK1Ia5XiBsq9zdLi5Kf3zGyFTAFkGg=
22
30
  github.com/h2non/filetype v1.1.3/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY=
23
- github.com/jupiterrider/ffi v0.4.1 h1:Obg+xpuA+rRkRTEN7xu3IagjNDMO8fRUhOPpLEztPYI=
24
- github.com/jupiterrider/ffi v0.4.1/go.mod h1:Ba3hjU7Sz2+TO8HupjZwGssVnzo7RG3xF77byUBueB4=
31
+ github.com/jupiterrider/ffi v0.5.1 h1:l7ANXU+Ex33LilVa283HNaf/sTzCrrht7D05k6T6nlc=
32
+ github.com/jupiterrider/ffi v0.5.1/go.mod h1:x7xdNKo8h0AmLuXfswDUBxUsd2OqUP4ekC8sCnsmbvo=
25
33
  github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
26
34
  github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
27
35
  github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
@@ -29,40 +37,44 @@ github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/
29
37
  github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
30
38
  github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
31
39
  github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
32
- github.com/mattn/go-sqlite3 v1.14.28 h1:ThEiQrnbtumT+QMknw63Befp/ce/nUPgBPMlRFEum7A=
33
- github.com/mattn/go-sqlite3 v1.14.28/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
34
- github.com/petermattis/goid v0.0.0-20250508124226-395b08cebbdb h1:3PrKuO92dUTMrQ9dx0YNejC6U/Si6jqKmyQ9vWjwqR4=
35
- github.com/petermattis/goid v0.0.0-20250508124226-395b08cebbdb/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4=
40
+ github.com/mattn/go-sqlite3 v1.14.32 h1:JD12Ag3oLy1zQA+BNn74xRgaBbdhbNIDYvQUEuuErjs=
41
+ github.com/mattn/go-sqlite3 v1.14.32/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
42
+ github.com/petermattis/goid v0.0.0-20250904145737-900bdf8bb490 h1:QTvNkZ5ylY0PGgA+Lih+GdboMLY/G9SEGLMEGVjTVA4=
43
+ github.com/petermattis/goid v0.0.0-20250904145737-900bdf8bb490/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4=
36
44
  github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
37
45
  github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
38
46
  github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
39
47
  github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0=
40
48
  github.com/rs/zerolog v1.34.0 h1:k43nTLIwcTVQAncfCw4KZ2VY6ukYoZaBPNOE8txlOeY=
41
49
  github.com/rs/zerolog v1.34.0/go.mod h1:bJsvje4Z08ROH4Nhs5iH600c3IkWhwp44iRc54W6wYQ=
50
+ github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8=
51
+ github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I=
42
52
  github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
43
53
  github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
54
+ github.com/vektah/gqlparser/v2 v2.5.30 h1:EqLwGAFLIzt1wpx1IPpY67DwUujF1OfzgEyDsLrN6kE=
55
+ github.com/vektah/gqlparser/v2 v2.5.30/go.mod h1:D1/VCZtV3LPnQrcPBeR/q5jkSQIPti0uYCP/RI0gIeo=
44
56
  go.mau.fi/libsignal v0.2.0 h1:oRXj3OHhEJq51BFEM8/50UZblmWiTYH93hsNTPcbk90=
45
57
  go.mau.fi/libsignal v0.2.0/go.mod h1:tvjoDsMejgT38CXTXwqaYu8itBiY8O2Mb6biWvZBb9k=
46
- go.mau.fi/util v0.8.8 h1:OnuEEc/sIJFhnq4kFggiImUpcmnmL/xpvQMRu5Fiy5c=
47
- go.mau.fi/util v0.8.8/go.mod h1:Y/kS3loxTEhy8Vill513EtPXr+CRDdae+Xj2BXXMy/c=
48
- go.mau.fi/whatsmeow v0.0.0-20250701221811-9adf672adc90 h1:K9knC6oQMLPutKwDVnqdgrDEjMJ8D5nREE9Li3dH71k=
49
- go.mau.fi/whatsmeow v0.0.0-20250701221811-9adf672adc90/go.mod h1:bEyyFvXlwr/18B2pOkdX1vWAx1+y1NJX+sCXVyw01UA=
50
- golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM=
51
- golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U=
52
- golang.org/x/exp v0.0.0-20250606033433-dcc06ee1d476 h1:bsqhLWFR6G6xiQcb+JoGqdKdRU6WzPWmK8E0jxTjzo4=
53
- golang.org/x/exp v0.0.0-20250606033433-dcc06ee1d476/go.mod h1:3//PLf8L/X+8b4vuAfHzxeRUl04Adcb341+IGKfnqS8=
54
- golang.org/x/image v0.27.0 h1:C8gA4oWU/tKkdCfYT6T2u4faJu3MeNS5O8UPWlPF61w=
55
- golang.org/x/image v0.27.0/go.mod h1:xbdrClrAUway1MUTEZDq9mz/UpRwYAkFFNUslZtcB+g=
56
- golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
57
- golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
58
+ go.mau.fi/util v0.9.0 h1:ya3s3pX+Y8R2fgp0DbE7a0o3FwncoelDX5iyaeVE8ls=
59
+ go.mau.fi/util v0.9.0/go.mod h1:pdL3lg2aaeeHIreGXNnPwhJPXkXdc3ZxsI6le8hOWEA=
60
+ go.mau.fi/whatsmeow v0.0.0-20250905121447-8d6da61ecbfa h1:+77BnZUz3DVMHPUil1YFc2spz7dtuqHaEt2nzWVgX0s=
61
+ go.mau.fi/whatsmeow v0.0.0-20250905121447-8d6da61ecbfa/go.mod h1:Xn2RtGFtEJPCAr56wsWpauBIQAC0S0+v81iyKmrd708=
62
+ golang.org/x/crypto v0.42.0 h1:chiH31gIWm57EkTXpwnqf8qeuMUi0yekh6mT2AvFlqI=
63
+ golang.org/x/crypto v0.42.0/go.mod h1:4+rDnOTJhQCx2q7/j6rAN5XDw8kPjeaXEUR2eL94ix8=
64
+ golang.org/x/exp v0.0.0-20250911091902-df9299821621 h1:2id6c1/gto0kaHYyrixvknJ8tUK/Qs5IsmBtrc+FtgU=
65
+ golang.org/x/exp v0.0.0-20250911091902-df9299821621/go.mod h1:TwQYMMnGpvZyc+JpB/UAuTNIsVJifOlSkrZkhcvpVUk=
66
+ golang.org/x/image v0.31.0 h1:mLChjE2MV6g1S7oqbXC0/UcKijjm5fnJLUYKIYrLESA=
67
+ golang.org/x/image v0.31.0/go.mod h1:R9ec5Lcp96v9FTF+ajwaH3uGxPH4fKfHHAVbUILxghA=
68
+ golang.org/x/net v0.44.0 h1:evd8IRDyfNBMBTTY5XRF1vaZlD+EmWx6x8PkhR04H/I=
69
+ golang.org/x/net v0.44.0/go.mod h1:ECOoLqd5U3Lhyeyo/QDCEVQ4sNgYsqvCZ722XogGieY=
58
70
  golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
59
71
  golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
60
72
  golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
61
- golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
62
- golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
63
- golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
64
- golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
65
- google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
66
- google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
73
+ golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k=
74
+ golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
75
+ golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk=
76
+ golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4=
77
+ google.golang.org/protobuf v1.36.9 h1:w2gp2mA27hUeUzj9Ex9FBjsBm40zfaDtEWow293U7Iw=
78
+ google.golang.org/protobuf v1.36.9/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU=
67
79
  gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
68
80
  gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
slidge_whatsapp/group.py CHANGED
@@ -4,7 +4,7 @@ from typing import TYPE_CHECKING, AsyncIterator, Optional
4
4
 
5
5
  from slidge.group import LegacyBookmarks, LegacyMUC, LegacyParticipant, MucType
6
6
  from slidge.util.archive_msg import HistoryMessage
7
- from slidge.util.types import Hat, HoleBound, Mention, MucAffiliation
7
+ from slidge.util.types import Avatar, Hat, HoleBound, Mention, MucAffiliation
8
8
  from slixmpp.exceptions import XMPPError
9
9
 
10
10
  from .generated import go, whatsapp
@@ -28,9 +28,12 @@ class MUC(LegacyMUC[str, str, Participant, str]):
28
28
 
29
29
  async def update_info(self):
30
30
  try:
31
- avatar = self.session.whatsapp.GetAvatar(self.legacy_id, self.avatar or "")
32
- if avatar.URL and self.avatar != avatar.ID:
33
- await self.set_avatar(avatar.URL, avatar.ID)
31
+ unique_id = ""
32
+ if self.avatar is not None:
33
+ unique_id = self.avatar.unique_id or "" # type:ignore[assignment]
34
+ avatar = self.session.whatsapp.GetAvatar(self.legacy_id, unique_id)
35
+ if avatar.URL and unique_id != avatar.ID:
36
+ await self.set_avatar(Avatar(url=avatar.URL, unique_id=avatar.ID))
34
37
  elif avatar.URL == "" and avatar.ID == "":
35
38
  await self.set_avatar(None)
36
39
  except RuntimeError as err:
@@ -60,9 +63,16 @@ class MUC(LegacyMUC[str, str, Participant, str]):
60
63
  self.session.whatsapp.RequestMessageHistory(self.legacy_id, oldest_message)
61
64
 
62
65
  def get_message_sender(self, legacy_msg_id: str):
63
- assert self.pk is not None
64
- stored = self.xmpp.store.mam.get_by_legacy_id(self.pk, legacy_msg_id)
65
- if stored is None:
66
+ with self.xmpp.store.session() as orm:
67
+ try:
68
+ stored = next(
69
+ self.xmpp.store.mam.get_messages(
70
+ orm, self.stored.id, ids=[legacy_msg_id]
71
+ )
72
+ )
73
+ except StopIteration:
74
+ stored = None
75
+ if not stored:
66
76
  raise XMPPError("internal-server-error", "Unable to find message sender")
67
77
  msg = HistoryMessage(stored.stanza)
68
78
  occupant_id = msg.stanza["occupant-id"]["id"]
@@ -87,17 +97,13 @@ class MUC(LegacyMUC[str, str, Participant, str]):
87
97
  if info.Subject.SetAt:
88
98
  set_at = datetime.fromtimestamp(info.Subject.SetAt, tz=timezone.utc)
89
99
  self.subject_date = set_at
90
- if info.Subject.SetByJID:
91
- participant = await self.get_participant_by_legacy_id(
92
- info.Subject.SetByJID
93
- )
94
- if name := participant.nickname:
95
- self.subject_setter = name
100
+ if info.Subject.SetBy:
101
+ self.subject_setter = info.Subject.SetBy
96
102
  self.session.whatsapp_participants[self.legacy_id] = info.Participants
97
103
  self.n_participants = len(info.Participants)
98
104
  # Since whatsmeow does always emit a whatsapp.Group event even for participant changes,
99
105
  # we need to do that to actually update the participant list.
100
- if self._participants_filled:
106
+ if self.participants_filled:
101
107
  async for _ in self.fill_participants():
102
108
  pass
103
109
 
@@ -109,7 +115,12 @@ class MUC(LegacyMUC[str, str, Participant, str]):
109
115
  self.log.warning("No participants!")
110
116
  return
111
117
  for data in participants:
112
- participant = await self.get_participant_by_legacy_id(data.JID)
118
+ if whatsapp.IsAnonymousJID(data.JID):
119
+ participant = await self.get_participant(data.JID)
120
+ if data.Nickname:
121
+ participant.nickname = data.Nickname
122
+ else:
123
+ participant = await self.get_participant_by_legacy_id(data.JID)
113
124
  if data.Action == whatsapp.GroupParticipantActionRemove:
114
125
  self.remove_participant(participant)
115
126
  else:
@@ -135,7 +146,7 @@ class MUC(LegacyMUC[str, str, Participant, str]):
135
146
  t,
136
147
  participants=(
137
148
  {
138
- p.contact.jid_username: p.nickname
149
+ p.contact.jid.username: p.nickname
139
150
  async for p in self.get_participants()
140
151
  if p.contact is not None # should not happen
141
152
  }
@@ -171,16 +182,14 @@ class MUC(LegacyMUC[str, str, Participant, str]):
171
182
  reason: Optional[str],
172
183
  nickname: Optional[str],
173
184
  ):
174
- assert contact.contact_pk is not None
175
- assert self.pk is not None
176
185
  if affiliation == "member":
177
- if (
178
- self.xmpp.store.participants.get_by_contact(self.pk, contact.contact_pk)
179
- is not None
180
- ):
181
- action = whatsapp.GroupParticipantActionDemote
182
- else:
186
+ participant = await self.get_participant_by_contact(contact, create=False)
187
+ if participant is None or participant.affiliation in ("outcast", "none"):
183
188
  action = whatsapp.GroupParticipantActionAdd
189
+ elif participant.affiliation == "member":
190
+ return
191
+ else:
192
+ action = whatsapp.GroupParticipantActionDemote
184
193
  elif affiliation == "admin":
185
194
  action = whatsapp.GroupParticipantActionPromote
186
195
  elif affiliation == "outcast" or affiliation == "none":
@@ -232,12 +241,7 @@ class Bookmarks(LegacyBookmarks[str, MUC]):
232
241
  local_part.removeprefix("#") + "@" + whatsapp.DefaultGroupServer
233
242
  )
234
243
 
235
- if (
236
- self.xmpp.store.rooms.get_by_legacy_id(
237
- self.session.user_pk, whatsapp_group_id
238
- )
239
- is None
240
- ):
244
+ if not await self.by_legacy_id(whatsapp_group_id, create=False):
241
245
  raise XMPPError("item-not-found", f"No group found for {whatsapp_group_id}")
242
246
 
243
247
  return whatsapp_group_id
@@ -334,7 +334,7 @@ func processImage(img image.Image, spec *Spec) ([]byte, error) {
334
334
  o.Quality = jpeg.DefaultQuality
335
335
  }
336
336
 
337
- err = jpeg.Encode(&buf, img, nil)
337
+ err = jpeg.Encode(&buf, img, &o)
338
338
  case TypePNG:
339
339
  err = png.Encode(&buf, img)
340
340
  }