wwebjs-firebase-storage
Version:
A remote authentication plugin for whatsapp-web.js, using Firebase Storage to securely store WhatsApp multi-device session data.
51 lines (42 loc) • 1.78 kB
Markdown
//img.shields.io/npm/v/wwebjs-firebase-storage)


A remote authentication plugin for whatsapp-web.js, using Firebase Storage to securely store WhatsApp multi-device session data.
- [whatsapp-web.js](https://github.com/pedroslopez/whatsapp-web.js)
- [Firebase Console](https://console.firebase.google.com)
- [Cloud Storage for Firebase (Documentation)](https://firebase.google.com/docs/storage)
### Installation
```bash
npm install wwebjs-firebase-storage
```
### Example usage
```typescript
import { Client, RemoteAuth } from 'whatsapp-web.js';
import { initializeApp, getStorage, FirebaseStorageStore } from 'wwebjs-firebase-storage';
import qrcode_terminal from 'qrcode-terminal';
const app = initializeApp({
apiKey: <firebase-api-key>,
projectId: <firebase-project-id>,
storageBucket: <firebase-storage-bucket>,
});
const client = new Client({
authStrategy: new RemoteAuth({
store: new FirebaseStorageStore({
firebaseStorage: getStorage(app),
sessionPath: 'sessions-whatsapp-web.js', // save in a sub-directory
}),
backupSyncIntervalMs: 600000, // 10 minutes
}),
... // other options
});
client.on('qr', qr => {
qrcode_terminal.generate(qr, {small: true});
});
client.on('remote_session_saved', () => console.log('Remote session saved!'));
client.on('authenticated', () => console.log('Authenticated!'));
client.on('auth_failure', () => console.log('Authentication failed!'));
client.on('ready', () => console.log('Client is ready!'));
client.initialize();
```
![NPM Version](https: