@kyynotdevv/baileys 2.0.3
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 +307 -0
- package/WAProto/engine-requirements.js +10 -0
- package/WAProto/index.js +97650 -0
- package/engine-requirements.js +10 -0
- package/lib/Defaults/baileys-version.json +3 -0
- package/lib/Defaults/index.d.ts +53 -0
- package/lib/Defaults/index.js +147 -0
- package/lib/Defaults/phonenumber-mcc.json +223 -0
- package/lib/Signal/Group/ciphertext-message.d.ts +9 -0
- package/lib/Signal/Group/ciphertext-message.js +15 -0
- package/lib/Signal/Group/group-session-builder.d.ts +14 -0
- package/lib/Signal/Group/group-session-builder.js +64 -0
- package/lib/Signal/Group/group_cipher.d.ts +17 -0
- package/lib/Signal/Group/group_cipher.js +96 -0
- package/lib/Signal/Group/index.d.ts +11 -0
- package/lib/Signal/Group/index.js +57 -0
- package/lib/Signal/Group/keyhelper.d.ts +10 -0
- package/lib/Signal/Group/keyhelper.js +55 -0
- package/lib/Signal/Group/queue-job.d.ts +1 -0
- package/lib/Signal/Group/queue-job.js +57 -0
- package/lib/Signal/Group/sender-chain-key.d.ts +13 -0
- package/lib/Signal/Group/sender-chain-key.js +34 -0
- package/lib/Signal/Group/sender-key-distribution-message.d.ts +16 -0
- package/lib/Signal/Group/sender-key-distribution-message.js +66 -0
- package/lib/Signal/Group/sender-key-message.d.ts +18 -0
- package/lib/Signal/Group/sender-key-message.js +69 -0
- package/lib/Signal/Group/sender-key-name.d.ts +17 -0
- package/lib/Signal/Group/sender-key-name.js +51 -0
- package/lib/Signal/Group/sender-key-record.d.ts +30 -0
- package/lib/Signal/Group/sender-key-record.js +53 -0
- package/lib/Signal/Group/sender-key-state.d.ts +38 -0
- package/lib/Signal/Group/sender-key-state.js +99 -0
- package/lib/Signal/Group/sender-message-key.d.ts +11 -0
- package/lib/Signal/Group/sender-message-key.js +29 -0
- package/lib/Signal/libsignal.d.ts +3 -0
- package/lib/Signal/libsignal.js +174 -0
- package/lib/Socket/Client/abstract-socket-client.d.ts +17 -0
- package/lib/Socket/Client/abstract-socket-client.js +13 -0
- package/lib/Socket/Client/index.d.ts +3 -0
- package/lib/Socket/Client/index.js +19 -0
- package/lib/Socket/Client/mobile-socket-client.d.ts +13 -0
- package/lib/Socket/Client/mobile-socket-client.js +65 -0
- package/lib/Socket/Client/web-socket-client.d.ts +12 -0
- package/lib/Socket/Client/web-socket-client.js +62 -0
- package/lib/Socket/business.d.ts +171 -0
- package/lib/Socket/business.js +260 -0
- package/lib/Socket/chats.d.ts +267 -0
- package/lib/Socket/chats.js +970 -0
- package/lib/Socket/dugong.d.ts +254 -0
- package/lib/Socket/dugong.js +484 -0
- package/lib/Socket/groups.d.ts +115 -0
- package/lib/Socket/groups.js +380 -0
- package/lib/Socket/index.d.ts +173 -0
- package/lib/Socket/index.js +11 -0
- package/lib/Socket/messages-recv.d.ts +161 -0
- package/lib/Socket/messages-recv.js +1110 -0
- package/lib/Socket/messages-send.d.ts +149 -0
- package/lib/Socket/messages-send.js +909 -0
- package/lib/Socket/newsletter.d.ts +134 -0
- package/lib/Socket/newsletter.js +354 -0
- package/lib/Socket/registration.d.ts +267 -0
- package/lib/Socket/registration.js +166 -0
- package/lib/Socket/socket.d.ts +43 -0
- package/lib/Socket/socket.js +665 -0
- package/lib/Socket/usync.d.ts +36 -0
- package/lib/Socket/usync.js +70 -0
- package/lib/Store/index.d.ts +3 -0
- package/lib/Store/index.js +10 -0
- package/lib/Store/make-cache-manager-store.d.ts +13 -0
- package/lib/Store/make-cache-manager-store.js +83 -0
- package/lib/Store/make-in-memory-store.d.ts +118 -0
- package/lib/Store/make-in-memory-store.js +427 -0
- package/lib/Store/make-ordered-dictionary.d.ts +13 -0
- package/lib/Store/make-ordered-dictionary.js +81 -0
- package/lib/Store/object-repository.d.ts +10 -0
- package/lib/Store/object-repository.js +27 -0
- package/lib/Types/Auth.d.ts +110 -0
- package/lib/Types/Auth.js +2 -0
- package/lib/Types/Call.d.ts +13 -0
- package/lib/Types/Call.js +2 -0
- package/lib/Types/Chat.d.ts +102 -0
- package/lib/Types/Chat.js +4 -0
- package/lib/Types/Contact.d.ts +19 -0
- package/lib/Types/Contact.js +2 -0
- package/lib/Types/Events.d.ts +157 -0
- package/lib/Types/Events.js +2 -0
- package/lib/Types/GroupMetadata.d.ts +55 -0
- package/lib/Types/GroupMetadata.js +2 -0
- package/lib/Types/Label.d.ts +35 -0
- package/lib/Types/Label.js +27 -0
- package/lib/Types/LabelAssociation.d.ts +29 -0
- package/lib/Types/LabelAssociation.js +9 -0
- package/lib/Types/Message.d.ts +273 -0
- package/lib/Types/Message.js +9 -0
- package/lib/Types/Newsletter.d.ts +103 -0
- package/lib/Types/Newsletter.js +38 -0
- package/lib/Types/Product.d.ts +78 -0
- package/lib/Types/Product.js +2 -0
- package/lib/Types/Signal.d.ts +57 -0
- package/lib/Types/Signal.js +2 -0
- package/lib/Types/Socket.d.ts +111 -0
- package/lib/Types/Socket.js +2 -0
- package/lib/Types/State.d.ts +27 -0
- package/lib/Types/State.js +2 -0
- package/lib/Types/USync.d.ts +25 -0
- package/lib/Types/USync.js +2 -0
- package/lib/Types/index.d.ts +57 -0
- package/lib/Types/index.js +42 -0
- package/lib/Utils/auth-utils.d.ts +18 -0
- package/lib/Utils/auth-utils.js +206 -0
- package/lib/Utils/baileys-event-stream.d.ts +16 -0
- package/lib/Utils/baileys-event-stream.js +63 -0
- package/lib/Utils/business.d.ts +22 -0
- package/lib/Utils/business.js +234 -0
- package/lib/Utils/chat-utils.d.ts +71 -0
- package/lib/Utils/chat-utils.js +729 -0
- package/lib/Utils/crypto.d.ts +41 -0
- package/lib/Utils/crypto.js +151 -0
- package/lib/Utils/decode-wa-message.d.ts +19 -0
- package/lib/Utils/decode-wa-message.js +198 -0
- package/lib/Utils/event-buffer.d.ts +35 -0
- package/lib/Utils/event-buffer.js +514 -0
- package/lib/Utils/generics.d.ts +92 -0
- package/lib/Utils/generics.js +423 -0
- package/lib/Utils/history.d.ts +15 -0
- package/lib/Utils/history.js +96 -0
- package/lib/Utils/index.d.ts +17 -0
- package/lib/Utils/index.js +33 -0
- package/lib/Utils/link-preview.d.ts +21 -0
- package/lib/Utils/link-preview.js +93 -0
- package/lib/Utils/logger.d.ts +4 -0
- package/lib/Utils/logger.js +7 -0
- package/lib/Utils/lt-hash.d.ts +12 -0
- package/lib/Utils/lt-hash.js +51 -0
- package/lib/Utils/make-mutex.d.ts +7 -0
- package/lib/Utils/make-mutex.js +43 -0
- package/lib/Utils/messages-media.d.ts +116 -0
- package/lib/Utils/messages-media.js +819 -0
- package/lib/Utils/messages.d.ts +77 -0
- package/lib/Utils/messages.js +816 -0
- package/lib/Utils/noise-handler.d.ts +21 -0
- package/lib/Utils/noise-handler.js +155 -0
- package/lib/Utils/process-message.d.ts +41 -0
- package/lib/Utils/process-message.js +321 -0
- package/lib/Utils/signal.d.ts +32 -0
- package/lib/Utils/signal.js +153 -0
- package/lib/Utils/use-multi-file-auth-state.d.ts +13 -0
- package/lib/Utils/use-multi-file-auth-state.js +119 -0
- package/lib/Utils/validate-connection.d.ts +11 -0
- package/lib/Utils/validate-connection.js +229 -0
- package/lib/WABinary/constants.d.ts +30 -0
- package/lib/WABinary/constants.js +40 -0
- package/lib/WABinary/decode.d.ts +7 -0
- package/lib/WABinary/decode.js +252 -0
- package/lib/WABinary/encode.d.ts +3 -0
- package/lib/WABinary/encode.js +265 -0
- package/lib/WABinary/generic-utils.d.ts +17 -0
- package/lib/WABinary/generic-utils.js +198 -0
- package/lib/WABinary/index.d.ts +5 -0
- package/lib/WABinary/index.js +21 -0
- package/lib/WABinary/jid-utils.d.ts +31 -0
- package/lib/WABinary/jid-utils.js +62 -0
- package/lib/WABinary/types.d.ts +18 -0
- package/lib/WABinary/types.js +2 -0
- package/lib/WAM/BinaryInfo.d.ts +17 -0
- package/lib/WAM/BinaryInfo.js +13 -0
- package/lib/WAM/constants.d.ts +38 -0
- package/lib/WAM/constants.js +15350 -0
- package/lib/WAM/encode.d.ts +3 -0
- package/lib/WAM/encode.js +155 -0
- package/lib/WAM/index.d.ts +3 -0
- package/lib/WAM/index.js +19 -0
- package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +9 -0
- package/lib/WAUSync/Protocols/USyncContactProtocol.js +32 -0
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +22 -0
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +57 -0
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +12 -0
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +30 -0
- package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +12 -0
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js +42 -0
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.d.ts +25 -0
- package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +53 -0
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.d.ts +8 -0
- package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +24 -0
- package/lib/WAUSync/Protocols/index.d.ts +4 -0
- package/lib/WAUSync/Protocols/index.js +20 -0
- package/lib/WAUSync/USyncQuery.d.ts +28 -0
- package/lib/WAUSync/USyncQuery.js +89 -0
- package/lib/WAUSync/USyncUser.d.ts +12 -0
- package/lib/WAUSync/USyncUser.js +26 -0
- package/lib/WAUSync/index.d.ts +3 -0
- package/lib/WAUSync/index.js +19 -0
- package/lib/index.d.ts +12 -0
- package/lib/index.js +68 -0
- package/package.json +103 -0
package/README.md
ADDED
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
<img src="https://files.catbox.moe/zcl82b.jpg" alt="WhatsApp Baileys Edgar" width="100%" />
|
|
4
|
+
|
|
5
|
+
<br/>
|
|
6
|
+
<br/>
|
|
7
|
+
|
|
8
|
+
# WhatsApp Baileys Edgar
|
|
9
|
+
|
|
10
|
+
<p>
|
|
11
|
+
<img src="https://img.shields.io/badge/Node.js-339933?style=for-the-badge&logo=nodedotjs&logoColor=white" />
|
|
12
|
+
<img src="https://img.shields.io/badge/WhatsApp-25D366?style=for-the-badge&logo=whatsapp&logoColor=white" />
|
|
13
|
+
<img src="https://img.shields.io/badge/WebSocket-010101?style=for-the-badge&logo=socketdotio&logoColor=white" />
|
|
14
|
+
<img src="https://img.shields.io/badge/Open%20Source-FF4500?style=for-the-badge&logo=github&logoColor=white" />
|
|
15
|
+
<img src="https://img.shields.io/badge/license-MIT-blue?style=for-the-badge" />
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
**Open-source WhatsApp automation library \u2014 no browser required.**
|
|
19
|
+
Built on WebSocket for speed, stability, and full multi-device support.
|
|
20
|
+
|
|
21
|
+
<br/>
|
|
22
|
+
|
|
23
|
+
[Installation](#getting-started) \u2022 [Documentation](#sendmessage-documentation) \u2022 [Features](#main-features) \u2022 [Telegram](https://t.me/edgar)
|
|
24
|
+
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## What is Baileys Edgar?
|
|
30
|
+
|
|
31
|
+
**WhatsApp Baileys Edgar** is a powerful, open-source library for developers who need reliable WhatsApp automation without the overhead of a browser. Powered by **WebSocket technology**, it supports message management, group administration, interactive messages, and action buttons \u2014 all in a lightweight and modular package.
|
|
32
|
+
|
|
33
|
+
Actively maintained with continuous improvements to **pairing stability**, **session management**, and **WhatsApp multi-device compatibility**.
|
|
34
|
+
|
|
35
|
+
Perfect for:
|
|
36
|
+
- Business bots & chat automation
|
|
37
|
+
- Customer service systems
|
|
38
|
+
- Broadcast & notification tools
|
|
39
|
+
- E-commerce integrations
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Main Features
|
|
44
|
+
|
|
45
|
+
| Feature | Description |
|
|
46
|
+
|---|---|
|
|
47
|
+
| **Custom Pairing** | Stable pairing with your own codes \u2014 no disconnection issues |
|
|
48
|
+
| **Interactive Messages** | Buttons, menus, native flows, and more |
|
|
49
|
+
| **Session Management** | Automatic, efficient, and long-term stable |
|
|
50
|
+
| **Multi-Device Support** | Fully compatible with WhatsApp's latest multi-device API |
|
|
51
|
+
| **Lightweight & Modular** | Easy to integrate into any Node.js project |
|
|
52
|
+
| **Rich Documentation** | Comprehensive guides and example code included |
|
|
53
|
+
| **Secure Auth** | Improved authentication flow with fixed prior vulnerabilities |
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Getting Started
|
|
58
|
+
|
|
59
|
+
Install via npm or yarn:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
npm install @whiskeysockets/baileys
|
|
63
|
+
# or
|
|
64
|
+
yarn add @whiskeysockets/baileys
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Then import and initialize:
|
|
68
|
+
|
|
69
|
+
```javascript
|
|
70
|
+
const { makeWASocket, useMultiFileAuthState } = require("@whiskeysockets/baileys");
|
|
71
|
+
|
|
72
|
+
const { state, saveCreds } = await useMultiFileAuthState("auth_info");
|
|
73
|
+
const sock = makeWASocket({ auth: state });
|
|
74
|
+
|
|
75
|
+
sock.ev.on("creds.update", saveCreds);
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Additional Functions
|
|
81
|
+
|
|
82
|
+
### Get Channel ID
|
|
83
|
+
```javascript
|
|
84
|
+
await sock.newsletterId(url);
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Check Banned Number
|
|
88
|
+
```javascript
|
|
89
|
+
await sock.checkWhatsApp(target);
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## SendMessage Documentation
|
|
95
|
+
|
|
96
|
+
<details>
|
|
97
|
+
<summary><b>Group Status Message (V2)</b></summary>
|
|
98
|
+
<br/>
|
|
99
|
+
|
|
100
|
+
```javascript
|
|
101
|
+
await sock.sendMessage(target, {
|
|
102
|
+
groupStatusMessage: {
|
|
103
|
+
text: "Hello World"
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
```
|
|
107
|
+
</details>
|
|
108
|
+
|
|
109
|
+
<details>
|
|
110
|
+
<summary><b>Album Message (Multiple Images)</b></summary>
|
|
111
|
+
<br/>
|
|
112
|
+
|
|
113
|
+
```javascript
|
|
114
|
+
await sock.sendMessage(target, {
|
|
115
|
+
albumMessage: [
|
|
116
|
+
{ image: cihuy, caption: "First photo" },
|
|
117
|
+
{ image: { url: "IMAGE_URL" }, caption: "Second photo" }
|
|
118
|
+
]
|
|
119
|
+
}, { quoted: m });
|
|
120
|
+
```
|
|
121
|
+
</details>
|
|
122
|
+
|
|
123
|
+
<details>
|
|
124
|
+
<summary><b>Event Message</b></summary>
|
|
125
|
+
<br/>
|
|
126
|
+
|
|
127
|
+
```javascript
|
|
128
|
+
await sock.sendMessage(target, {
|
|
129
|
+
eventMessage: {
|
|
130
|
+
isCanceled: false,
|
|
131
|
+
name: "Event Name",
|
|
132
|
+
description: "Event description here",
|
|
133
|
+
location: {
|
|
134
|
+
degreesLatitude: 0,
|
|
135
|
+
degreesLongitude: 0,
|
|
136
|
+
name: "Location Name"
|
|
137
|
+
},
|
|
138
|
+
joinLink: "https://call.whatsapp.com/video/example",
|
|
139
|
+
startTime: "1763019000",
|
|
140
|
+
endTime: "1763026200",
|
|
141
|
+
extraGuestsAllowed: false
|
|
142
|
+
}
|
|
143
|
+
}, { quoted: m });
|
|
144
|
+
```
|
|
145
|
+
</details>
|
|
146
|
+
|
|
147
|
+
<details>
|
|
148
|
+
<summary><b>Poll Result Message</b></summary>
|
|
149
|
+
<br/>
|
|
150
|
+
|
|
151
|
+
```javascript
|
|
152
|
+
await sock.sendMessage(target, {
|
|
153
|
+
pollResultMessage: {
|
|
154
|
+
name: "Poll Title",
|
|
155
|
+
pollVotes: [
|
|
156
|
+
{ optionName: "Option A", optionVoteCount: "112233" },
|
|
157
|
+
{ optionName: "Option B", optionVoteCount: "1" }
|
|
158
|
+
]
|
|
159
|
+
}
|
|
160
|
+
}, { quoted: m });
|
|
161
|
+
```
|
|
162
|
+
</details>
|
|
163
|
+
|
|
164
|
+
<details>
|
|
165
|
+
<summary><b>Simple Interactive Message</b></summary>
|
|
166
|
+
<br/>
|
|
167
|
+
|
|
168
|
+
```javascript
|
|
169
|
+
await sock.sendMessage(target, {
|
|
170
|
+
interactiveMessage: {
|
|
171
|
+
header: "Hello World",
|
|
172
|
+
title: "Hello World",
|
|
173
|
+
footer: "telegram: @edgar",
|
|
174
|
+
buttons: [
|
|
175
|
+
{
|
|
176
|
+
name: "cta_copy",
|
|
177
|
+
buttonParamsJson: JSON.stringify({
|
|
178
|
+
display_text: "Copy Code",
|
|
179
|
+
id: "123456789",
|
|
180
|
+
copy_code: "ABC123XYZ"
|
|
181
|
+
})
|
|
182
|
+
}
|
|
183
|
+
]
|
|
184
|
+
}
|
|
185
|
+
}, { quoted: m });
|
|
186
|
+
```
|
|
187
|
+
</details>
|
|
188
|
+
|
|
189
|
+
<details>
|
|
190
|
+
<summary><b>Interactive Message with Native Flow</b></summary>
|
|
191
|
+
<br/>
|
|
192
|
+
|
|
193
|
+
```javascript
|
|
194
|
+
await sock.sendMessage(target, {
|
|
195
|
+
interactiveMessage: {
|
|
196
|
+
header: "Hello World",
|
|
197
|
+
title: "Hello World",
|
|
198
|
+
footer: "telegram: @edgar",
|
|
199
|
+
image: { url: "https://example.com/image.jpg" },
|
|
200
|
+
nativeFlowMessage: {
|
|
201
|
+
messageParamsJson: JSON.stringify({
|
|
202
|
+
limited_time_offer: {
|
|
203
|
+
text: "Limited offer text",
|
|
204
|
+
url: "https://t.me/edgar",
|
|
205
|
+
copy_code: "PROMO2024",
|
|
206
|
+
expiration_time: Date.now() * 999
|
|
207
|
+
},
|
|
208
|
+
bottom_sheet: {
|
|
209
|
+
in_thread_buttons_limit: 2,
|
|
210
|
+
divider_indices: [1, 2, 3, 4, 5, 999],
|
|
211
|
+
list_title: "List Title",
|
|
212
|
+
button_title: "Button Title"
|
|
213
|
+
},
|
|
214
|
+
tap_target_configuration: {
|
|
215
|
+
title: "Title",
|
|
216
|
+
description: "Description text",
|
|
217
|
+
canonical_url: "https://t.me/edgar",
|
|
218
|
+
domain: "shop.example.com",
|
|
219
|
+
button_index: 0
|
|
220
|
+
}
|
|
221
|
+
}),
|
|
222
|
+
buttons: [
|
|
223
|
+
{
|
|
224
|
+
name: "single_select",
|
|
225
|
+
buttonParamsJson: JSON.stringify({ has_multiple_buttons: true })
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
name: "call_permission_request",
|
|
229
|
+
buttonParamsJson: JSON.stringify({ has_multiple_buttons: true })
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
name: "single_select",
|
|
233
|
+
buttonParamsJson: JSON.stringify({
|
|
234
|
+
title: "Select an Option",
|
|
235
|
+
sections: [
|
|
236
|
+
{
|
|
237
|
+
title: "Section Title",
|
|
238
|
+
highlight_label: "Label",
|
|
239
|
+
rows: [
|
|
240
|
+
{
|
|
241
|
+
title: "Row Title",
|
|
242
|
+
description: "Row description",
|
|
243
|
+
id: "row_1"
|
|
244
|
+
}
|
|
245
|
+
]
|
|
246
|
+
}
|
|
247
|
+
],
|
|
248
|
+
has_multiple_buttons: true
|
|
249
|
+
})
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
name: "cta_copy",
|
|
253
|
+
buttonParamsJson: JSON.stringify({
|
|
254
|
+
display_text: "Copy Code",
|
|
255
|
+
id: "123456789",
|
|
256
|
+
copy_code: "ABC123XYZ"
|
|
257
|
+
})
|
|
258
|
+
}
|
|
259
|
+
]
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}, { quoted: m });
|
|
263
|
+
```
|
|
264
|
+
</details>
|
|
265
|
+
|
|
266
|
+
<details>
|
|
267
|
+
<summary><b>Interactive Message with Thumbnail</b></summary>
|
|
268
|
+
<br/>
|
|
269
|
+
|
|
270
|
+
```javascript
|
|
271
|
+
await sock.sendMessage(target, {
|
|
272
|
+
interactiveMessage: {
|
|
273
|
+
header: "Hello World",
|
|
274
|
+
title: "Hello World",
|
|
275
|
+
footer: "telegram: @edgar",
|
|
276
|
+
image: { url: "https://example.com/image.jpg" },
|
|
277
|
+
buttons: [
|
|
278
|
+
{
|
|
279
|
+
name: "cta_copy",
|
|
280
|
+
buttonParamsJson: JSON.stringify({
|
|
281
|
+
display_text: "Copy Code",
|
|
282
|
+
id: "123456789",
|
|
283
|
+
copy_code: "ABC123XYZ"
|
|
284
|
+
})
|
|
285
|
+
}
|
|
286
|
+
]
|
|
287
|
+
}
|
|
288
|
+
}, { quoted: m });
|
|
289
|
+
```
|
|
290
|
+
</details>
|
|
291
|
+
|
|
292
|
+
<details>
|
|
293
|
+
<summary><b>Product Message</b></summary>
|
|
294
|
+
<br/>
|
|
295
|
+
|
|
296
|
+
```javascript
|
|
297
|
+
await sock.sendMessage(target, {
|
|
298
|
+
productMessage: {
|
|
299
|
+
title: "Sample Product",
|
|
300
|
+
description: "This is the product description.",
|
|
301
|
+
thumbnail: { url: "https://example.com/image.jpg" },
|
|
302
|
+
productId: "PROD001",
|
|
303
|
+
retailerId: "RETAIL001",
|
|
304
|
+
url: "https://example.com/product",
|
|
305
|
+
body: "Product details",
|
|
306
|
+
footer: "Special price",
|
|
307
|
+
pr
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const major = parseInt(process.versions.node.split('.')[0], 10);
|
|
2
|
+
|
|
3
|
+
if (major < 20) {
|
|
4
|
+
console.error(
|
|
5
|
+
`\n❌ This package requires Node.js 20+ to run reliably.\n` +
|
|
6
|
+
` You are using Node.js ${process.versions.node}.\n` +
|
|
7
|
+
` Please upgrade to Node.js 20+ to proceed.\n`
|
|
8
|
+
);
|
|
9
|
+
process.exit(1);
|
|
10
|
+
}
|