whatsapp-web.js: Evaluation failed: TypeError: this._find is not a function

Bug description

A clear and concise description of what the bug is.

Reproduction steps

Steps to reproduce the behavior:

  1. use client.sendMessage(number, message, {})

Expected behavior

A clear and concise description of what you expected to happen.

Relevant code

If applicable, add code snippets to help explain your problem.

Environment (please complete the following information):

WhatsApp

  • Account type [Standard / Business]:
  • Device OS [iOS / Android]:
  • WhatsApp Web version [run await client.getWWebVersion()]:

Library

  • Browser [Chrome / Chromium]: Chromium
  • NodeJS version (node -v): 12.16.1
  • npm or yarn version (npm -v): 6.13.4
  • whatsapp-web.js version: latest

Other

  • Operating system (the one running node) [Linux / MacOS / Windows]:
  • Operating system version (ex. Windows 10): Windows 10

Additional context

Add any other context about the problem here.

Error: Evaluation failed: TypeError: this._find is not a function at j._serverQuery (https://web.whatsapp.com/bootstrap_qr.abbc2ea8366e2cd9a145.js:55:334921) at j._query (https://web.whatsapp.com/bootstrap_qr.abbc2ea8366e2cd9a145.js:55:334450) at j.find (https://web.whatsapp.com/bootstrap_qr.abbc2ea8366e2cd9a145.js:55:332582) at puppeteer_evaluation_script:3:50 at ExecutionContext._evaluateInternal (D:\work-maibang\maibang_crawler_whatsapp\node_modules\puppeteer\lib\cjs\puppeteer\common\ExecutionContext.js:221:19) at processTicksAndRejections (internal/process/task_queues.js:97:5) at async ExecutionContext.evaluate (D:\work-maibang\maibang_crawler_whatsapp\node_modules\puppeteer\lib\cjs\puppeteer\common\ExecutionContext.js:110:16) at async Client.sendMessage (D:\work-maibang\maibang_crawler_whatsapp\src\Client.js:530:28)

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 3
  • Comments: 44 (3 by maintainers)

Most upvoted comments

i solved it by this: https://github.com/pedroslopez/whatsapp-web.js/blob/main/src/util/Injected.js

window.Store.Chat._find = e => {
    const target = window.Store.Chat.get(e)
    return target ? Promise.resolve(target) : Promise.resolve({
        id: e
    })
}

insert this code after line 8(window.Store = window.mR.findModule(‘Chat’)[0].default;)

Fixed this in the latest release, 1.14.1. Please update!

You can send just to phones who are already talked in the past. When you are trying to send msg to new phone the problem will happen

it’s not about join or not joined multidevice, it’s just structure of the modules has changed. still working on it to find the problem.

@eduardoff19 please don’t manually patch these things. It makes upgrading later harder.

Update to version 1.14.1 of the library and the issue should be fixed.

i solved it by this: https://github.com/pedroslopez/whatsapp-web.js/blob/main/src/util/Injected.js

window.Store.Chat._find = e => {
    const target = window.Store.Chat.get(e)
    return target ? Promise.resolve(target) : Promise.resolve({
        id: e
    })
}

insert this code after line 8(window.Store = window.mR.findModule(‘Chat’)[0].default;)

Does this work for contact whom we never done chat? It’s not working for me.

im tested and fully worked, maybe you wrong to place this code

Restarting server solved that issue

TRANKS BRO

i solved it by this: https://github.com/pedroslopez/whatsapp-web.js/blob/main/src/util/Injected.js

window.Store.Chat._find = e => {
    const target = window.Store.Chat.get(e)
    return target ? Promise.resolve(target) : Promise.resolve({
        id: e
    })
}

insert this code after line 8(window.Store = window.mR.findModule(‘Chat’)[0].default;)

Does this work for contact whom we never done chat? It’s not working for me.

im tested and fully worked, maybe you wrong to place this code

Restarting server solved that issue