@nuiisweety/baileys 0.1.0 → 0.1.1

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.bak CHANGED
@@ -1,62 +1,64 @@
1
- <h1 align="center">✨ @nuiisweety/baileys</h1>
1
+ <h1 align="center">🌸 @nuiisweety/baileys 🌸</h1>
2
2
 
3
3
  <div align="center">
4
- <img src="https://raw.githubusercontent.com/NuiiS4TORU/-nuisockets/refs/heads/main/file_0000000045bc71fa9e62f6c94e5bb7e0.png" width="100%"/>
4
+ <img src="https://raw.githubusercontent.com/NuiiS4TORU/-nuisockets/refs/heads/main/nuiisweety.png" width="100%"/>
5
5
  </div>
6
6
 
7
7
  <div align="center">
8
- Fork dari <code>@whiskeysockets/baileys</code> v7.0.0-rc11 &mdash; dimodifikasi oleh <b>NuiiS4TORU</b>
8
+ <i>✨ Fork manis dari <code>@whiskeysockets/baileys</code> v7.0.0-rc11 &mdash; dikembangkan dengan sepenuh hati oleh <b>NuiiS4TORU</b> 💖</i>
9
9
  </div>
10
10
 
11
+ <br/>
12
+
11
13
  <div align="center">
12
14
  <blockquote>
13
- ⚠️ <b>@nuiisweety/baileys tidak pernah melakukan fork dari baileys manapun, terkecuali <a href="https://github.com/WhiskeySockets/Baileys">@whiskeysockets/baileys</a>.</b><br/>
14
- Semua modifikasi merupakan pengembangan mandiri di atas <code>@whiskeysockets/baileys</code>.
15
+ 🌷 <b>@nuiisweety/baileys hanya pernah bercabang dari satu sumber yang ia percaya, yaitu <a href="https://github.com/WhiskeySockets/Baileys">@whiskeysockets/baileys</a>.</b><br/>
16
+ Setiap modifikasi adalah buah dari pengembangan mandiri yang penuh dedikasi~ 🍀
15
17
  </blockquote>
16
18
  </div>
17
19
 
18
20
  ---
19
21
 
20
- ## 📚 Navigasi
22
+ ## 🗺️ Navigasi Sayang
21
23
 
22
24
  <div align="center">
23
25
 
24
- **Koneksi**
25
- [QR Code](#-koneksi-qr-code) &nbsp;·&nbsp; [Pairing Code](#-koneksi-pairing-code) &nbsp;·&nbsp; [Browser Identity](#-browser-identity) &nbsp;·&nbsp; [Opsi Koneksi](#-opsi-koneksi)
26
+ **🔌 Koneksi**
27
+ [QR Code](#-koneksi-qr-code) &nbsp;·&nbsp; [Pairing Code](#-koneksi-pairing-code) &nbsp;·&nbsp; [Browser Identity](#️-browser-identity) &nbsp;·&nbsp; [Opsi Koneksi](#️-opsi-koneksi)
26
28
 
27
- **Handle Pesan**
29
+ **📨 Handle Pesan**
28
30
  [Terima Pesan](#-terima-pesan) &nbsp;·&nbsp; [Handle Grup](#-handle-grup)
29
31
 
30
- **Kirim Pesan**
31
- [Teks](#-teks) &nbsp;·&nbsp; [Gambar](#-gambar) &nbsp;·&nbsp; [Video](#-video) &nbsp;·&nbsp; [Audio & Voice Note](#-audio--voice-note) &nbsp;·&nbsp; [Dokumen](#-dokumen) &nbsp;·&nbsp; [Sticker](#-sticker) &nbsp;·&nbsp; [Lokasi](#-lokasi) &nbsp;·&nbsp; [Kontak](#-kontak)
32
+ **💌 Kirim Pesan**
33
+ [Teks](#-teks) &nbsp;·&nbsp; [Gambar](#️-gambar) &nbsp;·&nbsp; [Video](#-video) &nbsp;·&nbsp; [Audio & Voice Note](#-audio--voice-note) &nbsp;·&nbsp; [Dokumen](#-dokumen) &nbsp;·&nbsp; [Sticker](#-sticker) &nbsp;·&nbsp; [Lokasi](#-lokasi) &nbsp;·&nbsp; [Kontak](#-kontak)
32
34
 
33
- **Interaksi**
34
- [Reaksi](#-reaksi) &nbsp;·&nbsp; [Poll](#-poll) &nbsp;·&nbsp; [Poll Result](#-poll-result) &nbsp;·&nbsp; [Poll Update](#-poll-update) &nbsp;·&nbsp; [Forward](#-forward) &nbsp;·&nbsp; [Hapus](#-hapus-pesan) &nbsp;·&nbsp; [Edit](#-edit-pesan) &nbsp;·&nbsp; [Pin](#-pin-pesan)
35
+ **💞 Interaksi**
36
+ [Reaksi](#-reaksi) &nbsp;·&nbsp; [Poll](#️-poll) &nbsp;·&nbsp; [Poll Result](#-poll-result) &nbsp;·&nbsp; [Poll Update](#️-poll-update) &nbsp;·&nbsp; [Forward](#️-forward) &nbsp;·&nbsp; [Hapus](#️-hapus-pesan) &nbsp;·&nbsp; [Edit](#️-edit-pesan) &nbsp;·&nbsp; [Pin](#-pin-pesan)
35
37
 
36
- **Tambahan**
37
- [Album](#-album) &nbsp;·&nbsp; [Event](#-event) &nbsp;·&nbsp; [Group Status](#-group-status--group-story) &nbsp;·&nbsp; [Status Mention](#️-status-mention) &nbsp;·&nbsp; [Flow Reply](#-flow-reply) &nbsp;·&nbsp; [Button Reply](#-button-reply) &nbsp;·&nbsp; [Keep In Chat](#-keep-in-chat) &nbsp;·&nbsp; [Scheduled Call](#-scheduled-call) &nbsp;·&nbsp; [Group Invite](#-group-invite) &nbsp;·&nbsp; [Product](#-product)
38
+ **🌺 Tambahan**
39
+ [Album](#️-album) &nbsp;·&nbsp; [Event](#-event) &nbsp;·&nbsp; [Group Status](#-group-status--group-story) &nbsp;·&nbsp; [Status Mention](#️-status-mention) &nbsp;·&nbsp; [Flow Reply](#-flow-reply) &nbsp;·&nbsp; [Button Reply](#-button-reply) &nbsp;·&nbsp; [Keep In Chat](#-keep-in-chat) &nbsp;·&nbsp; [Scheduled Call](#-scheduled-call) &nbsp;·&nbsp; [Group Invite](#-group-invite) &nbsp;·&nbsp; [Product](#️-product)
38
40
 
39
- **Wrapper**
40
- [View Once](#-view-once) &nbsp;·&nbsp; [View Once V2](#-view-once-v2) &nbsp;·&nbsp; [Ephemeral](#-ephemeral) &nbsp;·&nbsp; [Spoiler](#-spoiler) &nbsp;·&nbsp; [Group Status Wrap](#-group-status-wrap) &nbsp;·&nbsp; [Lottie Sticker](#-lottie-sticker) &nbsp;·&nbsp; [AI Icon](#-ai-icon) &nbsp;·&nbsp; [Secure Meta Label](#️-secure-meta-service-label)
41
+ **🎀 Wrapper**
42
+ [View Once](#️-view-once) &nbsp;·&nbsp; [View Once V2](#️-view-once-v2) &nbsp;·&nbsp; [Ephemeral](#️-ephemeral) &nbsp;·&nbsp; [Spoiler](#-spoiler) &nbsp;·&nbsp; [Group Status Wrap](#-group-status-wrap) &nbsp;·&nbsp; [Lottie Sticker](#-lottie-sticker) &nbsp;·&nbsp; [AI Icon](#-ai-icon) &nbsp;·&nbsp; [Secure Meta Label](#️-secure-meta-service-label)
41
43
 
42
- **Interactive**
43
- [Buttons](#-buttons) &nbsp;·&nbsp; [List Message](#-list-message) &nbsp;·&nbsp; [Template Buttons](#-template-buttons) &nbsp;·&nbsp; [Native Flow](#-native-flow) &nbsp;·&nbsp; [Carousel](#-carousel)
44
+ **✨ Interactive**
45
+ [Buttons](#-buttons) &nbsp;·&nbsp; [List Message](#-list-message) &nbsp;·&nbsp; [Template Buttons](#️-template-buttons) &nbsp;·&nbsp; [Native Flow](#-native-flow) &nbsp;·&nbsp; [Carousel](#-carousel)
44
46
 
45
- **Rich Message (AI)**
47
+ **🌟 Rich Message (AI)**
46
48
  [Code Block](#-code-block) &nbsp;·&nbsp; [Links](#-links-rich) &nbsp;·&nbsp; [Table](#-table-rich) &nbsp;·&nbsp; [Rich Response (Gabungan)](#-rich-response-gabungan)
47
49
 
48
- **Lainnya**
50
+ **🍃 Lainnya**
49
51
  [List Reply](#-list-reply) &nbsp;·&nbsp; [Sticker Pack](#-sticker-pack) &nbsp;·&nbsp; [External Ad Reply](#-external-ad-reply) &nbsp;·&nbsp; [Request Payment](#-request-payment) &nbsp;·&nbsp; [Invoice](#-invoice) &nbsp;·&nbsp; [Order](#-order) &nbsp;·&nbsp; [Disappearing Messages](#-disappearing-messages) &nbsp;·&nbsp; [Raw Message](#-raw-message)
50
52
 
51
53
  </div>
52
54
 
53
55
  ---
54
56
 
55
- ## Instalasi
57
+ ## 🌸 Instalasi
56
58
 
57
59
  ```js
58
60
  const { default: makeWASocket } = require('@nuiisweety/baileys')
59
- // atau ESM
61
+ // atau ESM 🌿
60
62
  import makeWASocket from '@nuiisweety/baileys'
61
63
  ```
62
64
 
@@ -88,7 +90,7 @@ async function start() {
88
90
  const code = lastDisconnect?.error?.output?.statusCode
89
91
  if (code !== DisconnectReason.loggedOut) start()
90
92
  } else if (connection === 'open') {
91
- console.log(' Terhubung!')
93
+ console.log('💖 Terhubung dengan indah!')
92
94
  }
93
95
  })
94
96
  }
@@ -99,7 +101,7 @@ start()
99
101
 
100
102
  ## 🔑 Koneksi Pairing Code
101
103
 
102
- Untuk server/VPS tanpa tampilan terminal.
104
+ > 🌷 Cocok untuk server/VPS tanpa tampilan terminal — tetap bisa terhubung dengan elegan~
103
105
 
104
106
  ```js
105
107
  const sock = makeWASocket({
@@ -115,17 +117,17 @@ sock.ev.on('connection.update', ({ connection, lastDisconnect }) => {
115
117
  }
116
118
  })
117
119
 
118
- // Nomor HP format internasional tanpa +
120
+ // 💌 Nomor HP format internasional tanpa +
119
121
  if (!sock.authState.creds.registered) {
120
122
  const code = await sock.requestPairingCode('628123456789')
121
- console.log('Pairing code:', code)
123
+ console.log('🌸 Pairing code:', code)
122
124
  // Masukkan di WA → Perangkat Tertaut → Tautkan Perangkat
123
125
  }
124
126
  ```
125
127
 
126
- > Pairing code kadaluarsa dalam beberapa menit. Jalankan ulang jika gagal.
128
+ > 🍀 Pairing code kadaluarsa dalam beberapa menit. Jalankan ulang jika gagal ya~
127
129
 
128
- **Custom pairing code (8 karakter):**
130
+ **🎀 Custom pairing code (8 karakter):**
129
131
  ```js
130
132
  const code = await sock.requestPairingCode('628123456789', 'ABCD1234')
131
133
  ```
@@ -138,12 +140,12 @@ const code = await sock.requestPairingCode('628123456789', 'ABCD1234')
138
140
  const { Browsers } = require('@nuiisweety/baileys')
139
141
 
140
142
  makeWASocket({
141
- browser: Browsers.macOS('Chrome'), // Mac OS — Chrome
142
- browser: Browsers.macOS('Firefox'), // Mac OS — Firefox
143
- browser: Browsers.windows('Chrome'), // Windows — Chrome
144
- browser: Browsers.ubuntu('Chrome'), // Ubuntu — Chrome
145
- browser: Browsers.baileys('Chrome'), // Baileys — Chrome
146
- browser: ['MyBot', 'Chrome', '1.0.0'] // custom
143
+ browser: Browsers.macOS('Chrome'), // 🍎 Mac OS — Chrome
144
+ browser: Browsers.macOS('Firefox'), // 🦊 Mac OS — Firefox
145
+ browser: Browsers.windows('Chrome'), // 🪟 Windows — Chrome
146
+ browser: Browsers.ubuntu('Chrome'), // 🐧 Ubuntu — Chrome
147
+ browser: Browsers.baileys('Chrome'), // 🌸 Baileys — Chrome
148
+ browser: ['MyBot', 'Chrome', '1.0.0'] // custom
147
149
  })
148
150
  ```
149
151
 
@@ -183,17 +185,17 @@ sock.ev.on('messages.upsert', async ({ messages, type }) => {
183
185
  const isGroup = jid.endsWith('@g.us')
184
186
  const sender = isGroup ? m.key.participant : jid
185
187
 
186
- // Ambil teks
188
+ // 💬 Ambil teks
187
189
  const text =
188
190
  m.message.conversation ||
189
191
  m.message.extendedTextMessage?.text ||
190
192
  m.message.imageMessage?.caption ||
191
193
  m.message.videoMessage?.caption || ''
192
194
 
193
- // Tandai dibaca
195
+ // 👀 Tandai dibaca
194
196
  await sock.readMessages([m.key])
195
197
 
196
- // Typing indicator
198
+ // 🌸 Typing indicator
197
199
  await sock.sendPresenceUpdate('composing', jid)
198
200
  }
199
201
  })
@@ -204,36 +206,36 @@ sock.ev.on('messages.upsert', async ({ messages, type }) => {
204
206
  ## 👥 Handle Grup
205
207
 
206
208
  ```js
207
- // Anggota masuk/keluar
209
+ // 🌷 Anggota masuk/keluar
208
210
  sock.ev.on('group-participants.update', ({ id, participants, action }) => {
209
211
  // action: 'add' | 'remove' | 'promote' | 'demote'
210
212
  })
211
213
 
212
- // Info grup diupdate
214
+ // 📝 Info grup diupdate
213
215
  sock.ev.on('groups.update', updates => {})
214
216
 
215
- // Metadata grup
217
+ // 🔍 Metadata grup
216
218
  const meta = await sock.groupMetadata(groupJid)
217
219
  console.log(meta.subject, meta.participants)
218
220
 
219
- // Semua grup
221
+ // 🌸 Semua grup
220
222
  const groups = await sock.groupFetchAllParticipating()
221
223
 
222
- // Tambah / keluarkan / promote / demote
224
+ // 💞 Tambah / keluarkan / promote / demote
223
225
  await sock.groupParticipantsUpdate(groupJid, ['628xxx@s.whatsapp.net'], 'add')
224
226
  await sock.groupParticipantsUpdate(groupJid, ['628xxx@s.whatsapp.net'], 'remove')
225
227
  await sock.groupParticipantsUpdate(groupJid, ['628xxx@s.whatsapp.net'], 'promote')
226
228
  await sock.groupParticipantsUpdate(groupJid, ['628xxx@s.whatsapp.net'], 'demote')
227
229
 
228
- // Ubah nama / deskripsi
230
+ // ✏️ Ubah nama / deskripsi
229
231
  await sock.groupUpdateSubject(groupJid, 'Nama Baru')
230
232
  await sock.groupUpdateDescription(groupJid, 'Deskripsi baru')
231
233
 
232
- // Kunci / buka grup
234
+ // 🔒 Kunci / buka grup
233
235
  await sock.groupSettingUpdate(groupJid, 'announcement')
234
236
  await sock.groupSettingUpdate(groupJid, 'not_announcement')
235
237
 
236
- // Mention semua anggota
238
+ // 📣 Mention semua anggota
237
239
  const meta2 = await sock.groupMetadata(groupJid)
238
240
  const members = meta2.participants.map(p => p.id)
239
241
  await sock.sendMessage(groupJid, {
@@ -247,9 +249,9 @@ await sock.sendMessage(groupJid, {
247
249
  ## 💬 Teks
248
250
 
249
251
  ```js
250
- await sock.sendMessage(jid, { text: 'Halo!' })
252
+ await sock.sendMessage(jid, { text: 'Halo sayang~ 🌸' })
251
253
 
252
- // Dengan mention
254
+ // 💌 Dengan mention
253
255
  await sock.sendMessage(jid, {
254
256
  text: '@628xxx halo!',
255
257
  mentions: ['628xxx@s.whatsapp.net']
@@ -261,16 +263,16 @@ await sock.sendMessage(jid, {
261
263
  ## 🖼️ Gambar
262
264
 
263
265
  ```js
264
- // URL
266
+ // 🌐 URL
265
267
  await sock.sendMessage(jid, {
266
268
  image: { url: 'https://example.com/image.jpg' },
267
- caption: 'Keterangan'
269
+ caption: 'Keterangan 🌷'
268
270
  })
269
271
 
270
- // Buffer / file
272
+ // 📁 Buffer / file
271
273
  await sock.sendMessage(jid, {
272
274
  image: fs.readFileSync('image.jpg'),
273
- caption: 'Keterangan'
275
+ caption: 'Keterangan 💖'
274
276
  })
275
277
  ```
276
278
 
@@ -281,11 +283,11 @@ await sock.sendMessage(jid, {
281
283
  ```js
282
284
  await sock.sendMessage(jid, {
283
285
  video: { url: 'https://example.com/video.mp4' },
284
- caption: 'Keterangan',
285
- gifPlayback: false // true = GIF looping
286
+ caption: 'Keterangan 🌸',
287
+ gifPlayback: false // true = GIF looping 🔁
286
288
  })
287
289
 
288
- // Video note (bubble)
290
+ // 🎞️ Video note (bubble)
289
291
  await sock.sendMessage(jid, {
290
292
  video: fs.readFileSync('video.mp4'),
291
293
  ptv: true
@@ -297,13 +299,13 @@ await sock.sendMessage(jid, {
297
299
  ## 🎵 Audio & Voice Note
298
300
 
299
301
  ```js
300
- // Audio biasa
302
+ // 🎶 Audio biasa
301
303
  await sock.sendMessage(jid, {
302
304
  audio: { url: 'https://example.com/audio.mp3' },
303
305
  mimetype: 'audio/mpeg'
304
306
  })
305
307
 
306
- // Voice note (PTT)
308
+ // 🎙️ Voice note (PTT)
307
309
  await sock.sendMessage(jid, {
308
310
  audio: fs.readFileSync('voice.ogg'),
309
311
  mimetype: 'audio/ogg; codecs=opus',
@@ -320,7 +322,7 @@ await sock.sendMessage(jid, {
320
322
  document: fs.readFileSync('file.pdf'),
321
323
  mimetype: 'application/pdf',
322
324
  fileName: 'dokumen.pdf',
323
- caption: 'File ini'
325
+ caption: 'File ini 🍃'
324
326
  })
325
327
  ```
326
328
 
@@ -343,7 +345,7 @@ await sock.sendMessage(jid, {
343
345
  location: {
344
346
  degreesLatitude: -6.2088,
345
347
  degreesLongitude: 106.8456,
346
- name: 'Monas',
348
+ name: 'Monas 🌟',
347
349
  address: 'Jakarta Pusat'
348
350
  }
349
351
  })
@@ -356,7 +358,7 @@ await sock.sendMessage(jid, {
356
358
  ```js
357
359
  await sock.sendMessage(jid, {
358
360
  contacts: {
359
- displayName: 'Nama',
361
+ displayName: 'Nama 💕',
360
362
  contacts: [{
361
363
  vcard: 'BEGIN:VCARD\nVERSION:3.0\nFN:Nama\nTEL:+62812345678\nEND:VCARD'
362
364
  }]
@@ -366,11 +368,11 @@ await sock.sendMessage(jid, {
366
368
 
367
369
  ---
368
370
 
369
- ## 😀 Reaksi
371
+ ## 😍 Reaksi
370
372
 
371
373
  ```js
372
- await sock.sendMessage(jid, { react: { text: '👍', key: m.key } })
373
- // Hapus reaksi
374
+ await sock.sendMessage(jid, { react: { text: '💖', key: m.key } })
375
+ // 🌸 Hapus reaksi
374
376
  await sock.sendMessage(jid, { react: { text: '', key: m.key } })
375
377
  ```
376
378
 
@@ -381,36 +383,36 @@ await sock.sendMessage(jid, { react: { text: '', key: m.key } })
381
383
  ```js
382
384
  await sock.sendMessage(jid, {
383
385
  poll: {
384
- name: 'Pilih salah satu?',
385
- values: ['Opsi A', 'Opsi B', 'Opsi C'],
386
- selectableCount: 1 // 0 = boleh pilih banyak
386
+ name: 'Pilih salah satu~ 🌷',
387
+ values: ['Opsi A 🌸', 'Opsi B 🌺', 'Opsi C 🌼'],
388
+ selectableCount: 1 // 0 = boleh pilih banyak 💞
387
389
  }
388
390
  })
389
391
  ```
390
392
 
391
- **Poll dengan fitur tambahan:**
393
+ **🌟 Poll dengan fitur tambahan:**
392
394
  ```js
393
395
  await sock.sendMessage(jid, {
394
396
  poll: {
395
- name: 'Nama Poll',
397
+ name: 'Nama Poll 💌',
396
398
  values: ['Opsi A', 'Opsi B'],
397
399
  selectableCount: 1,
398
- endDate: new Date('2025-12-31'), // tanggal berakhir
399
- hideVoter: true, // sembunyikan nama pemilih
400
- canAddOption: false, // larang tambah opsi
400
+ endDate: new Date('2025-12-31'), // 📅 tanggal berakhir
401
+ hideVoter: true, // 🙈 sembunyikan nama pemilih
402
+ canAddOption: false, // 🔒 larang tambah opsi
401
403
  toAnnouncementGroup: false // true = community announcement group (pollV2)
402
404
  }
403
405
  })
404
406
  ```
405
407
 
406
- **Quiz (Poll dengan jawaban benar):**
408
+ **🧠 Quiz (Poll dengan jawaban benar):**
407
409
  ```js
408
410
  await sock.sendMessage(jid, {
409
411
  poll: {
410
- name: 'Ibu kota Indonesia?',
412
+ name: 'Ibu kota Indonesia? 🌏',
411
413
  values: ['Jakarta', 'Surabaya', 'Bandung'],
412
414
  selectableCount: 1,
413
- pollType: 1, // 1 = QUIZ
415
+ pollType: 1, // 1 = QUIZ 🎓
414
416
  correctAnswer: 'Jakarta'
415
417
  }
416
418
  })
@@ -423,12 +425,12 @@ await sock.sendMessage(jid, {
423
425
  ```js
424
426
  await sock.sendMessage(jid, {
425
427
  pollResult: {
426
- name: 'Nama Poll',
428
+ name: 'Nama Poll 🌸',
427
429
  votes: [
428
- { name: 'Opsi A', voteCount: 10 },
429
- { name: 'Opsi B', voteCount: 5 }
430
+ { name: 'Opsi A 💖', voteCount: 10 },
431
+ { name: 'Opsi B 🌷', voteCount: 5 }
430
432
  ],
431
- pollType: 0 // 0 = POLL, 1 = QUIZ
433
+ pollType: 0 // 0 = POLL, 1 = QUIZ 🎓
432
434
  }
433
435
  })
434
436
  ```
@@ -440,7 +442,7 @@ await sock.sendMessage(jid, {
440
442
  ```js
441
443
  await sock.sendMessage(jid, {
442
444
  pollUpdate: {
443
- key: pollMessage.key, // key dari pesan poll yang mau di-vote
445
+ key: pollMessage.key, // 🗝️ key dari pesan poll yang mau di-vote
444
446
  vote: encryptedVotePayload,
445
447
  metadata: optionalMetadata
446
448
  }
@@ -454,7 +456,7 @@ await sock.sendMessage(jid, {
454
456
  ```js
455
457
  await sock.sendMessage(jid, {
456
458
  forward: targetMessage,
457
- force: true // paksa tampil sebagai forwarded
459
+ force: true // 💌 paksa tampil sebagai forwarded
458
460
  })
459
461
  ```
460
462
 
@@ -472,7 +474,7 @@ await sock.sendMessage(jid, { delete: m.key })
472
474
 
473
475
  ```js
474
476
  await sock.sendMessage(jid, {
475
- text: 'Teks yang sudah diedit',
477
+ text: 'Teks yang sudah diedit dengan penuh kasih~ 🌸',
476
478
  edit: m.key
477
479
  })
478
480
  ```
@@ -482,13 +484,13 @@ await sock.sendMessage(jid, {
482
484
  ## 📌 Pin Pesan
483
485
 
484
486
  ```js
485
- // Pin
487
+ // 📍 Pin
486
488
  await sock.sendMessage(jid, {
487
489
  pin: m.key,
488
490
  type: 1,
489
- time: 86400 // 86400=1hr | 604800=7hr | 2592000=30hr
491
+ time: 86400 // 86400=1hr 🕐 | 604800=7hr 🕰️ | 2592000=30hr 📆
490
492
  })
491
- // Unpin
493
+ // 🪄 Unpin
492
494
  await sock.sendMessage(jid, { pin: m.key, type: 2 })
493
495
  ```
494
496
 
@@ -499,12 +501,12 @@ await sock.sendMessage(jid, { pin: m.key, type: 2 })
499
501
  ```js
500
502
  await sock.sendMessage(jid, {
501
503
  album: [
502
- { image: { url: 'https://example.com/1.jpg' }, caption: 'Foto 1' },
503
- { image: { url: 'https://example.com/2.jpg' }, caption: 'Foto 2' },
504
- { video: { url: 'https://example.com/vid.mp4' }, caption: 'Video' }
504
+ { image: { url: 'https://example.com/1.jpg' }, caption: 'Foto 1 🌸' },
505
+ { image: { url: 'https://example.com/2.jpg' }, caption: 'Foto 2 🌷' },
506
+ { video: { url: 'https://example.com/vid.mp4' }, caption: 'Video 💕' }
505
507
  ]
506
508
  })
507
- // minimal 2 media
509
+ // 🌺 minimal 2 media ya~
508
510
  ```
509
511
 
510
512
  ---
@@ -514,27 +516,27 @@ await sock.sendMessage(jid, {
514
516
  ```js
515
517
  await sock.sendMessage(jid, {
516
518
  event: {
517
- name: 'Nama Acara',
518
- description: 'Deskripsi',
519
+ name: 'Nama Acara 🌟',
520
+ description: 'Deskripsi indah 🌸',
519
521
  startDate: new Date('2025-12-01T10:00:00'),
520
522
  endDate: new Date('2025-12-01T12:00:00'),
521
523
  location: {
522
524
  degreesLatitude: -6.2088,
523
525
  degreesLongitude: 106.8456,
524
- name: 'Monas, Jakarta'
526
+ name: 'Monas, Jakarta 🌆'
525
527
  },
526
528
  extraGuestsAllowed: true
527
529
  }
528
530
  })
529
531
  ```
530
532
 
531
- **Event dengan scheduled call (audio/video):**
533
+ **📞 Event dengan scheduled call (audio/video):**
532
534
  ```js
533
535
  await sock.sendMessage(jid, {
534
536
  event: {
535
- name: 'Meeting Online',
537
+ name: 'Meeting Online 💻',
536
538
  startDate: new Date('2025-12-01T10:00:00'),
537
- call: 'audio', // 'audio' | 'video'
539
+ call: 'audio', // 🎙️ 'audio' | 📹 'video'
538
540
  isScheduleCall: true
539
541
  }
540
542
  })
@@ -545,24 +547,24 @@ await sock.sendMessage(jid, {
545
547
  ## 📸 Group Status / Group Story
546
548
 
547
549
  ```js
548
- // Teks
550
+ // 💬 Teks
549
551
  await sock.sendMessage(groupJid, {
550
- groupStatusMessage: { text: 'Status teks!' }
552
+ groupStatusMessage: { text: 'Status teks yang manis~ 🌸' }
551
553
  })
552
554
 
553
- // Gambar
555
+ // 🖼️ Gambar
554
556
  await sock.sendMessage(groupJid, {
555
557
  groupStatusMessage: {
556
558
  image: { url: 'https://example.com/image.jpg' },
557
- caption: 'Keterangan'
559
+ caption: 'Keterangan 💖'
558
560
  }
559
561
  })
560
562
 
561
- // Video
563
+ // 🎥 Video
562
564
  await sock.sendMessage(groupJid, {
563
565
  groupStatusMessage: {
564
566
  video: { url: 'https://example.com/video.mp4' },
565
- caption: 'Keterangan'
567
+ caption: 'Keterangan 🌷'
566
568
  }
567
569
  })
568
570
  ```
@@ -571,14 +573,14 @@ await sock.sendMessage(groupJid, {
571
573
 
572
574
  ## ⚡ Flow Reply
573
575
 
574
- Balas pesan interaktif native flow:
576
+ > 💫 Balas pesan interaktif native flow dengan anggun~
575
577
 
576
578
  ```js
577
579
  await sock.sendMessage(jid, {
578
580
  flowReply: {
579
- name: 'quick_reply', // nama button yang ditekan
581
+ name: 'quick_reply', // 🔘 nama button yang ditekan
580
582
  paramsJson: '{"id":"btn1"}',
581
- text: 'Teks balasan',
583
+ text: 'Teks balasan 🌸',
582
584
  format: 1,
583
585
  version: 1
584
586
  }
@@ -590,20 +592,20 @@ await sock.sendMessage(jid, {
590
592
  ## 🔘 Button Reply
591
593
 
592
594
  ```js
593
- // Template button
595
+ // 🗂️ Template button
594
596
  await sock.sendMessage(jid, {
595
597
  buttonReply: {
596
- displayText: 'Opsi yang dipilih',
598
+ displayText: 'Opsi yang dipilih 💕',
597
599
  id: 'btn_id',
598
600
  index: 0
599
601
  },
600
602
  type: 'template'
601
603
  })
602
604
 
603
- // Plain button
605
+ // 🔵 Plain button
604
606
  await sock.sendMessage(jid, {
605
607
  buttonReply: {
606
- displayText: 'Opsi yang dipilih',
608
+ displayText: 'Opsi yang dipilih 🌸',
607
609
  id: 'btn_id'
608
610
  },
609
611
  type: 'plain'
@@ -615,10 +617,10 @@ await sock.sendMessage(jid, {
615
617
  ## 📌 Keep In Chat
616
618
 
617
619
  ```js
618
- // Simpan
620
+ // 💾 Simpan
619
621
  await sock.sendMessage(jid, {
620
622
  keep: m.key,
621
- keepType: 1 // 1 = keep, 2 = unkeep
623
+ keepType: 1 // 1 = keep 💖, 2 = unkeep 🍃
622
624
  })
623
625
  ```
624
626
 
@@ -630,8 +632,8 @@ await sock.sendMessage(jid, {
630
632
  await sock.sendMessage(jid, {
631
633
  call: {
632
634
  time: Date.now() + 3600000,
633
- type: 1, // 1 = voice, 2 = video
634
- title: 'Meeting'
635
+ type: 1, // 1 = voice 🎙️, 2 = video 📹
636
+ title: 'Meeting 🌸'
635
637
  }
636
638
  })
637
639
  ```
@@ -646,8 +648,8 @@ await sock.sendMessage(jid, {
646
648
  jid: 'xxx@g.us',
647
649
  inviteCode: 'kode',
648
650
  inviteExpiration: Date.now() + 86400000,
649
- subject: 'Nama Grup',
650
- text: 'Bergabunglah!'
651
+ subject: 'Nama Grup 🌷',
652
+ text: 'Bergabunglah bersama kami~ 💕'
651
653
  }
652
654
  })
653
655
  ```
@@ -661,14 +663,14 @@ await sock.sendMessage(jid, {
661
663
  product: {
662
664
  productImage: fs.readFileSync('produk.jpg'),
663
665
  productId: 'prod_123',
664
- title: 'Nama Produk',
665
- description: 'Deskripsi',
666
+ title: 'Nama Produk 🌸',
667
+ description: 'Deskripsi cantik 💖',
666
668
  currencyCode: 'IDR',
667
669
  priceAmount1000: 50000000,
668
670
  retailerId: 'sku_001',
669
671
  url: 'https://toko.example.com/produk'
670
672
  },
671
- businessOwnerJid: '628xxx@s.whatsapp.net' // wajib diisi
673
+ businessOwnerJid: '628xxx@s.whatsapp.net' // 🌟 wajib diisi ya~
672
674
  })
673
675
  ```
674
676
 
@@ -679,7 +681,7 @@ await sock.sendMessage(jid, {
679
681
  ```js
680
682
  await sock.sendMessage(jid, {
681
683
  image: { url: 'https://example.com/image.jpg' },
682
- viewOnce: true
684
+ viewOnce: true // 🌸 sekali lihat, hilang bagai mimpi~
683
685
  })
684
686
  ```
685
687
 
@@ -690,10 +692,10 @@ await sock.sendMessage(jid, {
690
692
  ```js
691
693
  await sock.sendMessage(jid, {
692
694
  image: { url: 'https://example.com/image.jpg' },
693
- viewOnceV2: true // wrap ke viewOnceMessageV2
695
+ viewOnceV2: true // 💫 wrap ke viewOnceMessageV2
694
696
  })
695
697
 
696
- // viewOnceV2Extension
698
+ // 🌟 viewOnceV2Extension
697
699
  await sock.sendMessage(jid, {
698
700
  image: { url: 'https://example.com/image.jpg' },
699
701
  viewOnceV2Extension: true
@@ -704,11 +706,11 @@ await sock.sendMessage(jid, {
704
706
 
705
707
  ## ⏱️ Ephemeral
706
708
 
707
- Wrap pesan ke dalam `ephemeralMessage`:
709
+ > 🍃 Wrap pesan ke dalam `ephemeralMessage` — pesan yang menghilang seperti embun pagi~
708
710
 
709
711
  ```js
710
712
  await sock.sendMessage(jid, {
711
- text: 'Pesan ini ephemeral',
713
+ text: 'Pesan ini ephemeral 🌸',
712
714
  ephemeral: true
713
715
  })
714
716
  ```
@@ -717,12 +719,12 @@ await sock.sendMessage(jid, {
717
719
 
718
720
  ## 🫣 Spoiler
719
721
 
720
- Wrap pesan ke dalam `spoilerMessage`:
722
+ > 🎀 Wrap pesan ke dalam `spoilerMessage` — untuk kejutan yang manis~
721
723
 
722
724
  ```js
723
725
  await sock.sendMessage(jid, {
724
726
  image: { url: 'https://example.com/image.jpg' },
725
- caption: 'Spoiler!',
727
+ caption: 'Spoiler! 🌷',
726
728
  spoiler: true
727
729
  })
728
730
  ```
@@ -731,11 +733,11 @@ await sock.sendMessage(jid, {
731
733
 
732
734
  ## 📢 Group Status Wrap
733
735
 
734
- Wrap pesan biasa menjadi `groupStatusMessageV2`:
736
+ > 💕 Wrap pesan biasa menjadi `groupStatusMessageV2`~
735
737
 
736
738
  ```js
737
739
  await sock.sendMessage(jid, {
738
- text: 'Status di grup ini',
740
+ text: 'Status di grup ini 🌸',
739
741
  groupStatus: true
740
742
  })
741
743
  ```
@@ -744,7 +746,7 @@ await sock.sendMessage(jid, {
744
746
 
745
747
  ## 🌀 Lottie Sticker
746
748
 
747
- Wrap sticker ke dalam `lottieStickerMessage`:
749
+ > ✨ Wrap sticker ke dalam `lottieStickerMessage` — animasi yang memukau~
748
750
 
749
751
  ```js
750
752
  await sock.sendMessage(jid, {
@@ -757,43 +759,43 @@ await sock.sendMessage(jid, {
757
759
 
758
760
  ## 🔲 Buttons
759
761
 
760
- Kirim pesan dengan tombol interaktif (plain buttons):
762
+ > 💖 Kirim pesan dengan tombol interaktif yang menggemaskan~
761
763
 
762
764
  ```js
763
- // Dengan teks biasa
765
+ // 💬 Dengan teks biasa
764
766
  await sock.sendMessage(jid, {
765
- text: 'Pilih salah satu:',
766
- footer: 'Footer pesan',
767
+ text: 'Pilih salah satu ya sayang~ 🌸',
768
+ footer: 'Footer pesan 🍃',
767
769
  buttons: [
768
- { id: 'btn1', text: 'Tombol 1' },
769
- { id: 'btn2', text: 'Tombol 2' },
770
- { id: 'btn3', text: 'Tombol 3' }
770
+ { id: 'btn1', text: 'Tombol 1 💕' },
771
+ { id: 'btn2', text: 'Tombol 2 🌷' },
772
+ { id: 'btn3', text: 'Tombol 3 🌺' }
771
773
  ]
772
774
  })
773
775
 
774
- // Dengan gambar sebagai header
776
+ // 🖼️ Dengan gambar sebagai header
775
777
  await sock.sendMessage(jid, {
776
778
  image: { url: 'https://example.com/image.jpg' },
777
- caption: 'Isi pesan',
778
- footer: 'Footer',
779
+ caption: 'Isi pesan 💖',
780
+ footer: 'Footer 🌸',
779
781
  buttons: [
780
- { id: 'btn1', text: 'Pilih A' },
781
- { id: 'btn2', text: 'Pilih B' }
782
+ { id: 'btn1', text: 'Pilih A 🌷' },
783
+ { id: 'btn2', text: 'Pilih B 🌺' }
782
784
  ]
783
785
  })
784
786
 
785
- // Native flow button (single select dengan sections)
787
+ // 🌊 Native flow button (single select dengan sections)
786
788
  await sock.sendMessage(jid, {
787
- text: 'Pilih menu:',
789
+ text: 'Pilih menu~ 🌸',
788
790
  buttons: [
789
791
  {
790
- text: 'Buka Menu',
792
+ text: 'Buka Menu 💕',
791
793
  sections: [
792
794
  {
793
- title: 'Kategori A',
795
+ title: 'Kategori A 🌷',
794
796
  rows: [
795
- { id: 'row1', title: 'Item 1', description: 'Deskripsi' },
796
- { id: 'row2', title: 'Item 2' }
797
+ { id: 'row1', title: 'Item 1 🌸', description: 'Deskripsi manis' },
798
+ { id: 'row2', title: 'Item 2 🌺' }
797
799
  ]
798
800
  }
799
801
  ]
@@ -801,11 +803,11 @@ await sock.sendMessage(jid, {
801
803
  ]
802
804
  })
803
805
 
804
- // Native flow button dengan name kustom
806
+ // Native flow button dengan name kustom
805
807
  await sock.sendMessage(jid, {
806
- text: 'Pilih:',
808
+ text: 'Pilih~ 💖',
807
809
  buttons: [
808
- { name: 'quick_reply', paramsJson: '{"id":"1"}', text: 'Quick Reply' }
810
+ { name: 'quick_reply', paramsJson: '{"id":"1"}', text: 'Quick Reply 🌸' }
809
811
  ]
810
812
  })
811
813
  ```
@@ -814,26 +816,26 @@ await sock.sendMessage(jid, {
814
816
 
815
817
  ## 📋 List Message
816
818
 
817
- Kirim pesan daftar pilihan:
819
+ > 🌷 Kirim pesan daftar pilihan yang teratur dan elegan~
818
820
 
819
821
  ```js
820
822
  await sock.sendMessage(jid, {
821
- text: 'Silakan pilih:',
822
- title: 'Judul List',
823
- buttonText: 'Buka Daftar',
824
- footer: 'Footer pesan',
823
+ text: 'Silakan pilih~ 🌸',
824
+ title: 'Judul List 💕',
825
+ buttonText: 'Buka Daftar 🌷',
826
+ footer: 'Footer pesan 🍃',
825
827
  sections: [
826
828
  {
827
- title: 'Bagian 1',
829
+ title: 'Bagian 1 🌺',
828
830
  rows: [
829
- { id: 'row1', title: 'Pilihan A', description: 'Deskripsi A' },
830
- { id: 'row2', title: 'Pilihan B', description: 'Deskripsi B' }
831
+ { id: 'row1', title: 'Pilihan A 💖', description: 'Deskripsi A yang manis' },
832
+ { id: 'row2', title: 'Pilihan B 🌸', description: 'Deskripsi B yang lembut' }
831
833
  ]
832
834
  },
833
835
  {
834
- title: 'Bagian 2',
836
+ title: 'Bagian 2 🌼',
835
837
  rows: [
836
- { id: 'row3', title: 'Pilihan C' }
838
+ { id: 'row3', title: 'Pilihan C 🌷' }
837
839
  ]
838
840
  }
839
841
  ]
@@ -844,30 +846,30 @@ await sock.sendMessage(jid, {
844
846
 
845
847
  ## 🗂️ Template Buttons
846
848
 
847
- Tombol template (quick reply, URL, call) — tampil di WhatsApp Web/Desktop & iOS:
849
+ > 💌 Tombol template (quick reply, URL, call) — tampil di WhatsApp Web/Desktop & iOS~
848
850
 
849
851
  ```js
850
- // Dengan teks
852
+ // 💬 Dengan teks
851
853
  await sock.sendMessage(jid, {
852
- text: 'Pesan template',
853
- footer: 'Footer',
854
+ text: 'Pesan template 🌸',
855
+ footer: 'Footer 🍃',
854
856
  id: 'template-unik',
855
857
  templateButtons: [
856
- { id: 'btn1', text: 'Quick Reply' },
857
- { url: 'https://example.com', text: 'Kunjungi Website' },
858
- { call: '+62812345678', text: 'Hubungi Kami' }
858
+ { id: 'btn1', text: 'Quick Reply 💕' },
859
+ { url: 'https://example.com', text: 'Kunjungi Website 🌐' },
860
+ { call: '+62812345678', text: 'Hubungi Kami 📞' }
859
861
  ]
860
862
  })
861
863
 
862
- // Dengan gambar sebagai header
864
+ // 🖼️ Dengan gambar sebagai header
863
865
  await sock.sendMessage(jid, {
864
866
  image: { url: 'https://example.com/img.jpg' },
865
- caption: 'Isi pesan',
866
- title: 'Judul',
867
- footer: 'Footer',
867
+ caption: 'Isi pesan 💖',
868
+ title: 'Judul 🌸',
869
+ footer: 'Footer 🌷',
868
870
  templateButtons: [
869
- { id: 'btn1', text: 'Klik Sini' },
870
- { url: 'https://example.com', text: 'Buka Link' }
871
+ { id: 'btn1', text: 'Klik Sini 💕' },
872
+ { url: 'https://example.com', text: 'Buka Link 🌐' }
871
873
  ]
872
874
  })
873
875
  ```
@@ -876,45 +878,45 @@ await sock.sendMessage(jid, {
876
878
 
877
879
  ## 🌊 Native Flow
878
880
 
879
- Pesan interaktif dengan native flow buttons (mendukung media header, audio footer):
881
+ > ✨ Pesan interaktif dengan native flow buttons yang indah — mendukung media header & audio footer~
880
882
 
881
883
  ```js
882
- // Teks dengan native flow buttons
884
+ // 💬 Teks dengan native flow buttons
883
885
  await sock.sendMessage(jid, {
884
- text: 'Pilih aksi:',
885
- footer: 'Footer pesan',
886
+ text: 'Pilih aksi~ 🌸',
887
+ footer: 'Footer pesan 🍃',
886
888
  nativeFlow: [
887
- { name: 'quick_reply', paramsJson: '{"id":"1"}', text: 'Opsi 1' },
888
- { name: 'quick_reply', paramsJson: '{"id":"2"}', text: 'Opsi 2' }
889
+ { name: 'quick_reply', paramsJson: '{"id":"1"}', text: 'Opsi 1 💕' },
890
+ { name: 'quick_reply', paramsJson: '{"id":"2"}', text: 'Opsi 2 🌷' }
889
891
  ]
890
892
  })
891
893
 
892
- // Dengan gambar sebagai header
894
+ // 🖼️ Dengan gambar sebagai header
893
895
  await sock.sendMessage(jid, {
894
896
  image: { url: 'https://example.com/img.jpg' },
895
- caption: 'Isi pesan',
896
- title: 'Judul',
897
- subtitle: 'Subjudul',
898
- footer: 'Footer',
897
+ caption: 'Isi pesan 💖',
898
+ title: 'Judul 🌸',
899
+ subtitle: 'Subjudul 🌷',
900
+ footer: 'Footer 🍃',
899
901
  nativeFlow: [
900
- { name: 'quick_reply', paramsJson: '{"id":"1"}', text: 'Tombol 1' }
902
+ { name: 'quick_reply', paramsJson: '{"id":"1"}', text: 'Tombol 1 💕' }
901
903
  ]
902
904
  })
903
905
 
904
- // Dengan audio footer
906
+ // 🎵 Dengan audio footer
905
907
  await sock.sendMessage(jid, {
906
- text: 'Pesan dengan audio footer',
908
+ text: 'Pesan dengan audio footer 🎶',
907
909
  audioFooter: fs.readFileSync('audio.ogg'),
908
910
  nativeFlow: [
909
- { name: 'quick_reply', paramsJson: '{"id":"1"}', text: 'OK' }
911
+ { name: 'quick_reply', paramsJson: '{"id":"1"}', text: 'OK 💖' }
910
912
  ]
911
913
  })
912
914
 
913
- // Wrap sebagai templateMessage
915
+ // 🎀 Wrap sebagai templateMessage
914
916
  await sock.sendMessage(jid, {
915
- text: 'Template interaktif',
917
+ text: 'Template interaktif 🌸',
916
918
  nativeFlow: [
917
- { name: 'quick_reply', paramsJson: '{"id":"1"}', text: 'Tombol' }
919
+ { name: 'quick_reply', paramsJson: '{"id":"1"}', text: 'Tombol 💕' }
918
920
  ],
919
921
  interactiveAsTemplate: true,
920
922
  id: 'template-id-unik'
@@ -925,36 +927,28 @@ await sock.sendMessage(jid, {
925
927
 
926
928
  ## 🎠 Carousel
927
929
 
928
- Pesan carousel dengan kartu-kartu (image/video/product per kartu):
930
+ > 🌺 Pesan carousel dengan kartu-kartu yang cantik (image/video/product per kartu)~
929
931
 
930
932
  ```js
931
933
  await sock.sendMessage(jid, {
932
- text: 'Carousel utama',
933
- footer: 'Footer utama',
934
+ text: 'Carousel utama 🌸',
935
+ footer: 'Footer utama 🍃',
934
936
  cards: [
935
937
  {
936
938
  image: { url: 'https://example.com/1.jpg' },
937
- title: 'Kartu 1',
938
- caption: 'Deskripsi kartu 1',
939
- footer: 'Footer kartu 1',
939
+ title: 'Kartu 1 💕',
940
+ caption: 'Deskripsi kartu 1 yang manis 🌷',
941
+ footer: 'Footer kartu 1 🌸',
940
942
  nativeFlow: [
941
- { name: 'quick_reply', paramsJson: '{"id":"c1"}', text: 'Pilih Ini' }
943
+ { name: 'quick_reply', paramsJson: '{"id":"c1"}', text: 'Pilih Ini 💖' }
942
944
  ]
943
945
  },
944
946
  {
945
947
  image: { url: 'https://example.com/2.jpg' },
946
- title: 'Kartu 2',
947
- caption: 'Deskripsi kartu 2',
948
- nativeFlow: [
949
- { name: 'quick_reply', paramsJson: '{"id":"c2"}', text: 'Pilih Itu' },
950
- { url: 'https://example.com', text: 'Lihat Detail' }
951
- ]
952
- },
953
- {
954
- video: { url: 'https://example.com/vid.mp4' },
955
- caption: 'Video kartu',
948
+ title: 'Kartu 2 🌺',
949
+ caption: 'Deskripsi kartu 2 yang indah 🌼',
956
950
  nativeFlow: [
957
- { name: 'quick_reply', paramsJson: '{"id":"c3"}', text: 'Tonton' }
951
+ { name: 'quick_reply', paramsJson: '{"id":"c2"}', text: 'Pilih Itu 🌸' }
958
952
  ]
959
953
  }
960
954
  ]
@@ -963,414 +957,354 @@ await sock.sendMessage(jid, {
963
957
 
964
958
  ---
965
959
 
966
- ## 📝 List Reply
960
+ ## 🗨️ Status Mention
967
961
 
968
- Balas pemilihan dari list message:
962
+ > 💫 Mention seseorang di status/story dengan mengirim pesan ke array JID — otomatis mengirim `statusMentionMessage` atau `groupStatusMentionMessage` ke JID yang dituju~
969
963
 
970
964
  ```js
971
- await sock.sendMessage(jid, {
972
- listReply: {
973
- title: 'Pilihan yang dipilih',
974
- description: 'Deskripsi pilihan',
975
- id: 'row1'
976
- }
965
+ // 💬 Status teks dengan mention ke user/group
966
+ await sock.sendMessage(['628xxx@s.whatsapp.net', 'yyy@g.us'], {
967
+ text: 'Hei kamu~ 🌸',
968
+ backgroundColor: '#ff6b9d'
977
969
  })
978
- ```
979
970
 
980
- ---
981
-
982
- ## 🎴 Sticker Pack
983
-
984
- Kirim paket sticker:
985
-
986
- ```js
987
- await sock.sendMessage(jid, {
988
- stickers: [
989
- {
990
- sticker: fs.readFileSync('sticker1.webp'),
991
- metadata: { stickerPackId: 'pack123', stickerPackName: 'My Pack' }
992
- },
993
- {
994
- sticker: fs.readFileSync('sticker2.webp')
995
- }
996
- ]
971
+ // 🖼️ Status gambar dengan mention
972
+ await sock.sendMessage(['628xxx@s.whatsapp.net'], {
973
+ image: { url: 'https://example.com/image.jpg' },
974
+ caption: 'Buat kamu~ 💕'
997
975
  })
998
976
  ```
999
977
 
978
+ > 🍀 Kirim ke array JID untuk trigger status mention. Untuk grup, otomatis pakai `groupStatusMentionMessage`~
979
+
1000
980
  ---
1001
981
 
1002
- ## 🔗 External Ad Reply
982
+ ## 🤖 AI Icon
1003
983
 
1004
- Tambahkan konteks iklan eksternal pada pesan (tampil sebagai preview besar di atas pesan):
984
+ > ✨ Tambahkan AI icon pada pesan di private chat hanya bisa digunakan untuk percakapan personal (bukan grup)~
1005
985
 
1006
986
  ```js
987
+ // 💬 Teks dengan AI icon
1007
988
  await sock.sendMessage(jid, {
1008
- text: 'Halo dari iklan!',
1009
- externalAdReply: {
1010
- title: 'Judul Iklan',
1011
- body: 'Deskripsi singkat',
1012
- url: 'https://example.com',
1013
- thumbnail: fs.readFileSync('thumbnail.jpg'), // wajib Buffer
1014
- mediaType: 1,
1015
- largeThumbnail: true
1016
- }
989
+ text: 'Halo! Aku asisten AI-mu~ 🌸',
990
+ ai: true
1017
991
  })
1018
- ```
1019
992
 
1020
- ---
1021
-
1022
- ## 💸 Request Payment
1023
-
1024
- Minta pembayaran dari kontak (dibutuhkan teks atau sticker sebagai pesan catatan):
1025
-
1026
- ```js
1027
- // Dengan teks
993
+ // 🖼️ Gambar dengan AI icon
1028
994
  await sock.sendMessage(jid, {
1029
- text: 'Tolong bayar untuk pesanan ini',
1030
- requestPaymentFrom: '628xxx@s.whatsapp.net',
1031
- amount1000: 50000000, // nominal × 1000 (Rp50.000 → 50000000)
1032
- currencyCodeIso4217: 'IDR',
1033
- expiryTimestamp: Date.now() + 86400000
995
+ image: { url: 'https://example.com/image.jpg' },
996
+ caption: 'Dihasilkan oleh AI 💖',
997
+ ai: true
1034
998
  })
1035
999
  ```
1036
1000
 
1001
+ > 🌷 `ai: true` hanya berlaku di private chat (JID `@s.whatsapp.net` atau LID). Akan error jika dikirim ke grup~
1002
+
1037
1003
  ---
1038
1004
 
1039
- ## 🧾 Invoice
1005
+ ## 🏷️ Secure Meta Service Label
1040
1006
 
1041
- Kirim pesan invoice (butuh gambar atau dokumen sebagai lampiran):
1007
+ > 🌿 Tambahkan label layanan bisnis pada pesan memunculkan atribut biz pada relay~
1042
1008
 
1043
1009
  ```js
1044
- // Invoice dengan gambar
1045
1010
  await sock.sendMessage(jid, {
1046
- image: fs.readFileSync('invoice.jpg'),
1047
- invoiceNote: 'Catatan invoice ini'
1011
+ text: 'Pesan layanan resmi kami~ 🌸',
1012
+ secureMetaServiceLabel: true
1048
1013
  })
1049
1014
 
1050
- // Invoice dengan PDF
1015
+ // 💌 Bisa dikombinasikan dengan pesan media
1051
1016
  await sock.sendMessage(jid, {
1052
- document: fs.readFileSync('invoice.pdf'),
1053
- mimetype: 'application/pdf',
1054
- fileName: 'invoice.pdf',
1055
- invoiceNote: 'Invoice bulan ini'
1017
+ image: { url: 'https://example.com/banner.jpg' },
1018
+ caption: 'Promo spesial dari kami 💕',
1019
+ secureMetaServiceLabel: true
1056
1020
  })
1057
1021
  ```
1058
1022
 
1059
1023
  ---
1060
1024
 
1061
- ## 🛒 Order
1025
+ ## 💻 Code Block
1062
1026
 
1063
- Kirim pesan pesanan (order):
1027
+ > 🌟 Kirim pesan kode dengan syntax highlighting — tampil sebagai AI Rich Response~
1064
1028
 
1065
1029
  ```js
1066
1030
  await sock.sendMessage(jid, {
1067
- orderText: 'Pesanan dari katalog',
1068
- thumbnail: fs.readFileSync('thumbnail.jpg'), // wajib Buffer
1069
- itemCount: 3,
1070
- totalAmount1000: 150000000, // Rp150.000
1071
- totalCurrencyCode: 'IDR'
1031
+ code: 'console.log("Hello World!")',
1032
+ language: 'javascript', // 🌸 default: 'javascript'
1033
+ headerText: 'Contoh kode:',
1034
+ footerText: 'Semoga membantu~ 💖',
1035
+ disclaimerText: 'Generated by AI'
1072
1036
  })
1073
1037
  ```
1074
1038
 
1075
- ---
1076
-
1077
- ## ⏳ Disappearing Messages
1078
-
1079
- Aktifkan/nonaktifkan pesan menghilang di sebuah chat:
1080
-
1081
- ```js
1082
- // Aktifkan (gunakan durasi default 7 hari)
1083
- await sock.sendMessage(jid, { disappearingMessagesInChat: true })
1084
-
1085
- // Nonaktifkan
1086
- await sock.sendMessage(jid, { disappearingMessagesInChat: false })
1087
-
1088
- // Durasi kustom (dalam detik)
1089
- await sock.sendMessage(jid, { disappearingMessagesInChat: 86400 }) // 1 hari
1090
- ```
1039
+ > 💡 Bahasa yang didukung bergantung pada `LANGUAGE_KEYWORDS` — termasuk javascript, python, dll~
1091
1040
 
1092
1041
  ---
1093
1042
 
1094
- ## 🧩 Raw Message
1043
+ ## 🔗 Links (Rich)
1095
1044
 
1096
- Kirim pesan proto langsung tanpa transformasi (untuk kasus advanced):
1045
+ > ✨ Kirim teks dengan referensi link yang kaya (inline citation) — tampil sebagai AI Rich Response~
1097
1046
 
1098
1047
  ```js
1099
1048
  await sock.sendMessage(jid, {
1100
- raw: true,
1101
- extendedTextMessage: {
1102
- text: 'Pesan raw',
1103
- contextInfo: { ... }
1104
- }
1049
+ links: [
1050
+ {
1051
+ text: 'Kunjungi dokumentasi',
1052
+ title: 'Docs',
1053
+ displayName: 'Baileys Docs',
1054
+ url: 'https://example.com/docs',
1055
+ sources: [
1056
+ {
1057
+ displayName: 'Source 1 💕',
1058
+ subtitle: 'Sumber terpercaya',
1059
+ url: 'https://example.com/source'
1060
+ }
1061
+ ]
1062
+ }
1063
+ ],
1064
+ headerText: 'Referensi~ 🌸',
1065
+ footerText: 'Semoga berguna 🍃'
1105
1066
  })
1106
1067
  ```
1107
1068
 
1108
- > ⚠️ Field `raw` akan di-delete sebelum dikirim. Sisa object digunakan apa adanya sebagai `WAProto.Message`.
1109
-
1110
1069
  ---
1111
1070
 
1112
- ## 🤖 Rich Message (AI)
1113
-
1114
- Tipe pesan Rich — ditampilkan sebagai `botForwardedMessage` dengan rendering khusus (code highlight, tabel, links dengan citation). Cocok untuk bot AI.
1071
+ ## 📊 Table (Rich)
1115
1072
 
1116
- ### 💻 Code Block
1073
+ > 🌷 Kirim tabel cantik — tampil sebagai AI Rich Response~
1117
1074
 
1118
1075
  ```js
1119
1076
  await sock.sendMessage(jid, {
1120
- code: 'console.log("Hello World")',
1121
- language: 'javascript', // default: 'javascript'
1122
- headerText: 'Contoh kode:',
1123
- footerText: 'Semoga membantu!'
1077
+ table: [
1078
+ ['Nama 🌸', 'Usia 💕', 'Kota 🌆'], // baris pertama = header
1079
+ ['Hana', '20', 'Jakarta'],
1080
+ ['Risa', '22', 'Bandung'],
1081
+ ['Yuki', '21', 'Surabaya']
1082
+ ],
1083
+ title: 'Data Anggota 🌟',
1084
+ headerText: 'Berikut datanya~ 💖',
1085
+ footerText: 'Data per Juni 2025 🍃'
1124
1086
  })
1125
- ```
1126
1087
 
1127
- Bahasa yang didukung: `javascript`, `python`, `java`, `typescript`, `cpp`, `c`, `go`, `rust`, `php`, `ruby`, `swift`, `kotlin`, dll (sesuai `LANGUAGE_KEYWORDS` di `constants.js`).
1088
+ // 🔒 Tanpa baris header
1089
+ await sock.sendMessage(jid, {
1090
+ table: [
1091
+ ['Item A', 'Rp 10.000'],
1092
+ ['Item B', 'Rp 20.000']
1093
+ ],
1094
+ noHeading: true,
1095
+ title: 'Daftar Harga 🌺'
1096
+ })
1097
+ ```
1128
1098
 
1129
1099
  ---
1130
1100
 
1131
- ### 🔗 Links (Rich)
1101
+ ## 🌈 Rich Response (Gabungan)
1132
1102
 
1133
- Kirim teks dengan citation/referensi link inline:
1103
+ > 💞 Kirim gabungan teks, kode, dan tabel dalam satu pesan AI Rich Response~
1134
1104
 
1135
1105
  ```js
1136
1106
  await sock.sendMessage(jid, {
1137
- links: [
1107
+ richResponse: [
1108
+ { text: 'Penjelasan singkat~ 🌸' },
1138
1109
  {
1139
- text: 'Cek dokumentasi resmi',
1140
- title: 'Judul Referensi',
1141
- url: 'https://example.com',
1142
- displayName: 'Nama Tautan',
1143
- sources: [
1144
- {
1145
- displayName: 'Sumber 1',
1146
- subtitle: 'Subjudul',
1147
- url: 'https://source1.com'
1148
- }
1149
- ]
1150
- }
1110
+ code: 'const x = 1 + 1',
1111
+ language: 'javascript'
1112
+ },
1113
+ {
1114
+ table: [['Kolom A', 'Kolom B'], ['Nilai 1', 'Nilai 2']],
1115
+ title: 'Hasil 🌷'
1116
+ },
1117
+ { text: 'Semoga membantu ya~ 💕' }
1151
1118
  ],
1152
- headerText: 'Info penting:',
1153
- footerText: 'Sumber terpercaya'
1119
+ disclaimerText: 'Generated by AI 🤖'
1154
1120
  })
1155
1121
  ```
1156
1122
 
1157
1123
  ---
1158
1124
 
1159
- ### 📊 Table (Rich)
1125
+ ## 📩 List Reply
1160
1126
 
1161
- Kirim pesan dalam bentuk tabel:
1127
+ > 🌷 Simulasi balasan dari list message (ketika user memilih item dari daftar)~
1162
1128
 
1163
1129
  ```js
1164
1130
  await sock.sendMessage(jid, {
1165
- table: [
1166
- ['Nama', 'Usia', 'Kota'], // baris pertama = header
1167
- ['Budi', '25', 'Jakarta'],
1168
- ['Sari', '22', 'Bandung'],
1169
- ['Andi', '30', 'Surabaya']
1170
- ],
1171
- title: 'Data Pengguna',
1172
- noHeading: false, // true = baris pertama bukan header
1173
- headerText: 'Daftar data:',
1174
- footerText: 'Total: 3 pengguna'
1131
+ listReply: {
1132
+ title: 'Pilihan Saya 💕',
1133
+ description: 'Deskripsi pilihan',
1134
+ id: 'row1' // 🗝️ selectedRowId dari baris yang dipilih
1135
+ }
1175
1136
  })
1176
1137
  ```
1177
1138
 
1178
1139
  ---
1179
1140
 
1180
- ### 🎨 Rich Response (Gabungan)
1141
+ ## 🎴 Sticker Pack
1181
1142
 
1182
- Gabungkan teks, code block, dan tabel dalam satu pesan:
1143
+ > Kirim paket sticker kustom — membutuhkan cover dan minimal 1 sticker~
1183
1144
 
1184
1145
  ```js
1185
1146
  await sock.sendMessage(jid, {
1186
- richResponse: [
1187
- {
1188
- text: 'Berikut contoh kode Python:',
1189
- inlineEntities: [] // opsional
1190
- },
1191
- {
1192
- code: 'def greet(name):\n print(f"Hello, {name}!")',
1193
- language: 'python'
1194
- },
1147
+ cover: fs.readFileSync('cover.webp'), // 🖼️ wajib ada
1148
+ name: 'Pack Manis 🌸',
1149
+ publisher: 'NuiiS4TORU 💖',
1150
+ description: 'Sticker pack cantik~',
1151
+ stickers: [
1195
1152
  {
1196
- text: 'Dan berikut tabelnya:'
1153
+ data: fs.readFileSync('sticker1.webp'),
1154
+ emojis: ['🌸', '💕'],
1155
+ accessibilityLabel: 'stiker manis'
1197
1156
  },
1198
1157
  {
1199
- table: [
1200
- { isHeading: true, items: ['Kolom A', 'Kolom B'] },
1201
- { isHeading: false, items: ['Data 1', 'Data 2'] }
1202
- ],
1203
- title: 'Tabel Data'
1158
+ data: { url: 'https://example.com/sticker2.webp' },
1159
+ emojis: ['🌷']
1204
1160
  }
1205
- ],
1206
- disclaimerText: 'Disclaimer di bawah pesan' // opsional
1161
+ // 🌺 maksimal 60 sticker ya~
1162
+ ]
1207
1163
  })
1208
1164
  ```
1209
1165
 
1166
+ > 🍀 Butuh library `sharp` atau `@napi-rs/image` untuk konversi WebP. Setiap sticker maks 1MB~
1167
+
1210
1168
  ---
1211
1169
 
1212
- ## 🎞️ Status Mention
1170
+ ## 📢 External Ad Reply
1213
1171
 
1214
- Kirim pesan status (story) dan mention ke satu atau beberapa user/group sekaligus. `jid` diisi array.
1172
+ > 💌 Tambahkan tampilan iklan eksternal sebagai context info pada pesan~
1215
1173
 
1216
1174
  ```js
1217
- // Mention ke user tertentu
1218
- await sock.sendMessage(['628xxx@s.whatsapp.net', '628yyy@s.whatsapp.net'], {
1219
- text: 'Halo! 👋'
1175
+ // 💬 Teks dengan external ad reply
1176
+ await sock.sendMessage(jid, {
1177
+ text: 'Cek produk ini~ 🌸',
1178
+ externalAdReply: {
1179
+ title: 'Judul Iklan 💕',
1180
+ body: 'Deskripsi iklan yang menarik 🌷',
1181
+ thumbnail: fs.readFileSync('thumbnail.jpg'), // 🖼️ harus Buffer
1182
+ url: 'https://example.com/produk',
1183
+ mediaType: 1, // 1 = image 🖼️
1184
+ largeThumbnail: false
1185
+ }
1220
1186
  })
1221
1187
 
1222
- // Mention ke group (semua member grup otomatis masuk statusJidList)
1223
- await sock.sendMessage(['xxx@g.us'], {
1224
- image: { url: 'https://example.com/image.jpg' },
1225
- caption: 'Story dengan mention grup!'
1188
+ // 🖼️ Gambar dengan external ad reply
1189
+ await sock.sendMessage(jid, {
1190
+ image: { url: 'https://example.com/banner.jpg' },
1191
+ caption: 'Penawaran spesial 💖',
1192
+ externalAdReply: {
1193
+ title: 'Promo Hari Ini 🌸',
1194
+ url: 'https://example.com/promo',
1195
+ thumbnail: fs.readFileSync('thumb.jpg'),
1196
+ mediaType: 1
1197
+ }
1226
1198
  })
1199
+ ```
1227
1200
 
1228
- // Gabungan user dan grup
1229
- await sock.sendMessage(['628xxx@s.whatsapp.net', 'yyy@g.us'], {
1230
- text: 'Halo semua!'
1201
+ ---
1202
+
1203
+ ## 💸 Request Payment
1204
+
1205
+ > 🌷 Minta pembayaran dari seseorang — hanya untuk chat privat~
1206
+
1207
+ ```js
1208
+ // 💬 Dengan teks sebagai note
1209
+ await sock.sendMessage(jid, {
1210
+ text: 'Tolong transfer ya sayang~ 🌸',
1211
+ requestPaymentFrom: '628xxx@s.whatsapp.net',
1212
+ amount1000: 50000000, // 💰 Rp 50.000 (dalam unit 1/1000)
1213
+ currencyCodeIso4217: 'IDR',
1214
+ expiryTimestamp: Date.now() + 86400000 // ⏰ kadaluarsa 1 hari
1231
1215
  })
1232
1216
  ```
1233
1217
 
1234
- > Pesan akan dikirim ke `status@broadcast` lalu mention dikirim satu per satu ke masing-masing JID. Untuk grup, semua participant otomatis masuk ke `statusJidList`.
1218
+ > 🍀 Note message harus berupa `extendedTextMessage` (teks) atau `stickerMessage`~
1235
1219
 
1236
1220
  ---
1237
1221
 
1238
- ## 🤖 AI Icon
1222
+ ## 🧾 Invoice
1239
1223
 
1240
- Tambahkan AI icon pada pesan. Hanya berfungsi di private chat (`@s.whatsapp.net`).
1224
+ > Kirim invoice dengan attachment gambar atau dokumen PDF~
1241
1225
 
1242
1226
  ```js
1227
+ // 🖼️ Invoice dengan gambar
1243
1228
  await sock.sendMessage(jid, {
1244
- text: 'Pesan dengan AI icon 🤖',
1245
- ai: true
1229
+ image: fs.readFileSync('invoice.jpg'),
1230
+ invoiceNote: 'Invoice pembelian 🌸\nTotal: Rp 150.000 💕'
1246
1231
  })
1247
1232
 
1248
- // Dengan media
1233
+ // 📄 Invoice dengan PDF
1249
1234
  await sock.sendMessage(jid, {
1250
- image: { url: 'https://example.com/image.jpg' },
1251
- caption: 'Gambar dari AI',
1252
- ai: true
1253
- }, { quoted: m })
1235
+ document: fs.readFileSync('invoice.pdf'),
1236
+ mimetype: 'application/pdf',
1237
+ fileName: 'invoice.pdf',
1238
+ invoiceNote: 'Terima kasih atas pesananmu~ 🌷'
1239
+ })
1254
1240
  ```
1255
1241
 
1256
- > ⚠️ `ai: true` hanya bisa dipakai di chat private. Di grup atau newsletter akan throw error.
1257
-
1258
1242
  ---
1259
1243
 
1260
- ## 🏷️ Secure Meta Service Label
1244
+ ## 🛒 Order
1261
1245
 
1262
- Tambahkan label layanan meta aman pada pesan (biz attributes).
1246
+ > 🌟 Kirim detail pesanan (order message) untuk fitur belanja WhatsApp~
1263
1247
 
1264
1248
  ```js
1265
1249
  await sock.sendMessage(jid, {
1266
- text: 'Pesan dengan secure label',
1267
- secureMetaServiceLabel: true
1250
+ order: {
1251
+ orderId: 'order_001',
1252
+ thumbnail: fs.readFileSync('produk.jpg'), // 🖼️ wajib ada
1253
+ itemCount: 3,
1254
+ status: 'PAYMENT_PENDING', // 💰 status pesanan
1255
+ surface: 'CATALOG',
1256
+ message: 'Pesanan kamu sedang diproses ya~ 🌸',
1257
+ orderTitle: 'Pesanan #001 💕',
1258
+ sellerJid: '628xxx@s.whatsapp.net',
1259
+ token: 'token_unik',
1260
+ totalAmount1000: 150000000, // 💸 Rp 150.000
1261
+ totalCurrencyCode: 'IDR'
1262
+ }
1268
1263
  })
1269
1264
  ```
1270
1265
 
1271
1266
  ---
1272
1267
 
1273
- ## Opsi Umum
1268
+ ## Disappearing Messages
1274
1269
 
1275
- Semua `sendMessage` mendukung opsi ke-3:
1270
+ > 🍃 Aktifkan atau nonaktifkan pesan menghilang di obrolan grup~
1276
1271
 
1277
1272
  ```js
1278
- await sock.sendMessage(jid, content, {
1279
- quoted: m, // reply/quote pesan
1280
- ephemeralExpiration: 86400, // pesan hilang (detik)
1281
- statusJidList: ['628xxx@s.whatsapp.net'], // kirim status ke JID
1282
- mediaUploadTimeoutMs: 30000,
1283
- backgroundColor: '#FF0000',
1284
- font: 1
1285
- })
1286
- ```
1273
+ // ✅ Aktifkan (86400 detik = 24 jam default)
1274
+ await sock.sendMessage(groupJid, { disappearingMessagesInChat: true })
1287
1275
 
1288
- **Opsi tambahan di dalam content:**
1289
- ```js
1290
- await sock.sendMessage(jid, {
1291
- text: 'Pesan dengan opsi ekstra',
1292
- mentions: ['628xxx@s.whatsapp.net'], // mention spesifik
1293
- mentionAll: true, // mention semua (nonJidMentions)
1294
- contextInfo: { ... } // contextInfo manual (di-merge)
1295
- })
1276
+ // Nonaktifkan
1277
+ await sock.sendMessage(groupJid, { disappearingMessagesInChat: false })
1278
+
1279
+ // ⏱️ Durasi kustom (dalam detik)
1280
+ await sock.sendMessage(groupJid, { disappearingMessagesInChat: 604800 }) // 7 hari
1296
1281
  ```
1297
1282
 
1283
+ > 🌷 Hanya berfungsi di grup (`@g.us`). Nilai `true` menggunakan `WA_DEFAULT_EPHEMERAL` (86400 detik)~
1284
+
1298
1285
  ---
1299
1286
 
1300
- ## Tabel Semua Tipe Pesan
1301
-
1302
- | Property | Tipe Proto | Keterangan |
1303
- |---|---|---|
1304
- | `text` | `extendedTextMessage` | Teks dengan link preview |
1305
- | `image` | `imageMessage` | Gambar |
1306
- | `video` | `videoMessage` | Video |
1307
- | `audio` | `audioMessage` | Audio / Voice note (`ptt: true`) |
1308
- | `document` | `documentMessage` | File/dokumen |
1309
- | `sticker` | `stickerMessage` | Sticker WebP |
1310
- | `stickers` | `stickerPackMessage` | Paket sticker |
1311
- | `location` | `locationMessage` | Lokasi GPS |
1312
- | `contacts` | `contactMessage` / `contactsArrayMessage` | Kontak vCard |
1313
- | `react` | `reactionMessage` | Reaksi emoji |
1314
- | `poll` | `pollCreationMessage` / `V2` / `V3` / `V5` | Poll / Quiz |
1315
- | `pollResult` | `pollResultSnapshotMessage` / `V3` | Hasil poll |
1316
- | `pollUpdate` | `pollUpdateMessage` | Update vote poll |
1317
- | `forward` | *(inherit)* | Forward pesan |
1318
- | `delete` | `protocolMessage (REVOKE)` | Hapus pesan |
1319
- | `edit` | `protocolMessage (MESSAGE_EDIT)` | Edit pesan |
1320
- | `pin` | `pinInChatMessage` | Pin/unpin pesan |
1321
- | `keep` | `keepInChatMessage` | Simpan pesan |
1322
- | `album` | `albumMessage` | Album foto/video |
1323
- | `event` | `eventMessage` | Event/acara |
1324
- | `groupStatusMessage` | *(dugong handler)* | Group Story/Status |
1325
- | jid as array | `statusMentionMessage` / `groupStatusMentionMessage` | Kirim status + mention ke user/grup |
1326
- | `groupInvite` | `groupInviteMessage` | Undangan grup |
1327
- | `product` | `productMessage` | Produk katalog |
1328
- | `flowReply` | `interactiveResponseMessage` | Balas native flow |
1329
- | `buttonReply` | `templateButtonReplyMessage` / `buttonsResponseMessage` | Balas tombol |
1330
- | `listReply` | `listResponseMessage` | Balas list |
1331
- | `call` | *(scheduled call handler)* | Panggilan terjadwal |
1332
- | `buttons` | `buttonsMessage` | Tombol interaktif |
1333
- | `sections` | `listMessage` | Daftar pilihan |
1334
- | `templateButtons` | `templateMessage` | Template buttons |
1335
- | `nativeFlow` | `interactiveMessage` | Native flow buttons |
1336
- | `cards` | `interactiveMessage (carouselMessage)` | Carousel cards |
1337
- | `externalAdReply` | *(contextInfo inject)* | Preview iklan eksternal |
1338
- | `requestPaymentFrom` | `requestPaymentMessage` | Minta pembayaran |
1339
- | `invoiceNote` | `invoiceMessage` | Invoice |
1340
- | `orderText` | `orderMessage` | Pesanan/order |
1341
- | `disappearingMessagesInChat` | `protocolMessage (EPHEMERAL_SETTING)` | Pesan menghilang |
1342
- | `code` | `botForwardedMessage (richResponseMessage)` | Code block (AI) |
1343
- | `links` | `botForwardedMessage (richResponseMessage)` | Links dengan citation (AI) |
1344
- | `table` | `botForwardedMessage (richResponseMessage)` | Tabel (AI) |
1345
- | `richResponse` | `botForwardedMessage (richResponseMessage)` | Gabungan rich message (AI) |
1346
- | `raw` | *(passthrough)* | Kirim proto langsung |
1347
- | `ai` | *(bot node inject)* | AI icon pada pesan (private chat only) |
1348
- | `secureMetaServiceLabel` | *(addBizAttributes)* | Secure meta service label |
1349
- | `viewOnce` | `viewOnceMessage` | Lihat sekali |
1350
- | `viewOnceV2` | `viewOnceMessageV2` | Lihat sekali V2 |
1351
- | `viewOnceV2Extension` | `viewOnceMessageV2Extension` | Lihat sekali V2 extension |
1352
- | `ephemeral` | `ephemeralMessage` | Wrap ephemeral |
1353
- | `spoiler` | `spoilerMessage` | Wrap spoiler |
1354
- | `groupStatus` | `groupStatusMessageV2` | Wrap group status |
1355
- | `isLottie` | `lottieStickerMessage` | Wrap lottie sticker |
1287
+ ## 📦 Raw Message
1356
1288
 
1357
- ---
1289
+ > ⚡ Kirim pesan dalam bentuk raw WAProto — untuk kontrol penuh struktur pesan~
1358
1290
 
1359
- ## File yang Dimodifikasi
1291
+ ```js
1292
+ // 🌸 Properti 'raw' akan di-bypass langsung tanpa transformasi apapun
1293
+ await sock.sendMessage(jid, {
1294
+ raw: true,
1295
+ extendedTextMessage: {
1296
+ text: 'Pesan raw langsung ke proto~ 💕'
1297
+ }
1298
+ })
1299
+ ```
1360
1300
 
1361
- | File | Keterangan |
1362
- |---|---|
1363
- | `lib/Socket/dugong.js` | Handler GROUP_STORY, ALBUM, EVENT, POLL_RESULT |
1364
- | `lib/Socket/messages-send.js` | Route pesan + `getBizBinaryNode` dinamis |
1365
- | `lib/Utils/messages.js` | Semua handler tipe pesan lengkap |
1366
- | `lib/Utils/rich-message-utils.js` | Helper Rich Message / AI Response |
1367
- | `lib/WABinary/generic-utils.js` | `getBizBinaryNode` dengan FLOWS_MAP |
1368
- | `lib/Types/Message.js` | Export `ButtonType`, `ListType`, dll |
1369
- | `lib/WABinary/constants.js` | `LANGUAGE_KEYWORDS` untuk syntax highlight |
1370
- | `lib/Defaults/index.js` | `LEXER_REGEX`, `DONATE_URL`, `LIBRARY_NAME` |
1301
+ > 💡 Ketika `raw: true` ada, semua properti lain diteruskan langsung sebagai WAProto message tanpa pemrosesan tambahan~
1371
1302
 
1372
1303
  ---
1373
1304
 
1374
- <div align="center">Made with 💙 by NuiiS4TORU &mdash; For the Baileys Community</div>
1375
-
1376
- > Project ini tidak berafiliasi dengan WhatsApp atau Meta. "WhatsApp" adalah merek dagang terdaftar dari pemiliknya masing-masing.
1305
+ <div align="center">
1306
+ <br/>
1307
+ <i>🌸 Dibuat dengan cinta dan dedikasi oleh <b>NuiiS4TORU</b> 💖</i><br/>
1308
+ <i>✨ Semoga library ini membawa kebahagiaan dalam setiap project-mu~ 🌷</i>
1309
+ <br/><br/>
1310
+ </div>