1.2.7 • Published 5 months ago

@neelegirl/wa-api v1.2.7

Weekly downloads
-
License
ISC
Repository
github
Last release
5 months ago

💌 @neelegirl/wa-api → onimai

Elegante & einfache WhatsApp-Bibliothek zur Verwaltung mehrerer Sessions – mit universeller sendMessage-Funktion und direkter relayMessage-Unterstützung für Profis.


📚 Inhaltsverzeichnis

  1. 📦 Installation
  2. 🔌 Import & Setup
  3. 📲 Session Management
  4. 💬 Nachrichten senden (sendMessage)
  5. 🔧 Spezialfunktionen (relayMessage)
  6. 🎧 Listener
  7. 🚨 Fehlerbehandlung

📦 Installation

npm install @neelegirl/wa-api@latest

🔌 Import & Setup

// CommonJS
const onimai = require('@neelegirl/wa-api');

// ES Module
import * as onimai from '@neelegirl/wa-api';

📲 Session Management

await onimai.startSession('session1');
await onimai.startSessionWithPairingCode('session2', {
  phoneNumber: '491234567890'
});
const all = onimai.getAllSession();
const one = onimai.getSession('session1');
const loaded = await onimai.loadSessionsFromStorage();

💬 Nachrichten senden (sendMessage)

await onimai1.sendMessage(sessionId, jidOrPhone, content, options);

✨ Beispieltypen

📨 Typ📘 Beschreibung🧾 Inhalt Beispiel
TextEinfache Nachricht{ text: 'Hallo!' }
BildBild mit Caption{ image: { url: './img.png' }, caption: 'Hey' }
VideoVideo mit Caption{ video: { url: './vid.mp4' }, caption: 'Video' }
GIFLoop-Video{ video: { url: './gif.mp4' }, gifPlayback: true }
AudioVoice Note (OGG/Opus){ audio: fs.createReadStream('voice.ogg'), mimetype: 'audio/ogg', ptt: true }
DokumentPDF o.ä. senden{ document: { url: './doc.pdf', filename: 'Beispiel.pdf' } }
UmfragePoll-Optionen{ pollCreationMessage: { name: 'Frage?', options: [...], selectableCount: 1 } }
ReaktionEmoji antworten{ react: { text: '❤️', key: msg.key } }
LöschenNachricht zurückziehen{ delete: msg.key }
PinNachricht anpinnen{ pin: { type: 1, time: 3600, key: msg.key } }
KontaktvCard teilen{ contacts: { displayName: 'Max', contacts: [{ vcard }] } }
StandortStandort senden{ location: { degreesLatitude: 52.52, degreesLongitude: 13.405 } }
WeiterleitenNachricht weitergeben{ forward: origMsg }
StatusStory posten{ video: { url: 'story.mp4' }, caption: 'Mein Status' }

🔧 Spezialfunktionen (relayMessage)

Nachricht löschen (Revoke)

await onimai1.relayMessage(sessionId, chatJid, {
  protocolMessage: {
    key: { remoteJid: chatJid, fromMe: true, id: targetId },
    type: 7
  }
}, { messageId: targetId });

Ephemeral-Modus (24h ein/aus)

await onimai1.relayMessage(sessionId, groupJid, {
  disappearingMessagesInChat: onimai.Defaults.WA_DEFAULT_EPHEMERAL
}, {});

await onimai.relayMessage(sessionId, groupJid, {
  disappearingMessagesInChat: 0
}, {});

Status posten (Story)

await onimai1.relayMessage(sessionId, 'status@broadcast', {
  videoMessage: { url: './story.mp4' },
  caption: 'Meine Story'
}, {
  statusJidList: ['491234567890@s.whatsapp.net']
});

Weiterleiten

await onimai1.relayMessage(sessionId, chatJid, {
  forward: origMsg
}, { messageId: origMsg.key.id });

Profilbild ändern

await onimai1.relayMessage(sessionId, userJid, {
  profilePictureChange: {
    displayPicture: fs.readFileSync('./newprofile.jpg')
  }
}, { messageId: 'updateProfile' });

Chat als gelesen markieren

await onimai1.relayMessage(sessionId, chatJid, {
  protocolMessage: {
    key: { remoteJid: chatJid },
    type: 3
  }
}, { messageId: 'markRead' });

Eigene Nachrichten-ID festlegen

await onimai1.relayMessage(
  msg.sessionId,
  msg.key.remoteJid,
  { conversation: 'Custom Message ID' },
  { messageId: `onimai${Date.now()}` }
);

🎧 Listener

onimai.onConnected(id => console.log('✅ Online:', id));
onimai.onQRUpdated(info => console.log('📲 QR-Code:', info));
onimai.onMessageReceived(msg => console.log('📥 Nachricht:', msg));

🚨 Fehlerbehandlung

try {
  await onimai1.sendMessage(...);
} catch (e) {
  console.error('⚠️ Fehler:', e);
}

👩‍💻 Autorin & Support

© 2026 @neelegirl/wa-api
💌 Support: neelehoven@gmail.com

1.2.7

5 months ago

1.2.6

5 months ago

1.2.5

6 months ago

1.2.4

6 months ago

1.2.3

6 months ago

1.2.2

6 months ago

1.2.1

6 months ago