|
@@ -60,6 +60,7 @@ async function baixarMidia(m, midiaInfo) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
let sock = null;
|
|
let sock = null;
|
|
|
|
|
+let conectando = false;
|
|
|
let estado = { status: "desconectado", qrDataUrl: null, telefone: null, ultimoErro: null };
|
|
let estado = { status: "desconectado", qrDataUrl: null, telefone: null, ultimoErro: null };
|
|
|
|
|
|
|
|
function normalizarTelefone(jid) {
|
|
function normalizarTelefone(jid) {
|
|
@@ -98,13 +99,21 @@ async function obterOuCriarConversa(telefone, nomeContato, jid) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
export async function iniciarConexao() {
|
|
export async function iniciarConexao() {
|
|
|
- if (sock) return;
|
|
|
|
|
|
|
+ if (sock || conectando) return;
|
|
|
|
|
+ conectando = true;
|
|
|
|
|
|
|
|
- fs.mkdirSync(SESSION_DIR, { recursive: true });
|
|
|
|
|
- const { state, saveCreds } = await useMultiFileAuthState(SESSION_DIR);
|
|
|
|
|
- const { version } = await fetchLatestBaileysVersion();
|
|
|
|
|
|
|
+ let state, saveCreds, version;
|
|
|
|
|
+ try {
|
|
|
|
|
+ fs.mkdirSync(SESSION_DIR, { recursive: true });
|
|
|
|
|
+ ({ state, saveCreds } = await useMultiFileAuthState(SESSION_DIR));
|
|
|
|
|
+ ({ version } = await fetchLatestBaileysVersion());
|
|
|
|
|
+ } catch (err) {
|
|
|
|
|
+ conectando = false;
|
|
|
|
|
+ throw err;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
sock = makeWASocket({ auth: state, version });
|
|
sock = makeWASocket({ auth: state, version });
|
|
|
|
|
+ conectando = false;
|
|
|
estado.status = "conectando";
|
|
estado.status = "conectando";
|
|
|
|
|
|
|
|
sock.ev.on("creds.update", saveCreds);
|
|
sock.ev.on("creds.update", saveCreds);
|