Skip to content

Instantly share code, notes, and snippets.

@callmeloureiro
Last active September 23, 2024 19:29
Show Gist options
  • Save callmeloureiro/4c74d60f051ed59650cc76d1da0d32da to your computer and use it in GitHub Desktop.
Save callmeloureiro/4c74d60f051ed59650cc76d1da0d32da to your computer and use it in GitHub Desktop.
Como fazer alguém te responder no whatsapp
/*
Hoje iremos MUDAR a vida da pessoa que não te responde no whatsappp...
Que tal enviar mensagens pra ela até obter uma resposta?!
Sensacional não acha?! Mas, somos devs, correto?! Então vamos automatizar esse paranauê!
Para utilizar:
- Abra o web.whatsapp.com;
- Selecione a conversa que você quer;
- Abra o console e cole o código que está no gist;
- Aguarde e verá uma mensagem sendo enviada a cada segundo até obter uma mensagem de retorno ou atingir o limite de mensagens.
Use com responsabilidade e moderação... O intuito é arrancar um riso ;)
*/
var counter = 0;
// Limite de mensagens
// Se quiser enviar sem limites da zueira (porque the zuera never ends), basta modificar o valor para 0.
var limit = 100;
// Mensagem que será enviada
var textToSend = "Me responde!";
var i = setInterval(function() {
window.InputEvent = window.Event || window.InputEvent;
var d = new Date();
var event = new InputEvent('input', {
bubbles: true
});
var textbox = document.querySelector('#main > footer > div.block-compose > div.input-container > div.pluggable-input.pluggable-input-compose > div.pluggable-input-body.copyable-text.selectable-text');
// O envio para quando a pessoa responde, caso queira remover, basta apagar essa condiço.
if ( counter > 0 ) {
var lastMessage = document.querySelector('#main > .pane-body > .copyable-area > .pane-chat-msgs .msg:last-child > .message');
if ( lastMessage.classList.contains('message-in') ) {
textToSend = "Finalmente respondeu!";
clearInterval(i);
}
}
textbox.textContent = textToSend;
textbox.dispatchEvent(event);
document.querySelector("button.compose-btn-send").click();
counter++;
if (counter === limit && limit !== 0)
clearInterval(i);
console.log("Já enviei " + counter + ' mensagens.')
}, 1000); // 1000 = 1 segundo, tempo que será enviada cada mensagem.
@JulyanoF
Copy link

Só para se responderem o que você quer:

var counter = 0;

// Limite de mensagens
// Se quiser enviar sem limites da zueira (porque the zuera never ends), basta modificar o valor para 0.
var limit = 0;

// Mensagem que será enviada
var textToSend = 'Só paro se mandar '"você manda em mim"';
var textToCompare = "você manda em mim";

var i = setInterval(function() {

// O envio para quando a pessoa responde, caso queira remover, basta apagar essa condiço. 
if ( counter > 0 ) {
	var lastMessage = document.querySelector('#main ._3zJZ2 .copyable-area ._2nmDZ ._9tCEa .vW7d1:last-child  ._3_7SH');

	if ( lastMessage.classList.contains('message-in') ) {
		var mensagemRetorno = document.querySelector('#main ._3zJZ2 .copyable-area ._2nmDZ ._9tCEa .vW7d1:last-child  ._3_7SH .selectable-text').innerText;
		if(mensagemRetorno == textToCompare){
			textToSend = ":-)";
			clearInterval(i);
		}
	}
}

var textbox = document.querySelector('._2S1VP');
textbox.textContent = textToSend;
var event = new InputEvent('input', {
  bubbles: true
});
textbox.dispatchEvent(event);
document.querySelector("button._35EW6").click();

counter++;

if (counter === limit && limit !== 0)
	clearInterval(i);

console.log("Já enviei " + counter + ' mensagens.')
}, 1000); // 1000 = 1 segundo, tempo que será enviada cada mensagem.

@vpsgvitor
Copy link

vpsgvitor commented Jul 26, 2019

Funcionando!

// Limite = 0, manda até o cara dizer "a"
var limit = 100;

//mensagem a ser enviada
var textToSend = 'Fala um "a" pra você ver';

//Palavra chave para parar o envio
var textToCompare = "a";

// Resposta enviada ao acertar a pavra chave
var resposta = "Cara Esperto!";

var counter = 0;
var i = setInterval(function() {
if ( counter > 0 ) {
var lastMessage = document.querySelector('#main ._1_q7u .copyable-area ._1_keJ ._1ays2 .FTBzM:last-child ._1zGQT');
if ( lastMessage.classList.contains('message-in') ) {
var mensagemRetorno = document.querySelector('#main ._1_q7u .copyable-area ._1_keJ ._1ays2 .FTBzM:last-child ._1zGQT .-N6Gq .copyable-text ._12pGw .selectable-text').innerText;
if(mensagemRetorno == textToCompare){
textToSend = resposta;
clearInterval(i);
}
}
}
var textbox = document.querySelector('._3u328');
textbox.textContent = textToSend;
var event = new InputEvent('input', {
bubbles: true
});
textbox.dispatchEvent(event);
document.querySelector("button._3M-N-").click();
counter++;
if (counter === limit && limit !== 0){
clearInterval(i);
}
console.log("Já enviei " + counter + ' mensagens.')

}, 3000);// tempo entre cada mensagem em milisegundos

@carvalholeo
Copy link

Galera, alguém já pensou em modificar para marcar alguém em um grupo? Eu o @encinecarlos estamos com uma missão pra "perturbar" um membro do nosso grupo e isso seria interessante.

Olhando o HTML, não faço a menor ideia de como implementar hehehe... se alguém tiver uma ideia de como fazer, manda aqui ou via DM no Twitter (_carvalho_leo) ou Telegram (@carvalho_leo). Valeuuuuuu

@GuilhermeSalles
Copy link

colo o código aonde?

@JulyanoF
Copy link

Galera, alguém já pensou em modificar para marcar alguém em um grupo? Eu o @encinecarlos estamos com uma missão pra "perturbar" um membro do nosso grupo e isso seria interessante.

Olhando o HTML, não faço a menor ideia de como implementar hehehe... se alguém tiver uma ideia de como fazer, manda aqui ou via DM no Twitter (_carvalho_leo) ou Telegram (@carvalho_leo). Valeuuuuuu

lá para cima tem um exemplo de mention que fiz. funciona até em conversa 1x1

@IltonBJSilva
Copy link

nenhum desses codigos funciona, fica dando Uncaught TypeError: Cannot set property 'textContent' of null

@AlexFushi
Copy link

Nenhum destes códigos estão funcionando, alguém sabe o porque?

@JulyanoF
Copy link

JulyanoF commented Jul 25, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment