Save your Baileys session in Redis DB using this powerful and efficient package!
- 🚀 Fast and efficient storage of Baileys sessions
- 🔒 Secure data management with Redis
- 🔄 Easy integration with existing Baileys projects
- 📦 TypeScript support
- 🛠 Simple API for session management
npm install redis-baileys
or
yarn add redis-baileys
import { useRedisAuthState } from 'redis-baileys';
import { Boom } from '@hapi/boom';
import makeWASocket, { DisconnectReason } from '@whiskeysockets/baileys';
async function connectToWhatsApp() {
const redisConfig = {
password: 'your_redis_password',
host: 'your_redis_host',
port: 6379,
};
const { state, saveCreds } = await useRedisAuthState(redisConfig, 'your_session_id');
const sock = makeWASocket({
auth: state,
printQRInTerminal: true,
});
sock.ev.on('connection.update', (update) => {
const { connection, lastDisconnect } = update;
if (connection === 'close') {
const shouldReconnect = (lastDisconnect?.error as Boom)?.output?.statusCode !== DisconnectReason.loggedOut;
console.log('connection closed due to ', lastDisconnect?.error, ', reconnecting ', shouldReconnect);
if (shouldReconnect) {
connectToWhatsApp();
}
} else if (connection === 'open') {
console.log('opened connection');
}
});
sock.ev.on('creds.update', saveCreds);
}
connectToWhatsApp();
const { useRedisAuthState } = require('redis-baileys');
const { Boom } = require('@hapi/boom');
const makeWASocket = require('@whiskeysockets/baileys').default;
async function connectToWhatsApp() {
const redisConfig = {
password: 'your_redis_password',
host: 'your_redis_host',
port: 6379,
};
const { state, saveCreds } = await useRedisAuthState(redisConfig, 'your_session_id');
const sock = makeWASocket({
auth: state,
printQRInTerminal: true,
});
sock.ev.on('connection.update', (update) => {
const { connection, lastDisconnect } = update;
if (connection === 'close') {
const shouldReconnect = (lastDisconnect?.error instanceof Boom) && lastDisconnect.error.output.statusCode !== DisconnectReason.loggedOut;
console.log('connection closed due to ', lastDisconnect?.error, ', reconnecting ', shouldReconnect);
if (shouldReconnect) {
connectToWhatsApp();
}
} else if (connection === 'open') {
console.log('opened connection');
}
});
sock.ev.on('creds.update', saveCreds);
}
connectToWhatsApp();
Creates and manages the authentication state using Redis.
-
redisConfig
: An object containing Redis connection details (password, host, port). -
sessionId
: A unique identifier for the session.
Returns an object with:
-
state
: The current authentication state. -
saveCreds
: A function to save credentials. -
deleteSession
: A function to delete the current session.
For more detailed documentation, please visit our Wiki.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
- Baileys - The awesome WhatsApp Web API library
- Redis - The open-source, in-memory data store used by millions of developers
Made with ❤️ by HacxK