@neelegirl/baileys 1.4.97 → 1.4.99

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 CHANGED
@@ -3,7 +3,7 @@
3
3
  </p>
4
4
 
5
5
  <h1 align="center">🌸 Willkommen bei <code>@neelegirl/baileys</code> 🌸</h1>
6
- <p align="center"><i>Eine charmante WhatsApp Web API für TypeScript/JavaScriptvon einer Prinzessin für alle, die Magie lieben.</i></p>
6
+ <p align="center"><i>Die zuckersüße, erweiterte und personalisierte Version von Baileys mit Glitzer, Herz und einer Prise Prinzessinnen-Magie 💖</i></p>
7
7
 
8
8
  <div align="center">
9
9
 
@@ -18,72 +18,48 @@
18
18
 
19
19
  ---
20
20
 
21
- ## Wichtige Hinweise
21
+ ## 💖 Was ist <code>@neelegirl/baileys</code>?
22
22
 
23
- Dieses Projekt ist eine zarte Eigenkreation von **@neelegirl** es steht in keiner offiziellen Verbindung zu WhatsApp.
23
+ Diese Version ist eine **modifizierte (Mod) Baileys**-Variante
24
+ perfekt für alle, die **WhatsApp-Bots in TypeScript/JavaScript** nutzen wollen,
25
+ aber es gern **hübsch, liebevoll und voll mit Extra-Features** haben. 🎀
24
26
 
25
- > ⚠️ Bitte benutze es **verantwortungsvoll**:
26
- > ✖️ Kein Spam, keine Massennachrichten
27
- > ✖️ Kein Missbrauch für unethische Zwecke
28
- > ✔️ Stattdessen: Lasst uns **respektvoll Magie verbreiten**! 🌟
27
+ Ich habe sie **mit Herz angepasst**, um:
29
28
 
30
- 💬 **Haftungshinweis:**
31
- Die Entwickler:innen übernehmen keine Verantwortung für den Gebrauch. Lies die [MIT-Lizenz](https://github.com/neelegirl/baileys/blob/main/LICENSE) für Details.
29
+ - 💌 **Extra-Funktionen** einzubauen (z. B. spezielle Sticker-Optionen, Bot-Events)
30
+ - 🌸 Alles **optisch niedlicher** zu gestalten
31
+ - 🪄 **Personalisierte Features** wie die *Message ID „Neele“* zu integrieren
32
+ - 🛠 Stabilität & Komfort zu erhöhen
32
33
 
33
34
  ---
34
35
 
35
- ## 🧚‍♀️ Warum <code>@neelegirl/baileys</code>?
36
+ ## 💌 Besondere Note – Message ID „Neele“
36
37
 
37
- **Zauberhafte Vorteile**:
38
+ Jede generierte **Message ID** ist **personalisert** und trägt den Namen
39
+ **„Neele“** – so weißt du immer, dass jede Nachricht aus *unserer kleinen Zauberwelt* kommt. ✨
38
40
 
39
- - 🧠 Ultra leichtgewichtig – keine Browser- oder Selenium-Monster nötig!
40
- - 🌈 Nutzt moderne **WebSocket-Magie** direkt!
41
- - 💖 Unterstützt WhatsApp **Multi-Device** vollständig!
41
+ **Beispiel:**
42
+ 🌟 Das ist nicht nur technisch einzigartig, sondern auch ein kleiner **Signature-Touch**.
42
43
 
43
44
  ---
44
45
 
45
- ## 🌈 Installation (Dein magisches Setup)
46
-
47
- Installiere mit Glanzstaub via **yarn**:
48
-
49
- ```bash
50
- yarn add @neelegirl/baileys
51
- ```
46
+ ## Warum diese Mod-Version statt normaler Baileys?
52
47
 
53
- Oder für die **allerneueste Zauber-Version** direkt von GitHub:
48
+ 💗 **Mädchenhafte Magie trifft auf Technik**
49
+ Diese Version vereint alle Vorteile von Baileys mit einem **weiblichen, verspielten Look** –
50
+ perfekt für Bots, die **nicht nur funktionieren**, sondern **Charakter** haben.
54
51
 
55
- ```bash
56
- yarn add github:neelegirl/baileys
57
- ```
58
-
59
- 🧙‍♀️ **Importiere** sie mit Leichtigkeit:
60
-
61
- ```ts
62
- import makeWASocket from '@neelegirl/baileys'
63
- ```
52
+ ✨ **Zusatzfunktionen**:
53
+ - 🧠 Ultra leichtgewichtig – kein Selenium, keine Browser-Hacks
54
+ - 🌈 Multi-Device-Support vollständig integriert
55
+ - 🎀 Sticker & Medien-Versand optimiert
56
+ - 🌟 Events & Methoden, die es im Original nicht gibt
57
+ - 🛡️ Bessere Fehlerbehandlung, damit dein Bot stabil läuft
64
58
 
65
59
  ---
66
60
 
67
- ## 🌸 Beispielhafte Nutzung
68
-
69
- Tauche in den Zauberwald ein – siehe [example.ts](./Example/example.ts) 🌲🦋
70
-
71
- Du kannst damit:
72
-
73
- - 💌 Nachrichten mit Emojis senden
74
- - 🖼 Profilbilder setzen
75
- - ✨ Gruppen erstellen und verzaubern
76
- - 🎀 Medien direkt als Sticker verschicken
77
-
78
- ---
79
-
80
- ## ❤️ Credits & Danksagung
81
-
82
- Mit Liebe, Glitzer und rosa Codezeilen von **@neelegirl** erschaffen.
83
- Wenn dir dieses Projekt gefällt:
84
-
85
- > ⭐ Gib ihm ein ⭐️ auf GitHub – das wär sooo süß! 🌟
86
-
87
- ---
61
+ ## 🌈 Installation (Dein magisches Setup)
88
62
 
89
- <p align="center"><i>✨ Möge dein Bot so bezaubernd sein wie ein Anime-Mädchen mit Glitzeraugen ✨</i></p>
63
+ Mit **yarn** Glitzerstaub installieren:
64
+ ```bash
65
+ yarn add @neelegirl/baileys
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neelegirl/baileys",
3
- "version": "1.4.97",
3
+ "version": "1.4.99",
4
4
  "description": "WhatsApp API",
5
5
  "keywords": [
6
6
  "whatsapp",
@@ -38,7 +38,7 @@
38
38
  "cache-manager": "4.0.1",
39
39
  "futoin-hkdf": "^1.5.1",
40
40
  "libphonenumber-js": "^1.10.20",
41
- "libsignal-baron": "^1.0.8",
41
+ "@neelegirl/libsignal": "^1.0.1",
42
42
  "music-metadata": "^7.12.3",
43
43
  "node-cache": "^5.1.2",
44
44
  "pino": "^7.0.0",
@@ -1,6 +1,6 @@
1
1
  const queue_job = require('./queue_job');
2
2
  const SenderKeyMessage = require('./sender_key_message');
3
- const crypto = require('libsignal-baron/src/crypto');
3
+ const crypto = require('@neelegirl/libsignal/src/crypto');
4
4
 
5
5
  class GroupCipher {
6
6
  constructor(senderKeyStore, senderKeyName) {
@@ -1,4 +1,4 @@
1
- const curve = require('libsignal-baron/src/curve');
1
+ const curve = require('@neelegirl/libsignal/src/curve');
2
2
  const nodeCrypto = require('crypto');
3
3
 
4
4
  exports.generateSenderKey = function() {
@@ -1,6 +1,6 @@
1
1
  const SenderMessageKey = require('./sender_message_key');
2
2
  //const HKDF = require('./hkdf');
3
- const crypto = require('libsignal-baron/src/crypto');
3
+ const crypto = require('@neelegirl/libsignal/src/crypto');
4
4
 
5
5
  class SenderChainKey {
6
6
  MESSAGE_KEY_SEED = Buffer.from([0x01]);
@@ -1,5 +1,5 @@
1
1
  const CiphertextMessage = require('./ciphertext_message');
2
- const curve = require('libsignal-baron/src/curve');
2
+ const curve = require('@neelegirl/libsignal/src/curve');
3
3
  const protobufs = require('./protobufs');
4
4
 
5
5
  class SenderKeyMessage extends CiphertextMessage {
@@ -1,4 +1,4 @@
1
- const { deriveSecrets } = require('libsignal-baron/src/crypto');
1
+ const { deriveSecrets } = require('@neelegirl/libsignal/src/crypto');
2
2
  class SenderMessageKey {
3
3
  iteration = 0;
4
4
 
@@ -27,7 +27,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
27
27
  }
28
28
  Object.defineProperty(exports, "__esModule", { value: true })
29
29
 
30
- const libsignal = __importStar(require("libsignal-baron"))
30
+ const libsignal = __importStar(require("@neelegirl/libsignal"))
31
31
  const WASignalGroup_1 = require("./WASignalGroup")
32
32
  const Utils_1 = require("../Utils")
33
33
  const WABinary_1 = require("../WABinary")
@@ -20,8 +20,8 @@ const MAX_SYNC_ATTEMPTS = 2
20
20
 
21
21
  const makeChatsSocket = (config) => {
22
22
  const { logger, markOnlineOnConnect, fireInitQueries, appStateMacVerification, shouldIgnoreJid, shouldSyncHistoryMessage, } = config
23
- const baron = usync_1.makeUSyncSocket(config)
24
- const { ev, ws, authState, generateMessageTag, sendNode, query, onUnexpectedError, groupFetchAllParticipating } = baron
23
+ const onimai = usync_1.makeUSyncSocket(config)
24
+ const { ev, ws, authState, generateMessageTag, sendNode, query, onUnexpectedError, groupFetchAllParticipating } = onimai
25
25
  let privacySettings
26
26
  let needToFlushWithAppStateSync = false
27
27
  let pendingAppStateSync = false
@@ -192,7 +192,7 @@ const makeChatsSocket = (config) => {
192
192
  id: targetJid
193
193
  })
194
194
 
195
- const result = await baron.executeUSyncQuery(usyncQuery)
195
+ const result = await onimai.executeUSyncQuery(usyncQuery)
196
196
 
197
197
  if (result) {
198
198
  return result.list
@@ -207,7 +207,7 @@ const makeChatsSocket = (config) => {
207
207
  usyncQuery.withUser(new WAUSync_1.USyncUser().withPhone(phone))
208
208
  }
209
209
 
210
- const results = await baron.executeUSyncQuery(usyncQuery)
210
+ const results = await onimai.executeUSyncQuery(usyncQuery)
211
211
 
212
212
  if (results) {
213
213
  return results.list.filter((a) => !!a.contact).map(({ contact, id, lid }) => ({ jid: id, exists: contact, lid }))
@@ -222,7 +222,7 @@ const makeChatsSocket = (config) => {
222
222
  usyncQuery.withUser(new WAUSync_1.USyncUser().withId(jid))
223
223
  }
224
224
 
225
- const result = await baron.executeUSyncQuery(usyncQuery)
225
+ const result = await onimai.executeUSyncQuery(usyncQuery)
226
226
 
227
227
  if (result) {
228
228
  return result.list
@@ -235,7 +235,7 @@ const makeChatsSocket = (config) => {
235
235
  usyncQuery.withUser(new WAUSync_1.USyncUser().withId(jid))
236
236
  }
237
237
 
238
- const result = await baron.executeUSyncQuery(usyncQuery)
238
+ const result = await onimai.executeUSyncQuery(usyncQuery)
239
239
  if (result) {
240
240
  return result.list
241
241
  }
@@ -980,7 +980,7 @@ const makeChatsSocket = (config) => {
980
980
  })
981
981
 
982
982
  return {
983
- ...baron,
983
+ ...onimai,
984
984
  star,
985
985
  addOrEditContact,
986
986
  removeContact,
@@ -29,7 +29,7 @@ const makeMessagesSocket = (config) => {
29
29
  patchMessageBeforeSending,
30
30
  cachedGroupMetadata,
31
31
  } = config;
32
- const baron = newsletter_1.makeNewsletterSocket(config);
32
+ const onimai = newsletter_1.makeNewsletterSocket(config);
33
33
  const {
34
34
  ev,
35
35
  authState,
@@ -44,7 +44,7 @@ const makeMessagesSocket = (config) => {
44
44
  groupToggleEphemeral,
45
45
  newsletterWMexQuery,
46
46
  executeUSyncQuery,
47
- } = baron;
47
+ } = onimai;
48
48
 
49
49
  const userDevicesCache =
50
50
  config.userDevicesCache ||
@@ -1114,7 +1114,7 @@ const makeMessagesSocket = (config) => {
1114
1114
  );
1115
1115
 
1116
1116
  return {
1117
- ...baron,
1117
+ ...onimai,
1118
1118
  getPrivacyTokens,
1119
1119
  assertSessions,
1120
1120
  relayMessage,
@@ -80,8 +80,8 @@ export declare const makeInMemoryStore: (config: BaileysInMemoryStoreConfig) =>
80
80
  getMessageLabels: (messageId: string) => string[]
81
81
  loadMessage: (jid: string, id: string) => Promise<proto.IWebMessageInfo | undefined>
82
82
  mostRecentMessage: (jid: string) => Promise<proto.IWebMessageInfo>
83
- fetchImageUrl: (jid: string, baron: WASocket | undefined) => Promise<string | null | undefined>
84
- fetchGroupMetadata: (jid: string, baron: WASocket | undefined) => Promise<GroupMetadata>
83
+ fetchImageUrl: (jid: string, onimai: WASocket | undefined) => Promise<string | null | undefined>
84
+ fetchGroupMetadata: (jid: string, onimai: WASocket | undefined) => Promise<GroupMetadata>
85
85
  fetchMessageReceipts: ({ remoteJid, id }: WAMessageKey) => Promise<proto.IUserReceipt[] | null | undefined>
86
86
  toJSON: () => {
87
87
  chats: KeyedDB<Chat, string>
@@ -368,19 +368,19 @@ const makeInMemoryStore = (config) => {
368
368
  const message = messages[jid]?.array.slice(-1)[0]
369
369
  return message
370
370
  },
371
- fetchImageUrl: async (jid, baron) => {
371
+ fetchImageUrl: async (jid, onimai) => {
372
372
  const contact = contacts[jid]
373
373
  if (!contact) {
374
- return baron?.profilePictureUrl(jid)
374
+ return onimai?.profilePictureUrl(jid)
375
375
  }
376
376
  if (typeof contact.imgUrl === 'undefined') {
377
- contact.imgUrl = await baron?.profilePictureUrl(jid)
377
+ contact.imgUrl = await onimai?.profilePictureUrl(jid)
378
378
  }
379
379
  return contact.imgUrl
380
380
  },
381
- fetchGroupMetadata: async (jid, baron) => {
381
+ fetchGroupMetadata: async (jid, onimai) => {
382
382
  if (!groupMetadata[jid]) {
383
- const metadata = await baron?.groupMetadata(jid)
383
+ const metadata = await onimai?.groupMetadata(jid)
384
384
  if (metadata) {
385
385
  groupMetadata[jid] = metadata
386
386
  }
@@ -29,7 +29,7 @@ var __importStar = (this && this.__importStar) || function(mod) {
29
29
  Object.defineProperty(exports, "__esModule", { value: true })
30
30
 
31
31
  const crypto_1 = require("crypto")
32
- const libsignal = __importStar(require("libsignal-baron"))
32
+ const libsignal = __importStar(require("@neelegirl/libsignal"))
33
33
  const Defaults_1 = require("../Defaults")
34
34
 
35
35
  const generateSignalPubKey = (pubKey) => (
@@ -284,22 +284,29 @@ async function promiseTimeout(ms, promise) {
284
284
  return p
285
285
  }
286
286
 
287
- const generateMessageID = (userId) => {
288
- const data = Buffer.alloc(8 + 20 + 16)
289
- data.writeBigUInt64BE(BigInt(Math.floor(Date.now() / 1000)))
290
- if (userId) {
291
- const id = WABinary_1.jidDecode(userId)
292
- if (id?.user) {
293
- data.write(id.user, 8)
294
- data.write('@c.us', 8 + id.user.length)
287
+ const generateMessageID = () => {
288
+ const targetLength = 20; // Gesamtlänge
289
+ const prefix = '3A'; // iOS-Style Prefix
290
+ const middle = 'NEELE'; // Fester Name in der ID
291
+
292
+ const fillLen = targetLength - prefix.length - middle.length;
293
+ const leftLen = Math.floor(Math.random() * (fillLen + 1));
294
+ const rightLen = fillLen - leftLen;
295
+
296
+ const randomHex = (len) => {
297
+ const hexChars = '0123456789ABCDEF';
298
+ let s = '';
299
+ for (let i = 0; i < len; i++) {
300
+ s += hexChars.charAt(Math.floor(Math.random() * hexChars.length));
295
301
  }
296
- }
297
- const random = crypto_1.randomBytes(20)
298
- random.copy(data, 28)
299
- const sha = asciiDecode([ 66, 97, 114, 111, 110 ])
300
- const hash = crypto_1.createHash('sha256').update(data).digest()
301
- return sha + hash.toString('hex').toUpperCase().substring(0, 16)
302
- }
302
+ return s;
303
+ };
304
+
305
+ const leftPart = randomHex(leftLen);
306
+ const rightPart = randomHex(rightLen);
307
+
308
+ return prefix + leftPart + middle + rightPart;
309
+ };
303
310
 
304
311
  const generateMessageIDV2 = (userId) => {
305
312
  const data = Buffer.alloc(8 + 20 + 16);