@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.
@@ -16,7 +16,7 @@ const sessions = new Map();
16
16
  const callback = new Map();
17
17
  const retryCount = new Map();
18
18
 
19
- let CURRENT_WA_API_VERSION = "1.5.1";
19
+ let CURRENT_WA_API_VERSION = "1.6.5";
20
20
  let waApiUpdateCheckDone = false;
21
21
 
22
22
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neelegirl/wa-api",
3
- "version": "1.6.3",
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.0",
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
- "wa-api"
40
+ "automation",
41
+ "neelegirl"
40
42
  ],
41
43
  "peerDependencies": {
42
- "@neelegirl/baileys": "^2.1.0"
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
- # @neelegirl/wa-api
1
+ <div align="center">
2
2
 
3
- ![Neelegirl wa-api](https://files.catbox.moe/6np1ii.JPG)
3
+ # @neelegirl/wa-api
4
4
 
5
- High-level multi-session API wrapper for WhatsApp automation, built on `@neelegirl/baileys`.
5
+ ### High-level multi-session WhatsApp API on top of @neelegirl/baileys
6
6
 
7
- ## Status
7
+ [![Version](https://img.shields.io/badge/Version-1.6.5-ff69b4?style=for-the-badge)](https://www.npmjs.com/package/@neelegirl/wa-api)
8
+ [![Core](https://img.shields.io/badge/Core-@neelegirl%2Fbaileys%202.1.5-9b59b6?style=for-the-badge)](https://www.npmjs.com/package/@neelegirl/baileys)
9
+ [![Node](https://img.shields.io/badge/Node-20%2B-2ea043?style=for-the-badge&logo=node.js)](https://nodejs.org)
10
+ [![License](https://img.shields.io/badge/License-MIT-f97316?style=for-the-badge)](LICENSE)
8
11
 
9
- - Package version: `1.6.0`
10
- - Runtime: Node.js `>=20`
11
- - Core dependency: `@neelegirl/baileys` `^2.1.0`
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
- ## Features
16
+ | Paket | Version | Abhaengigkeit |
17
+ |---|---:|---|
18
+ | `@neelegirl/wa-api` | `1.6.5` | `@neelegirl/baileys ^2.1.5` |
14
19
 
15
- - Multi-session start/stop with filesystem credentials
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
- ## Install
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
- ## Quick Start
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 session:', sessionId)
80
+ console.log('QR for', sessionId)
35
81
  console.log(qr)
36
82
  })
37
83
 
38
84
  wa.onConnected((sessionId) => {
39
- console.log('connected:', sessionId)
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
- ## API Surface
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
- - Session lifecycle
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
- - Messaging
66
- - `sendMessage(sessionId, jidOrPhone, content, options?)`
67
- - `sendStatusMentions(sessionId, content, options?)`
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
- - Events
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
- ## Operational Notes
215
+ - Style-/Layout-Refresh der Dokumentation
216
+ - API- und Paketmetadaten konsistent gemacht
80
217
 
81
- - Credentials are stored under `wa_credentials/<session>_credentials`.
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
- This project is not affiliated with WhatsApp.
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.