@neelegirly/baileys
v2.2.29
Published
Neelegirly fork of Baileys: multi-device WhatsApp Web API for Node.js
Downloads
514
Maintainers
Readme
🌸 @neelegirly/baileys 🌸
Die WhatsApp-Web-API mit sauberem Neelegirly-Glow-up
QR Branding · Self-Healing WA-Web-Version · Wrapper-Aware Update Notify · LID · Smart Queue
Installation · Quickstart · Was ist dieser Fork? · Versionsschema · Message-ID · Release Notes
🌷 Was ist dieser Fork?
@neelegirly/baileys ist ein gepflegter Fork von Baileys (multi-device WhatsApp-Web-API für Node.js). Er bleibt nah am Upstream, ergänzt aber ein paar fokussierte Neelegirly-Eigenheiten:
- 💖 Eigene Message-ID-Generierung (iOS-Style mit
NEELE-Signatur) – siehe unten. - 🌐 Self-Healing WA-Web-Version – die Verbindung zieht sich die aktuelle WhatsApp-Web-Version automatisch, damit der QR-/Pairing-Login nicht durch veraltete Versionsangaben mit
statusCode 405abbricht. - 📷 QR Branding – Header/Footer + Versionskontext direkt im QR-Flow.
- 🔔 Wrapper-Aware Update Notify – Statuszeilen für Baileys und den optionalen
@neelegirly/wa-api-Wrapper. - 🎀 Sauberer
@neelegirly/*-Scope mit gepinntem Begleit-Ökosystem.
Hinweis: Dieses Projekt ist nicht offiziell mit WhatsApp, Meta oder dem Baileys-Upstream verbunden.
🧱 Architektur
@neelegirly/libsignal ← Signal-Protokoll-Krypto
↓
@neelegirly/baileys ← dieser Fork · Socket, Events, Messaging
↓
@neelegirly/wa-api ← Multi-Session-Wrapper (Lifecycle, QR, Update Notify)
↓
App (PM2 managed)
↓
@neelegirly/downloader ← optionale Media-UtilityPM2-Regel:
@neelegirly/wa-apiverwaltet Sessions intern. PM2 startet nur die App, nicht einen Prozess pro Session.
🔢 Versionsschema
Wichtig zu verstehen — hier laufen zwei voneinander unabhängige Versionsnummern:
| Nummer | Beispiel | Bedeutung |
| --- | --- | --- |
| Fork-Version | 2.2.26 | Die npm-Version dieses Pakets. Eigenes semver-Schema von Neelegirly – nicht identisch mit der Upstream-Baileys-Versionsnummer. |
| WhatsApp-Web-Baseline | 2.3000.1035194821 | Die Client-Version, die im Handshake an WhatsApp gemeldet wird. Wird zur Laufzeit aktuell gehalten (self-healing). |
Die Fork-Version 2.2.x ist also reines Paket-Versioning. Welche WhatsApp-Web-Version tatsächlich verbunden wird, zeigt der Boot-Banner und fetchLatestBaileysVersion().
💖 Message-ID-Anpassung (NEELE)
Dieser Fork erzeugt Message-IDs in einem iOS-Style-Format mit eingebetteter NEELE-Signatur (z. B. 3A…NEELE…, 20 Zeichen). Das ist eine bewusste, dauerhafte Anpassung – generateMessageID und generateMessageIDV2 werden niemals durch die Upstream-Variante überschrieben.
const { generateMessageID } = require('@neelegirly/baileys')
generateMessageID() // → z. B. "3AC18D8ANEELE3B14420"Beim Abgleich mit dem Upstream bleibt diese Logik 1:1 erhalten.
🚀 Installation
npm install @neelegirly/[email protected] @neelegirly/[email protected] --save-exactyarn add @neelegirly/[email protected] @neelegirly/[email protected] --exactFür den kompletten Stack passt dazu
@neelegirly/[email protected].
Update eines bestehenden Setups
npm install @neelegirly/baileys@latest @neelegirly/wa-api@latest --save-exactNach dem Update genügt ein App-Neustart. Der QR-/Pairing-Login zieht sich die aktuelle WhatsApp-Web-Version automatisch.
⚡ Quickstart
import makeWASocket, {
useMultiFileAuthState,
fetchLatestBaileysVersion,
DisconnectReason,
Browsers
} from '@neelegirly/baileys'
async function start() {
const { state, saveCreds } = await useMultiFileAuthState('./auth')
const { version } = await fetchLatestBaileysVersion() // self-healing WA-Web-Version
const sock = makeWASocket({
auth: state,
version,
browser: Browsers.ubuntu('Chrome'),
printQRInTerminal: true
})
sock.ev.on('creds.update', saveCreds)
sock.ev.on('connection.update', ({ connection, lastDisconnect }) => {
if (connection === 'open') return console.log('Verbunden 💖')
if (connection === 'close') {
const statusCode = lastDisconnect?.error?.output?.statusCode
if (statusCode !== DisconnectReason.loggedOut) start().catch(console.error)
}
})
}
start().catch(console.error)
fetchLatestBaileysVersion()ist die empfohlene Quelle fürversion: Sie liefert die aktuell gültige WhatsApp-Web-Version und fällt bei Netzwerkfehlern auf die gebündelte Baseline zurück.
🧩 Companion Stack
| Paket | Version | Rolle |
|------|---------|-------|
| @neelegirly/baileys | 2.2.26 | Socket, Events, Messaging |
| @neelegirly/libsignal | 1.0.32 | Signal-Protokoll-Komponente |
| @neelegirly/wa-api | 1.8.10 | Lifecycle-, Session- und Update-Wrapper |
🩷 QR Branding & Update Status
Beim QR-Scan werden Markenzeilen ober- und unterhalb des QR-Codes ausgegeben. Versionen werden dynamisch aus package.json gelesen, Update-Status robust verarbeitet und optionaler Wrapper-Kontext aus @neelegirly/wa-api dargestellt. Der Boot-Banner zeigt zusätzlich die aktive WhatsApp-Web-Baseline.
🌐 Namespace-Migration
- import makeWASocket from '@whiskeysockets/baileys'
+ import makeWASocket from '@neelegirly/baileys'📝 Release Notes 2.2.26
- 🛠️ QR-/Pairing-Login repariert. Die veraltete, hartcodierte WhatsApp-Web-Version führte zu
statusCode 405("Multi-device mismatch") und verhinderte jeden QR-Scan. Baseline auf2.3000.1035194821aktualisiert. - 🌐 Self-Healing WA-Web-Version.
fetchLatestBaileysVersion()bezieht die Versionsangabe jetzt aus einer gepflegten, immer aktuellen Quelle statt aus einer toten URL (die zuvor mit404ins Leere lief und still eine veraltete Version pinnte). Künftige WhatsApp-Versions-Bumps heilen sich damit selbst. - 🧷 Message-ID-Logik unverändert. Die
NEELE-Signatur ingenerateMessageID/generateMessageIDV2bleibt exakt erhalten. - 🪧 Modernisierter Boot-Banner. Zusätzliche, ehrliche Zeile mit der aktiven WhatsApp-Web-Baseline.
- 🔗 Companion-Stack auf
2.2.26 / 1.8.10 / 1.0.32aktualisiert.
