Bot: carpeta de sesión Baileys configurable + /debug captura todos los eventos
BAILEYS_AUTH_DIR permite arrancar una sesión limpia (QR fresco) sin perder la persistencia (subcarpeta del volumen) — para re-vincular cuando WhatsApp deja muerto el dispositivo tras varios reinicios. Y messages.upsert ahora registra en /debug todos los eventos (incluido type != notify) antes de filtrar. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -41,7 +41,7 @@ interface LeadContext {
|
||||
export class WhatsappService implements OnModuleInit, OnModuleDestroy {
|
||||
private readonly logger = new Logger(WhatsappService.name);
|
||||
private sock: WASocket | null = null;
|
||||
private authDir = path.join(process.cwd(), 'auth_info_baileys');
|
||||
private authDir = process.env.BAILEYS_AUTH_DIR || path.join(process.cwd(), 'auth_info_baileys');
|
||||
private readonly ultimoMsgPorJid = new Map<string, any>();
|
||||
private baileysLogger = pino({ level: 'info' });
|
||||
|
||||
@@ -223,14 +223,17 @@ export class WhatsappService implements OnModuleInit, OnModuleDestroy {
|
||||
});
|
||||
|
||||
this.sock.ev.on('messages.upsert', async ({ messages, type }) => {
|
||||
if (type !== 'notify') return;
|
||||
for (const msg of messages) {
|
||||
this.webhookListener.pushInbound({
|
||||
type,
|
||||
remoteJid: msg.key.remoteJid ?? null,
|
||||
fromMe: !!msg.key.fromMe,
|
||||
msgType: msg.message ? Object.keys(msg.message)[0] : null,
|
||||
at: new Date().toISOString(),
|
||||
});
|
||||
}
|
||||
if (type !== 'notify') return;
|
||||
for (const msg of messages) {
|
||||
if (msg.key.fromMe) continue;
|
||||
if (!msg.key.remoteJid) continue;
|
||||
if (msg.key.remoteJid.includes('@g.us')) continue;
|
||||
|
||||
Reference in New Issue
Block a user