diff --git a/package.json b/package.json index 95a5db2f1..29d3db3ab 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ }, "packageManager": "pnpm@10.23.0", "dependencies": { - "baileys": "^7.0.0-rc.9", + "@whiskeysockets/baileys": "7.0.0-rc.9", "body-parser": "^2.2.0", "chalk": "^5.6.2", "commander": "^14.0.2", diff --git a/src/provider-web.test.ts b/src/provider-web.test.ts index 5ac3c0bda..90a82c8c2 100644 --- a/src/provider-web.test.ts +++ b/src/provider-web.test.ts @@ -3,7 +3,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import type { MockBaileysSocket } from "../test/mocks/baileys.js"; import { createMockBaileys } from "../test/mocks/baileys.js"; -vi.mock("baileys", () => { +vi.mock("@whiskeysockets/baileys", () => { const created = createMockBaileys(); (globalThis as Record)[ Symbol.for("warelay:lastSocket") @@ -35,8 +35,8 @@ import { } from "./provider-web.js"; const baileys = (await import( - "baileys" -)) as unknown as typeof import("baileys") & { + "@whiskeysockets/baileys" +)) as unknown as typeof import("@whiskeysockets/baileys") & { makeWASocket: ReturnType; useSingleFileAuthState: ReturnType; fetchLatestBaileysVersion: ReturnType; diff --git a/src/provider-web.ts b/src/provider-web.ts index d5ead5889..554d4049c 100644 --- a/src/provider-web.ts +++ b/src/provider-web.ts @@ -1,8 +1,14 @@ import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; -import * as Baileys from "baileys"; -import type { proto } from "baileys"; +import { + DisconnectReason, + fetchLatestBaileysVersion, + makeCacheableSignalKeyStore, + makeWASocket, + useSingleFileAuthState, +} from "@whiskeysockets/baileys"; +import type { proto } from "@whiskeysockets/baileys"; import pino from "pino"; import qrcode from "qrcode-terminal"; import { danger, info, logVerbose, success } from "./globals.js"; @@ -16,13 +22,13 @@ const WA_WEB_AUTH_FILE = path.join( export async function createWaSocket(printQr: boolean, verbose: boolean) { await ensureDir(path.dirname(WA_WEB_AUTH_FILE)); - const { state, saveState } = await resolveAuthState(WA_WEB_AUTH_FILE); - const { version } = await Baileys.fetchLatestBaileysVersion(); + const { state, saveState } = await useSingleFileAuthState(WA_WEB_AUTH_FILE); + const { version } = await fetchLatestBaileysVersion(); const logger = pino({ level: verbose ? "info" : "silent" }); - const sock = Baileys.makeWASocket({ + const sock = makeWASocket({ auth: { creds: state.creds, - keys: Baileys.makeCacheableSignalKeyStore(state.keys, logger), + keys: makeCacheableSignalKeyStore(state.keys, logger), }, version, logger, @@ -35,7 +41,7 @@ export async function createWaSocket(printQr: boolean, verbose: boolean) { sock.ev.on("creds.update", saveState); sock.ev.on( "connection.update", - (update: Partial) => { + (update: Partial) => { const { connection, lastDisconnect, qr } = update; if (qr && printQr) { console.log("Scan this QR in WhatsApp (Linked Devices):");