@neelegirl/wa-api 1.6.3 → 1.6.5
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/dist/Socket/index.js +1 -1
- package/package.json +6 -4
- package/readme.md +180 -46
package/dist/Socket/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neelegirl/wa-api",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.5",
|
|
4
4
|
"description": "Multi-session WhatsApp API wrapper built on @neelegirl/baileys",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"author": "Neele",
|
|
26
26
|
"license": "MIT",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@neelegirl/baileys": "^2.1.
|
|
28
|
+
"@neelegirl/baileys": "^2.1.5",
|
|
29
29
|
"pino": "^8.11.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
@@ -35,11 +35,13 @@
|
|
|
35
35
|
"keywords": [
|
|
36
36
|
"whatsapp",
|
|
37
37
|
"baileys",
|
|
38
|
+
"api",
|
|
38
39
|
"multi-session",
|
|
39
|
-
"
|
|
40
|
+
"automation",
|
|
41
|
+
"neelegirl"
|
|
40
42
|
],
|
|
41
43
|
"peerDependencies": {
|
|
42
|
-
"@neelegirl/baileys": "^2.1.
|
|
44
|
+
"@neelegirl/baileys": "^2.1.5"
|
|
43
45
|
},
|
|
44
46
|
"engines": {
|
|
45
47
|
"node": ">=20.0.0"
|
package/readme.md
CHANGED
|
@@ -1,88 +1,222 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
# @neelegirl/wa-api
|
|
4
4
|
|
|
5
|
-
High-level multi-session API
|
|
5
|
+
### High-level multi-session WhatsApp API on top of @neelegirl/baileys
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
[](https://www.npmjs.com/package/@neelegirl/wa-api)
|
|
8
|
+
[](https://www.npmjs.com/package/@neelegirl/baileys)
|
|
9
|
+
[](https://nodejs.org)
|
|
10
|
+
[](LICENSE)
|
|
8
11
|
|
|
9
|
-
|
|
10
|
-
-
|
|
11
|
-
|
|
12
|
+
<p align="center">
|
|
13
|
+
<img src="https://files.catbox.moe/6np1ii.JPG" width="760" alt="Neelegirl wa-api Header" />
|
|
14
|
+
</p>
|
|
12
15
|
|
|
13
|
-
|
|
16
|
+
| Paket | Version | Abhaengigkeit |
|
|
17
|
+
|---|---:|---|
|
|
18
|
+
| `@neelegirl/wa-api` | `1.6.5` | `@neelegirl/baileys ^2.1.5` |
|
|
14
19
|
|
|
15
|
-
|
|
16
|
-
- QR flow via callback
|
|
17
|
-
- Pairing-code flow via callback
|
|
18
|
-
- Auto reconnect retries (up to 10 attempts)
|
|
19
|
-
- Message upsert/update callbacks with helper media savers
|
|
20
|
-
- `sendMessage`, `sendStatusMentions`, and low-level `relayMessage`
|
|
20
|
+
[Installation](#installation) · [Quickstart](#quickstart) · [Session-Logik](#session-logik) · [Messaging](#messaging)
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Inhaltsverzeichnis
|
|
27
|
+
|
|
28
|
+
- [Uebersicht](#uebersicht)
|
|
29
|
+
- [Installation](#installation)
|
|
30
|
+
- [Quickstart](#quickstart)
|
|
31
|
+
- [Session-Logik](#session-logik)
|
|
32
|
+
- [Messaging](#messaging)
|
|
33
|
+
- [Event-System](#event-system)
|
|
34
|
+
- [Aenderungen und Hinweise](#aenderungen--hinweise)
|
|
35
|
+
- [libsignal Bezug](#libsignal-bezug)
|
|
36
|
+
- [Word2Web Hinweise](#word2web-hinweise)
|
|
37
|
+
- [Changelog](#changelog)
|
|
38
|
+
- [Legal](#legal)
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Uebersicht
|
|
43
|
+
|
|
44
|
+
`@neelegirl/wa-api` ist die higher-level API fuer Multi-Session-Betrieb. Die eigentliche WhatsApp-Socket-Laufzeit kommt aus `@neelegirl/baileys`, wa-api kapselt darauf Sessionverwaltung, Callback-Flow und vereinfachtes Messaging.
|
|
45
|
+
|
|
46
|
+
Aus den Quell-READMEs uebernommen und auf den echten Stand angepasst:
|
|
47
|
+
|
|
48
|
+
- Session-Start per QR oder Pairing-Code
|
|
49
|
+
- Session-Laden aus Storage
|
|
50
|
+
- Event-Hooks fuer Message/Connection/QR/Pairing
|
|
51
|
+
- Helper fuer `sendMessage`, `sendStatusMentions`, `relayMessage`
|
|
52
|
+
- technische Hinweise zu Reconnect, Credentials-Pfad und Update-Check
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Installation
|
|
23
57
|
|
|
24
58
|
```bash
|
|
25
59
|
npm install @neelegirl/wa-api
|
|
26
60
|
```
|
|
27
61
|
|
|
28
|
-
|
|
62
|
+
Import:
|
|
63
|
+
|
|
64
|
+
```js
|
|
65
|
+
// CommonJS
|
|
66
|
+
const wa = require('@neelegirl/wa-api')
|
|
67
|
+
|
|
68
|
+
// ESM (namespace import auf CJS)
|
|
69
|
+
import * as wa from '@neelegirl/wa-api'
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Quickstart
|
|
29
75
|
|
|
30
76
|
```js
|
|
31
77
|
const wa = require('@neelegirl/wa-api')
|
|
32
78
|
|
|
33
79
|
wa.onQRUpdated(({ sessionId, qr }) => {
|
|
34
|
-
console.log('QR for
|
|
80
|
+
console.log('QR for', sessionId)
|
|
35
81
|
console.log(qr)
|
|
36
82
|
})
|
|
37
83
|
|
|
38
84
|
wa.onConnected((sessionId) => {
|
|
39
|
-
console.log('
|
|
85
|
+
console.log('Connected:', sessionId)
|
|
40
86
|
})
|
|
41
87
|
|
|
42
88
|
wa.onMessageReceived(async (msg) => {
|
|
43
|
-
const sessionId = msg.sessionId
|
|
44
89
|
const jid = msg.key?.remoteJid
|
|
45
90
|
const text = msg.message?.conversation || msg.message?.extendedTextMessage?.text || ''
|
|
46
91
|
|
|
47
92
|
if (jid && text.toLowerCase() === 'ping') {
|
|
48
|
-
await wa.sendMessage(sessionId, jid, { text: 'pong' })
|
|
93
|
+
await wa.sendMessage(msg.sessionId, jid, { text: 'pong' })
|
|
49
94
|
}
|
|
50
95
|
})
|
|
51
96
|
|
|
52
97
|
wa.startSession('main', { printQR: true }).catch(console.error)
|
|
53
98
|
```
|
|
54
99
|
|
|
55
|
-
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Session-Logik
|
|
103
|
+
|
|
104
|
+
### Starten
|
|
105
|
+
|
|
106
|
+
- `startSession(sessionId, { printQR })`
|
|
107
|
+
- `startSessionWithPairingCode(sessionId, { phoneNumber }, pairingCode?)`
|
|
108
|
+
|
|
109
|
+
### Verwalten
|
|
110
|
+
|
|
111
|
+
- `getSession(sessionId)`
|
|
112
|
+
- `getAllSession()`
|
|
113
|
+
- `deleteSession(sessionId)`
|
|
114
|
+
- `loadSessionsFromStorage()`
|
|
115
|
+
|
|
116
|
+
### Laufzeitverhalten
|
|
117
|
+
|
|
118
|
+
- Credentials-Verzeichnisse: `wa_credentials/<session>_credentials`
|
|
119
|
+
- Auto-Reconnect bis zu 10 Versuche (außer bei `loggedOut`)
|
|
120
|
+
- npm-Update-Check fuer `@neelegirl/wa-api` einmal pro Prozess
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Messaging
|
|
125
|
+
|
|
126
|
+
### API
|
|
127
|
+
|
|
128
|
+
- `sendMessage(sessionId, jidOrPhone, content, options?)`
|
|
129
|
+
- `sendStatusMentions(sessionId, content, options?)`
|
|
130
|
+
- `relayMessage(sessionId, jidOrPhone, content, options?)`
|
|
131
|
+
|
|
132
|
+
### Beispiele
|
|
133
|
+
|
|
134
|
+
```js
|
|
135
|
+
// Text
|
|
136
|
+
await wa.sendMessage('main', '491234567890', { text: 'Hallo' })
|
|
137
|
+
|
|
138
|
+
// Bild
|
|
139
|
+
await wa.sendMessage('main', '491234567890@s.whatsapp.net', {
|
|
140
|
+
image: { url: './image.jpg' },
|
|
141
|
+
caption: 'Bild-Text'
|
|
142
|
+
})
|
|
143
|
+
|
|
144
|
+
// Antwort mit Quote
|
|
145
|
+
await wa.sendMessage('main', '491234567890@s.whatsapp.net', {
|
|
146
|
+
text: 'Antwort'
|
|
147
|
+
}, {
|
|
148
|
+
quoted: originalMessage
|
|
149
|
+
})
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Hinweis: Eingehende Nachrichten erhalten Helper wie `saveImage`, `saveVideo`, `saveDocument`.
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Event-System
|
|
157
|
+
|
|
158
|
+
- `onMessageReceived(listener)`
|
|
159
|
+
- `onMessageUpdate(listener)`
|
|
160
|
+
- `onQRUpdated(listener)`
|
|
161
|
+
- `onConnected(listener)`
|
|
162
|
+
- `onConnecting(listener)`
|
|
163
|
+
- `onDisconnected(listener)`
|
|
164
|
+
- `onPairingCode(listener)`
|
|
165
|
+
|
|
166
|
+
Beispiel:
|
|
167
|
+
|
|
168
|
+
```js
|
|
169
|
+
wa.onMessageUpdate((sessionId, data) => {
|
|
170
|
+
console.log('Update in', sessionId, data.messageStatus)
|
|
171
|
+
})
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Aenderungen & Hinweise
|
|
177
|
+
|
|
178
|
+
Diese README uebernimmt die Erklaerungslogik aus den zwei Desktop-Quellen und bereinigt dabei veraltete oder widerspruechliche Punkte.
|
|
179
|
+
|
|
180
|
+
Bewusst uebernommen:
|
|
181
|
+
|
|
182
|
+
- Multi-Session-Nutzungslogik
|
|
183
|
+
- Event- und Messaging-Erklaerungen
|
|
184
|
+
- technische Hinweise zu Stability/Update/Session-Speicherung
|
|
185
|
+
|
|
186
|
+
Bewusst nicht 1:1 uebernommen:
|
|
187
|
+
|
|
188
|
+
- veraltete Versionsangaben und alte Badge-Werte
|
|
189
|
+
- Aussagen zu Features, die im lokalen Paket nicht eindeutig vorhanden sind
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## libsignal Bezug
|
|
194
|
+
|
|
195
|
+
wa-api nutzt libsignal nicht direkt als API, aber indirekt ueber `@neelegirl/baileys`. Der Krypto-/Session-Unterbau (Identity, PreKeys, SessionCipher) kommt damit aus `@neelegirl/libsignal`.
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Word2Web Hinweise
|
|
200
|
+
|
|
201
|
+
Kein dediziertes Word2Web-Modul im Paket. Word2Web-spezifische Hinweise sollten nur dokumentiert werden, wenn deine Host-App die entsprechende Logik bereitstellt.
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Changelog
|
|
56
206
|
|
|
57
|
-
|
|
58
|
-
- `startSession(sessionId, options)`
|
|
59
|
-
- `startSessionWithPairingCode(sessionId, { phoneNumber }, pairingCode?)`
|
|
60
|
-
- `deleteSession(sessionId)`
|
|
61
|
-
- `getSession(sessionId)`
|
|
62
|
-
- `getAllSession()`
|
|
63
|
-
- `loadSessionsFromStorage()`
|
|
207
|
+
### 1.6.5
|
|
64
208
|
|
|
65
|
-
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
- `relayMessage(sessionId, jidOrPhone, content, options?)`
|
|
209
|
+
- README inhaltlich aus den Quell-READMEs zusammengefuehrt und technisch bereinigt
|
|
210
|
+
- Session-/Messaging-/Event-Doku auf echte `dist`-Exports abgestimmt
|
|
211
|
+
- Abhaengigkeit und Peer-Range auf `@neelegirl/baileys ^2.1.5` aktualisiert
|
|
69
212
|
|
|
70
|
-
|
|
71
|
-
- `onMessageReceived(listener)`
|
|
72
|
-
- `onMessageUpdate(listener)`
|
|
73
|
-
- `onQRUpdated(listener)`
|
|
74
|
-
- `onConnected(listener)`
|
|
75
|
-
- `onConnecting(listener)`
|
|
76
|
-
- `onDisconnected(listener)`
|
|
77
|
-
- `onPairingCode(listener)`
|
|
213
|
+
### 1.6.4
|
|
78
214
|
|
|
79
|
-
|
|
215
|
+
- Style-/Layout-Refresh der Dokumentation
|
|
216
|
+
- API- und Paketmetadaten konsistent gemacht
|
|
80
217
|
|
|
81
|
-
|
|
82
|
-
- The package performs a lightweight npm update check once per process start.
|
|
83
|
-
- No dedicated Word2Web module is shipped in this package.
|
|
218
|
+
---
|
|
84
219
|
|
|
85
220
|
## Legal
|
|
86
221
|
|
|
87
|
-
|
|
88
|
-
Use responsibly and comply with applicable laws and platform terms.
|
|
222
|
+
Dieses Projekt ist nicht mit WhatsApp verbunden. Nutzung nur in Uebereinstimmung mit geltendem Recht und Plattformregeln.
|