sauruspro-bail 5.0.2-alpha.spr.test → 5.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 +233 -48
- package/docs/CHANGELOG.md +44 -30
- package/docs/SPR.md +1 -1
- package/lib/Socket/index.js +37 -6
- package/lib/Socket/socket.js +80 -50
- package/lib/Utils/crypto.js +25 -1
- package/lib/Utils/greeting-card.d.ts +15 -0
- package/lib/Utils/greeting-card.js +70 -0
- package/lib/Utils/group-history.d.ts +4 -0
- package/lib/Utils/group-history.js +58 -0
- package/lib/Utils/index.js +6 -0
- package/lib/Utils/meta-ai-bot.d.ts +10 -0
- package/lib/Utils/meta-ai-bot.js +94 -0
- package/lib/Utils/native-backend.d.ts +3 -0
- package/lib/Utils/native-backend.js +56 -0
- package/lib/Utils/plugins.d.ts +20 -0
- package/lib/Utils/plugins.js +78 -0
- package/lib/Utils/presence-profile.d.ts +18 -0
- package/lib/Utils/presence-profile.js +50 -0
- package/lib/index.js +14 -4
- package/package.json +7 -3
- package/docs/NEWSLETTER-STATUS.md +0 -120
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
# 📢 Newsletter Status
|
|
2
|
-
|
|
3
|
-
Kirim, react, hapus, dan ambil **status Channel (newsletter)** WhatsApp.
|
|
4
|
-
Tersedia sejak **v5.0.0**. Kamu harus **admin/owner** channel tersebut.
|
|
5
|
-
|
|
6
|
-
Semua fungsi tersedia dalam 3 cara:
|
|
7
|
-
|
|
8
|
-
| Cara | Contoh |
|
|
9
|
-
|---|---|
|
|
10
|
-
| `sock.newsletter.*` | `sock.newsletter.sendStatus(jid, content)` |
|
|
11
|
-
| `sock.*` langsung | `sock.sendNewsletterStatus(jid, content)` |
|
|
12
|
-
| Import factory | `makeNewsletterStatusSender(sock, config)` |
|
|
13
|
-
|
|
14
|
-
JID newsletter harus berakhiran `@newsletter`, kalau tidak akan melempar `TypeError`.
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## 1. Kirim status
|
|
19
|
-
|
|
20
|
-
```js
|
|
21
|
-
await sock.newsletter.sendStatus(jid, content, options?)
|
|
22
|
-
// atau object style:
|
|
23
|
-
await sock.newsletter.sendStatus({ jid, content, ...options })
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
### Content
|
|
27
|
-
|
|
28
|
-
| Jenis | Contoh |
|
|
29
|
-
|---|---|
|
|
30
|
-
| Teks | `{ text: 'Halo' }` |
|
|
31
|
-
| Gambar | `{ image: { url }, caption }` |
|
|
32
|
-
| Video | `{ video: { url }, caption }` |
|
|
33
|
-
| GIF | `{ video: { url }, gifPlayback: true }` |
|
|
34
|
-
| Audio | `{ audio: { url }, mimetype: 'audio/mpeg' }` |
|
|
35
|
-
|
|
36
|
-
Dokumen dan sticker **tidak didukung** (akan melempar error).
|
|
37
|
-
Hanya `image` dan `video` yang dipublish WhatsApp Web sendiri; audio/gif bisa ditolak server (ada log warning).
|
|
38
|
-
|
|
39
|
-
### Options
|
|
40
|
-
|
|
41
|
-
| Option | Default | Keterangan |
|
|
42
|
-
|---|---|---|
|
|
43
|
-
| `messageId` | auto | ID pesan kustom |
|
|
44
|
-
| `statusAttribution` | `true` | Tambah atribusi `NEWSLETTER_STATUS` + `canBeReshared` |
|
|
45
|
-
| `interactionType` | - | `question` / `question_response` / `question_reshare` |
|
|
46
|
-
| `parentServerId` | - | Wajib untuk `question_reshare` |
|
|
47
|
-
| `responseServerId` | - | Wajib untuk `question_reshare` |
|
|
48
|
-
| `aiContent` | - | Tandai konten AI |
|
|
49
|
-
| `mediaHandle` / `mediaId` | auto | Handle media hasil upload |
|
|
50
|
-
| `ackTimeoutMs` | `20000` | Timeout menunggu ack server |
|
|
51
|
-
| `resolveServerId` | `true` | Tunggu echo server untuk dapat `serverId`. `false` = lebih cepat |
|
|
52
|
-
| `serverIdTimeoutMs` | `8000` | Timeout menunggu echo |
|
|
53
|
-
|
|
54
|
-
### Hasil
|
|
55
|
-
|
|
56
|
-
Mengembalikan `WebMessageInfo` dengan field tambahan:
|
|
57
|
-
|
|
58
|
-
```js
|
|
59
|
-
{
|
|
60
|
-
newsletterStatusServerId, // number, dipakai untuk react/revoke
|
|
61
|
-
newsletterStatusAck, // ack terurai
|
|
62
|
-
newsletterStatusResponse, // node mentah
|
|
63
|
-
newsletterStatusDelivered // node echo (jika resolveServerId)
|
|
64
|
-
}
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### Reshare status channel ke status sendiri
|
|
68
|
-
|
|
69
|
-
```js
|
|
70
|
-
await sock.newsletter.sendStatus(jid, {
|
|
71
|
-
text: 'Lihat ini',
|
|
72
|
-
newsletterStatus: { newsletterJid: '120363...@newsletter', messageId: 150 }
|
|
73
|
-
})
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
## 2. React
|
|
79
|
-
|
|
80
|
-
```js
|
|
81
|
-
await sock.newsletter.reactToStatus(jid, parentServerId, '🔥')
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
`parentServerId` harus integer antara **99 dan 2147476647**.
|
|
85
|
-
|
|
86
|
-
## 3. Hapus (revoke)
|
|
87
|
-
|
|
88
|
-
```js
|
|
89
|
-
await sock.newsletter.revokeStatus(jid, statusId)
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
## 4. Ambil status
|
|
93
|
-
|
|
94
|
-
```js
|
|
95
|
-
const list = await sock.newsletter.fetchStatuses(jid, { count: 20, before, after })
|
|
96
|
-
const updates = await sock.newsletter.fetchStatusUpdates(jid, { count: 20, since })
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
Entry berisi: `id`, `serverId`, `t`, `type`, `mediaType`, `reactionCounts`, `viewsCount`, `responsesCount`, `message`, dll. Lihat `lib/Utils/newsletter-status.d.ts`.
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
## Helper tambahan (named export)
|
|
104
|
-
|
|
105
|
-
`buildNewsletterStatusNode`, `buildNewsletterStatusReactionNode`, `buildNewsletterStatusRevokeNode`, `parseNewsletterStatusAck`, `toNewsletterServerId`, `getNewsletterStatusMediaType`, `makeNewsletterStatusAttribution`, `NEWSLETTER_SERVER_ID_MIN/MAX`.
|
|
106
|
-
|
|
107
|
-
## Error umum
|
|
108
|
-
|
|
109
|
-
| Pesan | Penyebab |
|
|
110
|
-
|---|---|
|
|
111
|
-
| `Newsletter status target must be a @newsletter JID` | JID bukan newsletter |
|
|
112
|
-
| `Not authenticated` | Socket belum login |
|
|
113
|
-
| `... is not a newsletter server id` | serverId di luar 99..2147476647 |
|
|
114
|
-
| `Native newsletter status supports text, image, video, gif, and audio` | Kirim dokumen/sticker |
|
|
115
|
-
| Timeout ack | Server tidak membalas dalam `ackTimeoutMs` |
|
|
116
|
-
|
|
117
|
-
## Catatan
|
|
118
|
-
|
|
119
|
-
- Fitur bergantung pada protokol WhatsApp yang bisa berubah sewaktu-waktu.
|
|
120
|
-
- Tidak mengubah perilaku `sendMessage` biasa.
|