aunubaileys 1.0.39 → 1.0.40

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.
package/README.md CHANGED
@@ -64,6 +64,10 @@ Everything else is pure upstream. When upstream moves, we rebase the patch layer
64
64
 
65
65
 
66
66
 
67
+ ### 🆕 What's new in 1.0.40 / Baru di 1.0.40
68
+
69
+ - 🎁 **Four future-proof message wrapper options** — **`viewOnceV2: true`** wraps content into `viewOnceMessageV2`, **`viewOnceV2Extension: true`** into `viewOnceMessageV2Extension`, **`ephemeral: true`** into `ephemeralMessage`, and **`interactiveAsTemplate: true`** wraps an interactive message into a `templateMessage` (optional `templateId`; the `messageContextInfo` device-list metadata is preserved alongside, and using it on a non-interactive message throws a clear 400). The 6.7.24 proto already carries all four wrapper types — only the boolean options were missing. Adapted from @itsliaaa/baileys; classic `viewOnce` behaviour is unchanged.
70
+
67
71
  ### 🆕 What's new in 1.0.39 / Baru di 1.0.39
68
72
 
69
73
  - 📰 **New `sock.newsletterSubscribed()`** — fetch **every newsletter this account follows** in one call, the newsletter analogue of `groupFetchAllParticipating()` that was missing until now (only `newsletterSubscribers(jid)`, the follower count of one newsletter, existed). Implemented over the same MEX path as the other newsletter methods: query id `6388546374527196`, path `xwa2_newsletter_subscribed` (WhatsApp's own MEX schema constants), added to the `QueryIds`/`XWAPaths` enums. Adapted from @itsliaaa/baileys.
@@ -91,6 +91,16 @@ type Contextable = {
91
91
  };
92
92
  type ViewOnce = {
93
93
  viewOnce?: boolean;
94
+ /** wrap the message into viewOnceMessageV2 */
95
+ viewOnceV2?: boolean;
96
+ /** wrap the message into viewOnceMessageV2Extension */
97
+ viewOnceV2Extension?: boolean;
98
+ /** wrap the message into ephemeralMessage */
99
+ ephemeral?: boolean;
100
+ /** wrap an interactive message into a templateMessage (requires `interactive` content) */
101
+ interactiveAsTemplate?: boolean;
102
+ /** optional template id used when interactiveAsTemplate is set */
103
+ templateId?: string;
94
104
  };
95
105
  type Editable = {
96
106
  edit?: WAMessageKey;
@@ -821,6 +821,13 @@ export const generateWAMessageContent = async (message, options) => {
821
821
  if ('viewOnce' in message && !!message.viewOnce) {
822
822
  m = { viewOnceMessage: { message: m } };
823
823
  }
824
+ // AunuBaileys: viewOnceV2 / viewOnceV2Extension (dari @itsliaaa/baileys)
825
+ else if ('viewOnceV2' in message && !!message.viewOnceV2) {
826
+ m = { viewOnceMessageV2: { message: m } };
827
+ }
828
+ else if ('viewOnceV2Extension' in message && !!message.viewOnceV2Extension) {
829
+ m = { viewOnceMessageV2Extension: { message: m } };
830
+ }
824
831
  if (('mentions' in message && message.mentions?.length) ||
825
832
  ('mentionAll' in message && !!message.mentionAll)) {
826
833
  const messageType = Object.keys(m)[0];
@@ -840,6 +847,24 @@ export const generateWAMessageContent = async (message, options) => {
840
847
  };
841
848
  }
842
849
  }
850
+ // AunuBaileys: ephemeral (dari @itsliaaa/baileys)
851
+ if ('ephemeral' in message && !!message.ephemeral) {
852
+ m = { ephemeralMessage: { message: m } };
853
+ }
854
+ // AunuBaileys: interactiveAsTemplate (dari @itsliaaa/baileys) — bungkus interactiveMessage
855
+ // ke templateMessage; messageContextInfo (deviceListMetadata) dipertahankan di sisinya
856
+ if ('interactiveAsTemplate' in message && !!message.interactiveAsTemplate) {
857
+ if (!m.interactiveMessage) {
858
+ throw new Boom('interactiveAsTemplate requires an interactive message', { statusCode: 400 });
859
+ }
860
+ m = {
861
+ templateMessage: {
862
+ interactiveMessageTemplate: m.interactiveMessage,
863
+ templateId: message.templateId || 'template-' + Date.now()
864
+ },
865
+ ...(m.messageContextInfo ? { messageContextInfo: m.messageContextInfo } : {})
866
+ };
867
+ }
843
868
  if ('edit' in message) {
844
869
  m = {
845
870
  protocolMessage: {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "aunubaileys",
3
3
  "type": "module",
4
- "version": "1.0.39",
4
+ "version": "1.0.40",
5
5
  "description": "AunuBaileys \u2014 a WhatsApp Web API for bots that never sleep. Full upstream power with the beloved in-memory store restored and pairing that just works. Forged by AunuCore.",
6
6
  "keywords": [
7
7
  "whatsapp",