@deathnaitsa/wa-api 1.0.44 → 2.0.0

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.
Files changed (64) hide show
  1. package/README.md +348 -0
  2. package/build.js +73 -0
  3. package/dist/WhatsAppClient.js +1 -0
  4. package/dist/index.js +1 -21
  5. package/package.json +9 -31
  6. package/socket.js +424 -0
  7. package/LICENSE +0 -2
  8. package/dist/Defaults/index.d.ts +0 -18
  9. package/dist/Defaults/index.d.ts.map +0 -1
  10. package/dist/Defaults/index.js +0 -28
  11. package/dist/Error/index.d.ts +0 -5
  12. package/dist/Error/index.d.ts.map +0 -1
  13. package/dist/Error/index.js +0 -14
  14. package/dist/Messaging/index.d.ts +0 -44
  15. package/dist/Messaging/index.d.ts.map +0 -1
  16. package/dist/Messaging/index.js +0 -121
  17. package/dist/Socket/Socket.d.ts +0 -21
  18. package/dist/Socket/Socket.d.ts.map +0 -1
  19. package/dist/Socket/Socket.interface.d.ts +0 -4
  20. package/dist/Socket/Socket.interface.d.ts.map +0 -1
  21. package/dist/Socket/Socket.interface.js +0 -2
  22. package/dist/Socket/Socket.js +0 -31
  23. package/dist/Socket/index.d.ts +0 -22
  24. package/dist/Socket/index.d.ts.map +0 -1
  25. package/dist/Socket/index.js +0 -375
  26. package/dist/Types/WhatsappOptions.d.ts +0 -3
  27. package/dist/Types/WhatsappOptions.d.ts.map +0 -1
  28. package/dist/Types/WhatsappOptions.js +0 -2
  29. package/dist/Types/index.d.ts +0 -51
  30. package/dist/Types/index.d.ts.map +0 -1
  31. package/dist/Types/index.js +0 -2
  32. package/dist/Utils/create-delay.d.ts +0 -2
  33. package/dist/Utils/create-delay.d.ts.map +0 -1
  34. package/dist/Utils/create-delay.js +0 -18
  35. package/dist/Utils/error.d.ts +0 -4
  36. package/dist/Utils/error.d.ts.map +0 -1
  37. package/dist/Utils/error.js +0 -8
  38. package/dist/Utils/index.d.ts +0 -5
  39. package/dist/Utils/index.d.ts.map +0 -1
  40. package/dist/Utils/index.js +0 -21
  41. package/dist/Utils/is-exist.d.ts +0 -3
  42. package/dist/Utils/is-exist.d.ts.map +0 -1
  43. package/dist/Utils/is-exist.js +0 -38
  44. package/dist/Utils/message-status.d.ts +0 -4
  45. package/dist/Utils/message-status.d.ts.map +0 -1
  46. package/dist/Utils/message-status.js +0 -18
  47. package/dist/Utils/phone-to-jid.d.ts +0 -5
  48. package/dist/Utils/phone-to-jid.d.ts.map +0 -1
  49. package/dist/Utils/phone-to-jid.js +0 -30
  50. package/dist/Utils/save-media.d.ts +0 -5
  51. package/dist/Utils/save-media.d.ts.map +0 -1
  52. package/dist/Utils/save-media.js +0 -47
  53. package/dist/Utils/set-credentials-dir.d.ts +0 -2
  54. package/dist/Utils/set-credentials-dir.d.ts.map +0 -1
  55. package/dist/Utils/set-credentials-dir.js +0 -8
  56. package/dist/Utils/set-credentials.d.ts +0 -2
  57. package/dist/Utils/set-credentials.d.ts.map +0 -1
  58. package/dist/Utils/set-credentials.js +0 -8
  59. package/dist/index.d.ts +0 -6
  60. package/dist/index.d.ts.map +0 -1
  61. package/dist/whatsapp/index.d.ts +0 -15
  62. package/dist/whatsapp/index.d.ts.map +0 -1
  63. package/dist/whatsapp/index.js +0 -206
  64. 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)