@deathnaitsa/wa-api 1.0.45 → 2.0.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 +348 -0
- package/dist/WhatsAppClient.js +1 -0
- package/dist/index.js +1 -21
- package/package.json +9 -32
- package/socket.js +424 -0
- package/LICENSE +0 -2
- package/dist/Defaults/index.d.ts +0 -18
- package/dist/Defaults/index.d.ts.map +0 -1
- package/dist/Defaults/index.js +0 -28
- package/dist/Error/index.d.ts +0 -5
- package/dist/Error/index.d.ts.map +0 -1
- package/dist/Error/index.js +0 -14
- package/dist/Messaging/index.d.ts +0 -44
- package/dist/Messaging/index.d.ts.map +0 -1
- package/dist/Messaging/index.js +0 -121
- package/dist/Socket/Socket.d.ts +0 -21
- package/dist/Socket/Socket.d.ts.map +0 -1
- package/dist/Socket/Socket.interface.d.ts +0 -4
- package/dist/Socket/Socket.interface.d.ts.map +0 -1
- package/dist/Socket/Socket.interface.js +0 -2
- package/dist/Socket/Socket.js +0 -31
- package/dist/Socket/index.d.ts +0 -22
- package/dist/Socket/index.d.ts.map +0 -1
- package/dist/Socket/index.js +0 -375
- package/dist/Types/WhatsappOptions.d.ts +0 -3
- package/dist/Types/WhatsappOptions.d.ts.map +0 -1
- package/dist/Types/WhatsappOptions.js +0 -2
- package/dist/Types/index.d.ts +0 -51
- package/dist/Types/index.d.ts.map +0 -1
- package/dist/Types/index.js +0 -2
- package/dist/Utils/create-delay.d.ts +0 -2
- package/dist/Utils/create-delay.d.ts.map +0 -1
- package/dist/Utils/create-delay.js +0 -18
- package/dist/Utils/error.d.ts +0 -4
- package/dist/Utils/error.d.ts.map +0 -1
- package/dist/Utils/error.js +0 -8
- package/dist/Utils/index.d.ts +0 -5
- package/dist/Utils/index.d.ts.map +0 -1
- package/dist/Utils/index.js +0 -21
- package/dist/Utils/is-exist.d.ts +0 -3
- package/dist/Utils/is-exist.d.ts.map +0 -1
- package/dist/Utils/is-exist.js +0 -38
- package/dist/Utils/message-status.d.ts +0 -4
- package/dist/Utils/message-status.d.ts.map +0 -1
- package/dist/Utils/message-status.js +0 -18
- package/dist/Utils/phone-to-jid.d.ts +0 -5
- package/dist/Utils/phone-to-jid.d.ts.map +0 -1
- package/dist/Utils/phone-to-jid.js +0 -30
- package/dist/Utils/save-media.d.ts +0 -5
- package/dist/Utils/save-media.d.ts.map +0 -1
- package/dist/Utils/save-media.js +0 -47
- package/dist/Utils/set-credentials-dir.d.ts +0 -2
- package/dist/Utils/set-credentials-dir.d.ts.map +0 -1
- package/dist/Utils/set-credentials-dir.js +0 -8
- package/dist/Utils/set-credentials.d.ts +0 -2
- package/dist/Utils/set-credentials.d.ts.map +0 -1
- package/dist/Utils/set-credentials.js +0 -8
- package/dist/index.d.ts +0 -6
- package/dist/index.d.ts.map +0 -1
- package/dist/whatsapp/index.d.ts +0 -15
- package/dist/whatsapp/index.d.ts.map +0 -1
- package/dist/whatsapp/index.js +0 -206
- package/readme.md +0 -223
package/readme.md
DELETED
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
# wa-api
|
|
2
|
-
|
|
3
|
-
Leichte Bibliothek zur Verwaltung mehrerer WhatsApp-Sessions – mit **einer** universellen `sendMessage`-Funktion und direkter `relayMessage`-Unterstützung für alle fortgeschrittenen Szenarien.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## 📑 Inhaltsverzeichnis
|
|
8
|
-
|
|
9
|
-
1. [Installation](#-installation)
|
|
10
|
-
2. [Import & Setup](#-import--setup)
|
|
11
|
-
3. [Session Management](#-session-management)
|
|
12
|
-
4. [Nachrichten senden via `sendMessage`](#-nachrichten-senden-via-sendmessage)
|
|
13
|
-
5. [Low-level `relayMessage` Beispiele](#low-level-relaymessage-beispiele)
|
|
14
|
-
|
|
15
|
-
* [ProtocolMessage: Nachricht löschen (Revoke)](#protocolmessage-nachricht-löschen-revoke)
|
|
16
|
-
* [Ephemeral-Modus (Gruppen)](#ephemeral-modus-gruppen)
|
|
17
|
-
* [Status-Update (Story)](#status-update-story)
|
|
18
|
-
* [Weiterleiten (Forward)](#weiterleiten-forward)
|
|
19
|
-
* [Profilbild aktualisieren](#profilbild-aktualisieren)
|
|
20
|
-
* [Chat als gelesen markieren](#chat-als-gelesen-markieren)
|
|
21
|
-
* [Nachrichten id Bearbeiten](#Nachrichten-Id-selbst-Festlegen)
|
|
22
|
-
6. [Listener](#-listener)
|
|
23
|
-
7. [Fehlerbehandlung](#-fehlerbehandlung)
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## 📦 Installation
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
npm install @deathnaitsa/wa-api@latest
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## 🔌 Import & Setup
|
|
34
|
-
|
|
35
|
-
```js
|
|
36
|
-
// CommonJS
|
|
37
|
-
const wa = require('@deathnaitsa/wa-api');
|
|
38
|
-
|
|
39
|
-
// ES Module
|
|
40
|
-
import * as wa from '@deathnaitsa/wa-api';
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
## 🚀 Session Management
|
|
44
|
-
|
|
45
|
-
```js
|
|
46
|
-
await wa.startSession('session1');
|
|
47
|
-
await wa.startSessionWithPairingCode('session2', { phoneNumber: '491234567890' });
|
|
48
|
-
const all = wa.getAllSession();
|
|
49
|
-
const one = wa.getSession('session1');
|
|
50
|
-
const loaded = await wa.loadSessionsFromStorage();
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## 💬 Nachrichten senden via `sendMessage`
|
|
54
|
-
|
|
55
|
-
Eine **zentrale** Funktion für **alle** Nachrichtentypen:
|
|
56
|
-
|
|
57
|
-
```js
|
|
58
|
-
await wa.sendMessage(
|
|
59
|
-
sessionId, // Session-ID
|
|
60
|
-
jidOrPhone, // JID oder Telefonnummer
|
|
61
|
-
content, // AnyMessageContent
|
|
62
|
-
options // MiscMessageGenerationOptions
|
|
63
|
-
);
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### Beispiele
|
|
67
|
-
|
|
68
|
-
| Typ | Kurzbeschreibung | content | options |
|
|
69
|
-
| -------------- | -------------------------- | -------------------------------------------------------------------------------------------- | ----------------------------- |
|
|
70
|
-
| Text | Normale Textnachricht | `{ text: 'Hallo Welt!' }` | `{ quoted, mentions }` |
|
|
71
|
-
| Bild | Sende Bild | `{ image:{url:'./img.png'},caption:'Bild',viewOnce:true }` | `{ quoted }` |
|
|
72
|
-
| Video | Sende Video | `{ video:{url:'./vid.mp4'},caption:'Video' }` | `{ }` |
|
|
73
|
-
| GIF | Sende GIF (MP4 + Playback) | `{ video:{url:'./gif.mp4'},gifPlayback:true }` | `{ }` |
|
|
74
|
-
| Audio | Voice Note (OGG/Opus) | `{ audio: fs.createReadStream('test.ogg'),mimetype:'audio/ogg',ptt:true }` | `{ quoted }` |
|
|
75
|
-
| Dokument | Datei | `{ document:{url:'./doc.pdf',filename:'Doc.pdf'} }` | `{ }` |
|
|
76
|
-
| Poll | Umfrage | `{ pollCreationMessage:{name:'Umfrage',options:[{name:'A'},{name:'B'}],selectableCount:1} }` | `{ quoted }` |
|
|
77
|
-
| React | Emoji-Reaktion | `{ react:{text:'👍',key:msg.key} }` | `{ quoted }` |
|
|
78
|
-
| Delete | Löschen (Revoke) | `{ delete: msg.key }` | `{ }` |
|
|
79
|
-
| Pin | Pin/Unpin | `{ pin:{type:1,time:3600,key:msg.key} }` | `{ }` |
|
|
80
|
-
| Contacts | Kontaktkarte | `{ contacts:{displayName:'Max',contacts:[{vcard}] } }` | `{ }` |
|
|
81
|
-
| Location | Standort | `{ location:{degreesLatitude:52.52,degreesLongitude:13.405} }` | `{ }` |
|
|
82
|
-
| Forward | Weiterleiten | `{ forward: origMsg }` | `{ quoted }` |
|
|
83
|
-
| Status (Story) | Status-Update | `{ video:{url:'story.mp4'},caption:'Status' }` | `{ statusJidList:[...JIDs] }` |
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
## 🔄 Low-level `relayMessage` Beispiele
|
|
88
|
-
|
|
89
|
-
Direktes Senden von WAMessage-Stanzas für Spezialfälle.
|
|
90
|
-
|
|
91
|
-
### ProtocolMessage: Nachricht löschen (Revoke)
|
|
92
|
-
|
|
93
|
-
```js
|
|
94
|
-
const deleteNode = {
|
|
95
|
-
protocolMessage: {
|
|
96
|
-
key: { remoteJid: chatJid, fromMe: true, id: targetId },
|
|
97
|
-
type: 7 // MESSAGE_REVOKE
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
await wa.relayMessage(
|
|
101
|
-
sessionId,
|
|
102
|
-
chatJid,
|
|
103
|
-
deleteNode,
|
|
104
|
-
{ messageId: targetId }
|
|
105
|
-
);
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
### Ephemeral-Modus (Gruppen)
|
|
109
|
-
|
|
110
|
-
```js
|
|
111
|
-
// 24h Ephemeral ein
|
|
112
|
-
await wa.relayMessage(
|
|
113
|
-
sessionId,
|
|
114
|
-
groupJid,
|
|
115
|
-
{ disappearingMessagesInChat: Defaults.WA_DEFAULT_EPHEMERAL },
|
|
116
|
-
{}
|
|
117
|
-
);
|
|
118
|
-
// Ephemeral aus
|
|
119
|
-
await wa.relayMessage(
|
|
120
|
-
sessionId,
|
|
121
|
-
groupJid,
|
|
122
|
-
{ disappearingMessagesInChat: 0 },
|
|
123
|
-
{}
|
|
124
|
-
);
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
### Status-Update (Story)
|
|
128
|
-
|
|
129
|
-
```js
|
|
130
|
-
const storyNode = {
|
|
131
|
-
videoMessage: { url: './story.mp4' },
|
|
132
|
-
caption: 'Meine Story'
|
|
133
|
-
};
|
|
134
|
-
await wa.relayMessage(
|
|
135
|
-
sessionId,
|
|
136
|
-
'status@broadcast',
|
|
137
|
-
storyNode,
|
|
138
|
-
{ statusJidList: ['491234567890@s.whatsapp.net'] }
|
|
139
|
-
);
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
### Weiterleiten (Forward)
|
|
143
|
-
|
|
144
|
-
```js
|
|
145
|
-
const origMsg = getMessageFromStore();
|
|
146
|
-
const forwardNode = { forward: origMsg };
|
|
147
|
-
await wa.relayMessage(
|
|
148
|
-
sessionId,
|
|
149
|
-
chatJid,
|
|
150
|
-
forwardNode,
|
|
151
|
-
{ messageId: origMsg.key.id }
|
|
152
|
-
);
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
### Profilbild aktualisieren
|
|
156
|
-
|
|
157
|
-
```js
|
|
158
|
-
const updateNode = {
|
|
159
|
-
profilePictureChange: {
|
|
160
|
-
displayPicture: fs.readFileSync('./newprofile.jpg')
|
|
161
|
-
}
|
|
162
|
-
};
|
|
163
|
-
await wa.relayMessage(
|
|
164
|
-
sessionId,
|
|
165
|
-
userJid,
|
|
166
|
-
updateNode,
|
|
167
|
-
{ messageId: 'nishiProfileUpdate' }
|
|
168
|
-
);
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
### Chat als gelesen markieren
|
|
172
|
-
|
|
173
|
-
```js
|
|
174
|
-
const readNode = {
|
|
175
|
-
protocolMessage: {
|
|
176
|
-
key: { remoteJid: chatJid },
|
|
177
|
-
type: 3 // READ
|
|
178
|
-
}
|
|
179
|
-
};
|
|
180
|
-
await wa.relayMessage(
|
|
181
|
-
sessionId,
|
|
182
|
-
chatJid,
|
|
183
|
-
readNode,
|
|
184
|
-
{ messageId: 'nishiMarkRead' }
|
|
185
|
-
);
|
|
186
|
-
```
|
|
187
|
-
### Nachrichten Id selbst Festlegen
|
|
188
|
-
|
|
189
|
-
```js
|
|
190
|
-
await wa.relayMessage(
|
|
191
|
-
msg.sessionId, // deine Session-ID
|
|
192
|
-
msg.key.remoteJid,
|
|
193
|
-
{
|
|
194
|
-
conversation: 'Dies ist eine Relay-Textnachricht'
|
|
195
|
-
},
|
|
196
|
-
{ messageId: `nishi`+ Date.now(); }
|
|
197
|
-
);
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
---
|
|
202
|
-
|
|
203
|
-
## 🎧 Listener
|
|
204
|
-
|
|
205
|
-
```js
|
|
206
|
-
wa.onConnected(id => console.log('Online:', id));
|
|
207
|
-
wa.onQRUpdated(info => console.log('QR:', info));
|
|
208
|
-
wa.onMessageReceived(msg => console.log('Nachricht:', msg));
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
## ⚠️ Fehlerbehandlung
|
|
212
|
-
|
|
213
|
-
```js
|
|
214
|
-
try {
|
|
215
|
-
await wa.sendMessage(...);
|
|
216
|
-
} catch(e) {
|
|
217
|
-
console.error(e);
|
|
218
|
-
}
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
---
|
|
222
|
-
|
|
223
|
-
© 2025 `@deathnaitsa/wa-api` • Support: [sebloidl13@gmail.com](mailto:sebloidl13@gmail.com)
|