1. O Conceito: Extração de Intenção
Diferente de ferramentas de marketing comuns, o Leads Bot do Projeto Nômade da Corte foca na intenção real do usuário. Ele monitora a web em busca de frases como "alguém me indica um desenvolvedor?" ou "onde compro tal produto?". O bot identifica o autor, extrai o contato e qualifica o lead automaticamente.
2. O Motor de Varredura (Python)
O arquivo social_engine.py é responsável por enganar os sistemas de proteção e coletar os dados. Ele usa "User Agents" aleatórios e atrasos inteligentes para parecer um humano navegando.
import httpx
from bs4 import BeautifulSoup
class SocialIntelligenceEngine:
async def search_real_leads(self, platform, product, keywords, region):
# Monta a Query (Pergunta) para o Google/DuckDuckGo
# Exemplo: site:instagram.com "alguem indica" desenvolvedor brasil
query = f'site:{platform}.com "procuro" {keywords} {region}'
# Realiza a busca sem ser bloqueado
headers = {"User-Agent": "Random_User_Agent_Aqui"}
response = await self.client.get(f"https://duckduckgo.com/lite/?q={query}")
# Extrai os dados do HTML (Web Scraping)
soup = BeautifulSoup(response.text, 'html.parser')
# ... lógica de extração de nomes e links ...
Para Iniciantes:
Imagine que você quer procurar algo no Google a cada 5 minutos. Se você fizer isso manualmente, vai cansar. O robô faz isso por você, mas ele se "disfarça" trocando de navegador virtual a cada busca para não ser expulso pelo Google.
3. Qualificação por Inteligência (Lead Scoring)
Não basta achar um post, é preciso saber se ele é bom. No dashboard (scrap.html), existe um motor de "Lead Scoring" que dá uma nota de 0 a 100 para o post.
function localLeadIntelligence(leadText) {
let score = 0;
const weights = {
"orçamento": 40, // Se falar orçamento, ganha 40 pontos
"quanto custa": 35, // Se perguntar preço, ganha 35 pontos
"contratar": 30, // Se quiser contratar, ganha 30 pontos
"vaga": -70 // Se for oferta de vaga de emprego, perde 70 (Não é lead de venda)
};
Object.keys(weights).forEach(word => {
if (leadText.toLowerCase().includes(word)) {
score += weights[word];
}
});
return score; // Retorna a "temperatura" do lead
}
4. Resposta Automática (WhatsApp Sender)
O módulo whatsapp_sender/sender.py é a parte mais impressionante. Ele lê os leads quentes do banco e usa automação de mouse e teclado (PyAutoGUI) para enviar mensagens personalizadas.
import pyautogui
import webbrowser
def send_whatsapp(phone, message):
# Abre o WhatsApp Web com o número e a mensagem
url = f"https://web.whatsapp.com/send?phone={phone}&text={message}"
webbrowser.open(url)
# Aguarda o carregamento (35 segundos para segurança)
time.sleep(35)
# Simula o pressionamento da tecla ENTER para enviar
pyautogui.press('enter')
# Fecha a aba para não acumular processos
pyautogui.hotkey('ctrl', 'w')
5. Dashboard de Monitoramento
Toda essa operação é controlada por um painel futurista. Você pode ver o que o robô está vendo através de capturas de tela enviadas em tempo real pelo motor para o Firebase.
// Monitoramento do "Live View" do motor local
onValue(ref(db, 'engine_control'), (snapshot) => {
const data = snapshot.val();
if (data.screenshot) {
// Mostra a imagem da tela do motor no seu navegador
document.getElementById('browser-view').style.backgroundImage =
`url(data:image/png;base64,${data.screenshot})`;
}
});