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 +4 -0
- package/lib/Types/Message.d.ts +10 -0
- package/lib/Utils/messages.js +25 -0
- package/package.json +1 -1
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.
|
package/lib/Types/Message.d.ts
CHANGED
|
@@ -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;
|
package/lib/Utils/messages.js
CHANGED
|
@@ -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.
|
|
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",
|