0

I'm trying to build a basic WhatsApp bot using the @whiskeysockets/baileys library. I’ve set up the bot to connect using QR authentication, and it connects successfully. However, when I send or receive a message, it crashes with the following error:

vbnet Copy Edit TypeError: logger.trace is not a function at Object.get (.../auth-utils.js:42:72) ...

i am using Baileys: @whiskeysockets/baileys ,Node.js: v22.15.1 and pino as logger
this code in my index is as follows i,ve only set up basic connection for now and a response to "ping" message for testing

const {
  default: makeWASocket,
  fetchLatestBaileysVersion,
  useMultiFileAuthState,
  makeCacheableSignalKeyStore,
  DisconnectReason
} = require('@whiskeysockets/baileys');
const qrcode = require('qrcode-terminal');
const fs = require('fs');
const pino = require('pino');

const logger = pino({
  level: 'trace',
  transport: {
    target: 'pino-pretty',
    options: { colorize: true }
  }
});

async function startBot() {
  const { state, saveCreds } = await useMultiFileAuthState('./auth');
  const { version } = await fetchLatestBaileysVersion();

  const sock = makeWASocket({
    version,
    logger,
    auth: {
      creds: state.creds,
      keys: makeCacheableSignalKeyStore(state.keys, fs)
    }
  });

  sock.ev.on('creds.update', saveCreds);

  sock.ev.on('connection.update', ({ connection, lastDisconnect, qr }) => {
    if (qr) {
      qrcode.generate(qr, { small: true });
      console.log('📱 Scan the QR code above with WhatsApp');
    }
    if (connection === 'open') {
      console.log('✅ Connected to WhatsApp!');
    } else if (connection === 'close') {
      const shouldReconnect =
        lastDisconnect?.error?.output?.statusCode !== DisconnectReason.loggedOut;
      console.log('🔌 Disconnected', shouldReconnect ? 'Reconnecting...' : 'Logged out.');
      if (shouldReconnect) startBot();
    }
  });

  sock.ev.on('messages.upsert', async ({ messages }) => {
    const m = messages[0];
    if (!m.message || m.key.fromMe) return;

    const text = m.message.conversation || m.message.extendedTextMessage?.text || '';
    const jid = m.key.remoteJid;

    console.log(`📥 [${jid}]: ${text}`);

    if (text.toLowerCase() === 'ping') {
      await sock.sendMessage(jid, { text: 'pong ✅' });
    }
  });
}

startBot();

Verified that pino is properly installed and configured.

Tried replacing the logger with a custom logger that includes a .trace() method.

Still getting the same error when a message is received or sent here is a more detailed error log that prints in console

d:\redseclabs\whatsapp-bot\node_modules\@whiskeysockets\baileys\lib\Utils\auth-utils.js:42
                logger === null || logger === void 0 ? void 0 : logger.trace({ items: idsToFetch.length }, 'loading from store');
                                                                       ^

TypeError: logger.trace is not a function
    at Object.get (d:\redseclabs\whatsapp-bot\node_modules\@whiskeysockets\baileys\lib\Utils\auth-utils.js:42:72)
    at Object.get (d:\redseclabs\whatsapp-bot\node_modules\@whiskeysockets\baileys\lib\Utils\auth-utils.js:96:48)
    at assertSessions (d:\redseclabs\whatsapp-bot\node_modules\@whiskeysockets\baileys\lib\Socket\messages-send.js:171:51)
    at d:\redseclabs\whatsapp-bot\node_modules\@whiskeysockets\baileys\lib\Socket\messages-send.js:405:23
    at Object.transaction (d:\redseclabs\whatsapp-bot\node_modules\@whiskeysockets\baileys\lib\Utils\auth-utils.js:135:32)
    at relayMessage (d:\redseclabs\whatsapp-bot\node_modules\@whiskeysockets\baileys\lib\Socket\messages-send.js:294:30)
    at sendPeerDataOperationMessage (d:\redseclabs\whatsapp-bot\node_modules\@whiskeysockets\baileys\lib\Socket\messages-send.js:218:29)
    at requestPlaceholderResend (d:\redseclabs\whatsapp-bot\node_modules\@whiskeysockets\baileys\lib\Socket\messages-recv.js:744:16)
    at async sendRetryRequest (d:\redseclabs\whatsapp-bot\node_modules\@whiskeysockets\baileys\lib\Socket\messages-recv.js:99:27)
    at async d:\redseclabs\whatsapp-bot\node_modules\@whiskeysockets\baileys\lib\Socket\messages-recv.js:653:33

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.