@soblend/baileys 1.0.4 - Presentación del mod
Quiero contarles sobre mi nuevo proyecto, un mod de baileys pensado para crear bots de WhatsApp más flexibles y fáciles de integrar. Muchos dirán que otro mod o el original son mejores, pero por qué no darle una oportunidad a algo nuevo que puede resultar más útil para sus casos de uso. Esta versión 1.0.4 trae mejoras en manejo de caché, reconexión y utilidades para administración de grupos.
Enlaces y referencias
Repositorio en GitHub: Click Aqui NPMJS: Clicl Aqui
Instalación
Opción 1: NPM npm install @soblend/baileys
Opción 2: Yarn yarn add @soblend/baileys
Opción 3: PNPM pnpm add @soblend/baileys
Ejemplo básico de uso
import { SoblendBaileys } from @soblend/baileys; async function main() { // Crear instancia con configuración básica const soblend = new SoblendBaileys({ printQRInTerminal: true, enableCache: true, logLevel: info }); const socket = await soblend.connect(auth_session); console.log(Conectado a WhatsApp); socket.ev.on(messages.upsert, async ({ messages }) => { const msg = messages[0]; if (!msg.message || msg.key.fromMe) return; const text = msg.message.conversation || ; const from = msg.key.remoteJid; if (text.toLowerCase() === hola) { await socket.sendMessage(from, { text: Hola }); } }); } main();
Ejemplo con base de datos y sistema de niveles
import { SoblendBaileys, SoblendStorage } from @soblend/baileys; async function main() { const storage = new SoblendStorage(./database, true, password); await storage.initialize(); const soblend = new SoblendBaileys({ printQRInTerminal: true }); const socket = await soblend.connect(session); socket.ev.on(messages.upsert, async ({ messages }) => { const msg = messages[0]; if (!msg.message || msg.key.fromMe) return; const sender = msg.key.participant || msg.key.remoteJid; let user = storage.getUser(sender); if (!user) { await storage.saveUser({ jid: sender, name: msg.pushName || Usuario, messageCount: 0, firstSeen: Date.now(), lastSeen: Date.now(), isBlocked: false, isBanned: false, level: 1, points: 0 }); user = storage.getUser(sender); } await storage.updateUser(sender, { messageCount: user.messageCount + 1, lastSeen: Date.now() }); await storage.incrementUserLevel(sender, 10); const text = msg.message.conversation || ; if (text === !level) { const updatedUser = storage.getUser(sender); await socket.sendMessage(from, { text: Tu Perfil Nivel: ${updatedUser.level} Puntos: ${updatedUser.points} Mensajes: ${updatedUser.messageCount} }); } if (text === !top) { const topUsers = await storage.getTopUsers(5); let leaderboard = Top 5 Usuarios: ; topUsers.forEach((u, i) => { leaderboard += ${i + 1}. ${u.name} Nivel ${u.level} - ${u.points} puntos ; }); await socket.sendMessage(from, { text: leaderboard }); } }); } main();
Ejemplo de administración de grupos
import { SoblendBaileys, GroupAdminManager } from @soblend/baileys; async function main() { const soblend = new SoblendBaileys({ printQRInTerminal: true }); const socket = await soblend.connect(session); const groupManager = new GroupAdminManager(socket); const GROUP_ID = GROUP_ID@g.us; groupManager.addRule(GROUP_ID, { id: no-links, type: anti-link, enabled: true, action: kick, message: Enlaces prohibidos }); groupManager.addRule(GROUP_ID, { id: no-spam, type: anti-spam, enabled: true, action: mute }); groupManager.setWelcomeMessage(GROUP_ID, { enabled: true, text: Hola {user} Bienvenido a {group} Reglas: 1. No spam 2. No enlaces 3. Respeto mutuo, buttons: true }); socket.ev.on(messages.upsert, async ({ messages }) => { const msg = messages[0]; if (!msg.message || msg.key.fromMe) return; const text = msg.message.conversation || ; const from = msg.key.remoteJid; const sender = msg.key.participant || msg.key.remoteJid; if (from.endsWith(@g.us)) { const allowed = await groupManager.checkRules(from, sender, text); if (!allowed) return; } if (text === !admin && from.endsWith(@g.us)) { const isAdmin = await groupManager.isAdmin(from, sender); if (isAdmin) { await groupManager.sendAdminPanel(from, sender); } } if (text.startsWith(!kick) && from.endsWith(@g.us)) { const isAdmin = await groupManager.isAdmin(from, sender); if (!isAdmin) return; const mentioned = msg.message.extendedTextMessage?.contextInfo?.mentionedJid; if (mentioned && mentioned.length > 0) { await groupManager.removeParticipants(from, mentioned); await socket.sendMessage(from, { text: Usuarios eliminados }); } } }); } main();
Solución de problemas comunes
Problema: QR Code no aparece. Solución: const soblend = new SoblendBaileys({ printQRInTerminal: true, logLevel: debug });
Problema: Reconexión lenta. Solución: const soblend = new SoblendBaileys({ autoReconnect: true, reconnectDelay: 1500, maxReconnectAttempts: 20 });
Problema: Alto uso de memoria. Solución: const soblend = new SoblendBaileys({ enableCache: true, cacheMaxSize: 5000 }); // Limpiar caché periódicamente setInterval(() => { soblend.getCache().clear(); }, 3600000);
Problema: Botones no funcionan. Solución: await socket.sendInteractiveButtons(jid, { text: Elige una opción, footer: Powered by Soblend, buttons: [ { buttonId: id1, buttonText: { displayText: Opción 1 }, type: 1 } ] }); Nota: recientemente se encontró un error en los botones, esto se corregirá en la siguiente versión junto con la integración de carouseles.
Acerca de Q2BSTUDIO
Detrás de este tipo de desarrollos está Q2BSTUDIO, empresa especializada en desarrollo de software a medida y aplicaciones a medida, consultoría en inteligencia artificial y ciberseguridad, además de servicios cloud aws y azure y soluciones de inteligencia de negocio. Ofrecemos proyectos llave en mano y adaptados al cliente, desde integraciones con agentes IA hasta dashboards con Power BI. Si buscas soluciones de software a medida visita desarrollo de aplicaciones y software multiplataforma y si te interesa la inteligencia artificial para empresas revisa nuestra oferta en servicios de inteligencia artificial.
Palabras clave y posicionamiento
Este artículo incluye términos relevantes para SEO como aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi para mejorar el posicionamiento en búsquedas relacionadas con desarrollo de bots y soluciones empresariales.
Conclusión
Prueba @soblend/baileys si necesitas una alternativa ligera y con herramientas listas para producción en bots de WhatsApp. La comunidad y las aplicaciones empresariales pueden beneficiarse de su modularidad y opciones de integración con almacenamiento, gestión de grupos y controles anti abuso.

.jpg)



