You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用whatsapp-web.js RemoteAuth时本地备份文件报错求助

解决WhatsApp Web API RemoteAuth配合MongoStore时的ENOENT文件找不到错误

错误原因

你遇到的ENOENT: no such file or directory错误,是因为wwebjs-mongo的MongoStore在配置了backupPath后,会自动触发本地zip格式的会话备份流程——哪怕你使用的是RemoteAuth远程认证。当前问题的核心点:

  • 指定的backupPath路径可能不存在,或者文件名格式导致系统无法定位到目标文件
  • authenticated事件里的store.save()调用参数错误,进一步引发了备份流程的异常

解决方案

方案1:移除本地备份(推荐,已用MongoDB存储会话)

如果不需要本地备份,直接删除MongoStore配置中的backupPath参数,彻底跳过本地文件操作,完全依赖MongoDB存储会话:

store = new MongoStore({
  mongoose: mongoose,
  // 移除backupPath参数
});

方案2:修复本地备份路径(若需保留本地备份)

如果必须保留本地备份,需确保路径合法且目录存在:

  1. 提前创建目标目录:比如A:\bots\whatsapp-bot这个目录必须手动创建,否则Node进程无法写入文件
  2. 简化文件名和路径,避免特殊字符:
store = new MongoStore({
  mongoose: mongoose,
  backupPath: path.join(__dirname, "./naveenCLIENTID-backup.zip"), // 使用当前目录下的简洁文件名
});
  1. 确认Node进程对目标目录有读写权限

方案3:修正store.save()的调用逻辑

你在authenticated事件中的store.save()参数错误,正确的做法是直接传入认证返回的session对象:

client.on("authenticated", (session) => {
  console.log("Client authenticated, saving session.");
  store.save(session).then(() => { // 直接传入session对象
    console.log("Session Saved");
  });
});

内容的提问来源于stack exchange,提问作者Naveen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 18:21:24