Creating a Client
Para começar a usar Wppconnect Bot
, você precisa criar um arquivo e chamar o método {@link create}.\
Esse método retorna uma Promessa
de {@link Whatsapp}.
// Suporta ES6
// import { create, Whatsapp } from '@wppconnect-team/wppconnect';
const wppconnect = require('@wppconnect-team/wppconnect');
wppconnect
.create()
.then((cliente) => start(cliente))
.catch((error) => console.log(erro));
Entrar com código
Para login por código, insira o número de telefone no método create Esse método retorna uma Promise de {@link Whatsapp}.
// Supports ES6
// import { create, Whatsapp } from '@wppconnect-team/wppconnect';
const wppconnect = require('@wppconnect-team/wppconnect');
wppconnect
.create({
phoneNumber: '5521985232927',
catchLinkCode: (str) => console.log('Code: ' + str),
})
.then((client) => start(client))
.catch((error) => console.log(error));
Sessões múltiplas
Se você deseja começar mais de uma sessão, por exemplo, caso você tenha diferentes departamentos em seu projeto, então você teve que especificá-lo em seu código, como nesse exemplo:
// Inicia vendas whatsapp bot
wppconnect.create({session: 'sales'}).then((cliente) => startClient(cliente));
// Inicia suporte a whatsapp bot
wppconnect.create({session: 'support'}).then((client) => startSupport(cliente));
Passado opções ao criar
O terceiro parâmetro do método {@link create} pode ter os seguintes parâmetros opcionais (veja todos os parâmetros em {@link CreateOptions}):
wppconnect. reate({
sessão: 'sessionName', //Passe o nome do cliente que você deseja iniciar o bot
catchQR: (base64Qrimg, asciiQR, attempts, urlCode) => {
console. og('Número de tentativas para ler o console qrcode: ', tentativas);
og('Código de terminal: ', asciiQR);
console.log('qrcode de string de imagem base64 ', base64Qrimg);
console. og('urlCode (data-ref): ', urlCode);
},
statusFind: (statusSession, sessão) => {
console. og('Sessão de status: ', statusSessão); //return está logado ™️s não está logado/no navegador. Fechamento &qrReadSuccess ├qrReadFail 「AutocloseCalled 「desconectadaMobile ├deleteToken
///criar sessão wss return servidor "serverClose" para fechar
console. og('Nome da sessão: ', sessão);
},
headless: true, // Chrome sem cabeça
devtools: false, false, // Abrir devtools por padrão
useChrome: true, // Se falso irá usar a instância do Chromium
depurador: false, // Abre uma sessão de depuração
logQR: true, // Registra o QR automaticamente no terminal
browserWS: '', // Se você quiser usar o browserWSEndpoint
browserArgs: [''], // Parâmetros a serem adicionados para a instância do navegador chrome
puppeteerOptions: {}, // Será passado para puppeteer. aperte
desabilita: falso, // Opção para desativar a mensagem de boas-vindas que aparece no começo
atualizaçõesLog: verdadeiro, // Atualiza automaticamente as informações no terminal
autoClose: 60000, // Automaticamente fecha o wppconnect apenas ao escanear o código QR (padrão 60 segundos, se você quiser desativá-lo, atribuir 0 ou falso)
tokenStore: 'file', // Defina como funciona com tokens, que pode ser uma interface personalizada
folderNameToken: '. tokens', //folder nome ao salvar tokens
// BrowserSessionToken
// Para receber o token do cliente use a função await clinet. etSessionTokenBrowser()
sessionToken: {
WABrowserId: '"UnXjH. ..."',
WASecretBundle: '{"chave":"+i/nRgWJ. ..","encKey":"kGdMR5t......","macKey":"+i/nRgW......"}',
WAToken1: '"0i8...."',
WAToken2: '"1@lPzwC.... ',
}
})
. hen((cliente) => start(cliente))
.catch((error) => console.log(erro));
Callback de Status de Sessão
Mais detalhes em {@link StatusFind}
Status | Condição |
---|---|
isLogged | Quando o usuário já estiver logado no navegador |
notLogged | Quando o usuário não estiver conectado ao navegador, é necessário ler o código QR através do celular na opção WhatsApp Web |
browserClose | Se o navegador é fechado este parâmetro é retornado |
qrReadSuccess | Se o usuário não estiver conectado, o código QR é passado no terminal um callback é retornado. Depois da leitura correta por telefone celular, este parâmetro é retornado |
qrReadFail | Se o navegador parar quando a verificação do código QR estiver em andamento, este parâmetro será retornado |
autocloseCalled | O navegador foi fechado usando o comando AutoClose |
desconnectedMobile | O cliente se desconectou ao celular |
serverClose | O cliente se desconectou ao celular |
deleteToken | Se você passar true dentro da função client.getSessionTokenBrowser(true) |
const wppconnect = require('@wppconnect-team/wppconnect');
wppconnect
. reate({
sessão: 'sessionName',
statusFind: (statusSession, sessão) => {
// retorna: isLogged ├notLogged ├├browser. Close qrReadSuccess ├qrReadFail ├├autocloseCalled ├desconnectedMobile ├deleteToken
console. og('Sessão de status: ', statusSessão);
// cria sessão wss return "serverClose" case server for close
console. og('Nome da sessão: ', sessão);
},
})
. hen((cliente) => start(cliente))
.catch((error) => console.log(erro));
Verificação de conexão telefônica
Para garantir a verificação de conexão do telefone, use o código abaixo ou verifique a documentação {@link Whatsapp.startPhoneWatchdog}.:
// Para iniciar com o intervalo padrão.
client.startPhoneWatchdog();
// Para começar com um intervalo personalizado.
client.startPhoneWatchdog(30000); // 30s
// Para parar.
client.stopPhoneWatchdog();
Exportando QR Code
Por padrão, o QR code aparecerá no terminal. Se você precisar passar o QR em algum outro lugar, (veja {@link CatchQRCallback}):
const fs = require('fs');
const wppconnect = require('@wppconnect-team/wppconnect');
wppconnect
.create({
session: 'sessionName',
catchQR: (base64Qr, asciiQR) => {
console.log(asciiQR); // Optional to log the QR in the terminal
var matches = base64Qr.match(/^data:([A-Za-z-+\/]+);base64,(.+)$/),
response = {};
if (matches.length !== 3) {
return new Error('Invalid input string');
}
response.type = matches[1];
response.data = new Buffer.from(matches[2], 'base64');
var imageBuffer = response;
require('fs').writeFile(
'out.png',
imageBuffer['data'],
'binary',
function (err) {
if (err != null) {
console.log(err);
}
}
);
},
logQR: false,
})
.then((client) => start(client))
.catch((error) => console.log(error));
Salvando o Token da Sessão
Leia o {@link TokenStore}