Erinaldordso commited on
Commit
dfdcaef
·
verified ·
1 Parent(s): 54d14aa

Update index.js

Browse files
Files changed (1) hide show
  1. index.js +52 -18
index.js CHANGED
@@ -6,6 +6,8 @@ const { StringSession } = require("telegram/sessions");
6
  const { NewMessage } = require("telegram/events");
7
  const { default: makeWASocket, fetchLatestBaileysVersion, useMultiFileAuthState, DisconnectReason, Browsers } = require('@whiskeysockets/baileys');
8
  const pino = require('pino');
 
 
9
 
10
  const CONFIG = {
11
  waPhone: "5521982931764",
@@ -16,23 +18,53 @@ const CONFIG = {
16
  tgSession: "1AQAOMTQ5LjE1NC4xNzUuNTUBuwlVXFIOFujrvIRSQm6+qO/laUfru5LFHEmbx/O6z99qNjKpqdu71VocaUIQewykJjNMob0boWJ7z5rUxSXDVSmdDgTiCBoay80hf4XSkM33TIqOPLWOXvyENiomBt8vGbekM/IUzZhmRLuSjfDenRQUu+eOtLt1j+kN2E3IHBJUjPY3whabSuCFUnrEbJmHHRCNeCqNY14Lb6efF/+LdFcdxgVjmItP6+1taPQHEg/36xf/FwlojiiR+zosMyA09NMCA3v3iVbOB9uM0qJcMxz8fD7QAhbvEsrOMMGZxNyyOUFZBP6LPjwIMBM1eVBXm/DxNB06tUs8h1eHXnDLZBo="
17
  };
18
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  function formatarVip(t) {
20
  return `⚠️ *VIP 0.5 GOL NALDO.TIPS* ⚠️\n\n${t}\n\n💰 *[APOSTAR](https://referme.to/erinaldorodriguesdeo-11)*\n📸 *[@erinaldo.2020](https://instagram.com/erinaldo.2020)*`;
21
  }
22
 
23
  async function iniciar() {
24
- console.log("🔄 LIMPANDO E REINICIANDO CONEXÃO WHATSAPP...");
25
 
26
- // Mudamos o nome da pasta para 'auth_nova' para forçar um login novo e limpo
27
  const { state, saveCreds } = await useMultiFileAuthState('auth_nova');
28
  const { version } = await fetchLatestBaileysVersion();
29
 
 
 
 
 
 
30
  const sock = makeWASocket({
31
  version,
32
  auth: state,
33
  logger: pino({ level: 'silent' }),
34
- browser: Browsers.ubuntu('Chrome'),
35
- syncFullHistory: false
 
36
  });
37
 
38
  sock.ev.on('creds.update', saveCreds);
@@ -40,43 +72,45 @@ async function iniciar() {
40
  sock.ev.on('connection.update', async (u) => {
41
  const { connection, lastDisconnect } = u;
42
  if (connection === 'open') {
43
- console.log("✅✅ WHATSAPP FINALMENTE CONECTADO! ✅✅");
 
 
44
  }
45
  if (connection === 'close') {
46
  const deveReiniciar = lastDisconnect?.error?.output?.statusCode !== DisconnectReason.loggedOut;
47
- if (deveReiniciar) iniciar();
 
 
 
48
  }
49
  });
50
 
51
- // --- 💎 PEDIR CÓDIGO DE 8 DÍGITOS ---
52
  if (!sock.authState.creds.registered) {
53
- console.log(`📡 Solicitando código para ${CONFIG.waPhone}...`);
54
  setTimeout(async () => {
55
  try {
56
  const code = await sock.requestPairingCode(CONFIG.waPhone);
57
  console.log(`\n🔥 DIGITE NO WHATSAPP: ${code}\n`);
58
- } catch (e) { console.log("Aguardando gerar código..."); }
59
- }, 8000);
 
60
  }
61
 
62
- // --- 📡 TELEGRAM ---
63
- const client = new TelegramClient(new StringSession(CONFIG.tgSession), CONFIG.tgId, CONFIG.tgHash, {});
64
- await client.connect();
65
- console.log("📡 MONITORANDO TELEGRAM...");
66
-
67
  client.addEventHandler(async (event) => {
68
  const message = event.message.message;
69
  if (!message) return;
70
  const sender = await event.message.getSender();
71
  const username = sender ? sender.username : "";
72
 
 
73
  if (username === CONFIG.botTelegramAlvo || message.toLowerCase().includes("betbots")) {
74
- console.log(`🎯 ALVO [@${username}] DETECTADO!`);
75
  try {
76
  await sock.sendMessage(CONFIG.idGrupoWhats, { text: formatarVip(message) });
77
- console.log("🚀 ENVIADO COM SUCESSO!");
78
  } catch (err) {
79
- console.log("❌ Erro no envio (WhatsApp ainda deslogado)");
80
  }
81
  }
82
  }, new NewMessage({}));
 
6
  const { NewMessage } = require("telegram/events");
7
  const { default: makeWASocket, fetchLatestBaileysVersion, useMultiFileAuthState, DisconnectReason, Browsers } = require('@whiskeysockets/baileys');
8
  const pino = require('pino');
9
+ const fs = require('fs');
10
+ const archiver = require('archiver'); // Certifique-se de ter dado: npm install archiver
11
 
12
  const CONFIG = {
13
  waPhone: "5521982931764",
 
18
  tgSession: "1AQAOMTQ5LjE1NC4xNzUuNTUBuwlVXFIOFujrvIRSQm6+qO/laUfru5LFHEmbx/O6z99qNjKpqdu71VocaUIQewykJjNMob0boWJ7z5rUxSXDVSmdDgTiCBoay80hf4XSkM33TIqOPLWOXvyENiomBt8vGbekM/IUzZhmRLuSjfDenRQUu+eOtLt1j+kN2E3IHBJUjPY3whabSuCFUnrEbJmHHRCNeCqNY14Lb6efF/+LdFcdxgVjmItP6+1taPQHEg/36xf/FwlojiiR+zosMyA09NMCA3v3iVbOB9uM0qJcMxz8fD7QAhbvEsrOMMGZxNyyOUFZBP6LPjwIMBM1eVBXm/DxNB06tUs8h1eHXnDLZBo="
19
  };
20
 
21
+ // --- 📦 FUNÇÃO DE BACKUP (ENVIA PARA O SEU TELEGRAM) ---
22
+ async function enviarBackupSessao(tgClient) {
23
+ return new Promise((resolve) => {
24
+ console.log("📦 Gerando backup dos arquivos de login...");
25
+ const output = fs.createWriteStream('sessao.zip');
26
+ const archive = archiver('zip', { zlib: { level: 9 } });
27
+
28
+ output.on('close', async () => {
29
+ try {
30
+ await tgClient.sendFile("me", {
31
+ file: 'sessao.zip',
32
+ caption: `✅ **Sessão WhatsApp Salva!**\n📅 Data: ${new Date().toLocaleString('pt-BR')}\n\n*Use este arquivo se precisar reinstalar o bot.*`
33
+ });
34
+ console.log("🚀 Backup enviado com sucesso para as Mensagens Salvas do Telegram!");
35
+ resolve();
36
+ } catch (err) { console.log("Erro ao enviar backup:", err); resolve(); }
37
+ });
38
+
39
+ archive.pipe(output);
40
+ archive.directory('auth_nova/', false);
41
+ archive.finalize();
42
+ });
43
+ }
44
+
45
  function formatarVip(t) {
46
  return `⚠️ *VIP 0.5 GOL NALDO.TIPS* ⚠️\n\n${t}\n\n💰 *[APOSTAR](https://referme.to/erinaldorodriguesdeo-11)*\n📸 *[@erinaldo.2020](https://instagram.com/erinaldo.2020)*`;
47
  }
48
 
49
  async function iniciar() {
50
+ console.log("🔄 LIMPANDO E INICIANDO SISTEMA...");
51
 
52
+ // Carrega a sessão da pasta 'auth_nova'
53
  const { state, saveCreds } = await useMultiFileAuthState('auth_nova');
54
  const { version } = await fetchLatestBaileysVersion();
55
 
56
+ // Conecta ao Telegram primeiro
57
+ const client = new TelegramClient(new StringSession(CONFIG.tgSession), CONFIG.tgId, CONFIG.tgHash, {});
58
+ await client.connect();
59
+ console.log("📡 Telegram monitorando...");
60
+
61
  const sock = makeWASocket({
62
  version,
63
  auth: state,
64
  logger: pino({ level: 'silent' }),
65
+ browser: Browsers.ubuntu('Chrome'), // Identificação segura
66
+ syncFullHistory: false,
67
+ connectTimeoutMs: 60000
68
  });
69
 
70
  sock.ev.on('creds.update', saveCreds);
 
72
  sock.ev.on('connection.update', async (u) => {
73
  const { connection, lastDisconnect } = u;
74
  if (connection === 'open') {
75
+ console.log("✅✅ WHATSAPP CONECTADO COM SUCESSO! ✅✅");
76
+ // Manda o backup assim que logar
77
+ await enviarBackupSessao(client);
78
  }
79
  if (connection === 'close') {
80
  const deveReiniciar = lastDisconnect?.error?.output?.statusCode !== DisconnectReason.loggedOut;
81
+ if (deveReiniciar) {
82
+ console.log("🔄 Conexão fechada, tentando reconectar...");
83
+ iniciar();
84
+ }
85
  }
86
  });
87
 
88
+ // Se o bot precisar de login, ele manda o código para o terminal e para o Telegram
89
  if (!sock.authState.creds.registered) {
 
90
  setTimeout(async () => {
91
  try {
92
  const code = await sock.requestPairingCode(CONFIG.waPhone);
93
  console.log(`\n🔥 DIGITE NO WHATSAPP: ${code}\n`);
94
+ await client.sendMessage("me", { message: `🔥 Novo código de pareamento solicitado: **${code}**` });
95
+ } catch (e) { console.log("Aguardando geração do código..."); }
96
+ }, 5000);
97
  }
98
 
99
+ // --- 🎯 FILTRO DE MENSAGENS DO TELEGRAM ---
 
 
 
 
100
  client.addEventHandler(async (event) => {
101
  const message = event.message.message;
102
  if (!message) return;
103
  const sender = await event.message.getSender();
104
  const username = sender ? sender.username : "";
105
 
106
+ // Filtra pelo username do bot alvo ou palavra-chave
107
  if (username === CONFIG.botTelegramAlvo || message.toLowerCase().includes("betbots")) {
108
+ console.log(`🎯 Mensagem capturada! Enviando para o WhatsApp...`);
109
  try {
110
  await sock.sendMessage(CONFIG.idGrupoWhats, { text: formatarVip(message) });
111
+ console.log("🚀 SINAL ENVIADO!");
112
  } catch (err) {
113
+ console.log("❌ Erro no envio. Verifique a conexão.");
114
  }
115
  }
116
  }, new NewMessage({}));