Last active
November 6, 2021 16:41
-
-
Save DevWellington/6723294f939f4daf41ad5ec6a9e05295 to your computer and use it in GitHub Desktop.
bot web.whatsapp.com - send message for a contacts list
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var script = document.createElement('script'); | |
script.src = "https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"; | |
document.getElementsByTagName('head')[0].appendChild(script); | |
// search contact | |
function searchContact(searchValue, interval_add) | |
{ | |
var interval = interval_add; | |
var count = 1; | |
var i = 0; | |
var timer = setInterval( function(){ | |
i++; | |
if( i == count ) | |
clearInterval(timer); | |
console.log(interval, "BEGIN. First step of process: ", searchValue); | |
// process send message | |
$(".icon-chat").click(); | |
console.log(interval, 'click in icon-chat', searchValue); | |
// ativa o campo para digitar a pesquisa | |
$(".subheader-search:eq(0)").addClass("active"); | |
console.log(interval, 'addClass active', searchValue); | |
// limpa o campo de pesquisa | |
$(".input-placeholder:eq(0)").text(''); | |
console.log(interval, 'clean input placeholder', searchValue); | |
// cria o evento e insere o valor no campo de pesquisa | |
var evt = document.createEvent("TextEvent"); | |
evt.initTextEvent ("textInput", true, true, window, searchValue, 0, "pt-BR"); | |
console.log(interval, 'create event text', searchValue); | |
document.querySelector(".input-search").dispatchEvent(evt); | |
console.log(interval, 'dispatch event text', searchValue); | |
console.log(interval, ' - Insert text of search! - ', searchValue); | |
}, interval * 1000); | |
return searchValue; | |
} | |
function filterContact(searchValue, interval_add) | |
{ | |
var interval = interval_add; | |
var count = 1; | |
var i = 0; | |
var timer = setInterval( function(){ | |
i++; | |
if( i == count ) | |
clearInterval(timer); | |
console.log(interval, 'click in contact', searchValue); | |
$(".contact").click(); | |
console.log(interval, " - Contact filtered (filterContact)! - ", searchValue); | |
}, interval * 1000); | |
} | |
// send message | |
function sendMessage(contact, message, interval_add) | |
{ | |
var interval = interval_add; | |
var count = 1; | |
var i = 0; | |
var timer = setInterval( function(){ | |
var evt = document.createEvent("TextEvent"); | |
evt.initTextEvent ("textInput", true, true, window, message, 0, "pt-BR"); | |
console.log(interval, 'create event text', contact); | |
document.querySelector(".input-container .input").focus(); | |
console.log(interval, 'focus in input text', contact); | |
document.querySelector(".input-container .input").dispatchEvent(evt); | |
console.log(interval, 'dispatch event text', contact); | |
i++; | |
if( i == count ) | |
clearInterval(timer); | |
var event = new MouseEvent('click', { | |
'view': window, | |
'bubbles': true, | |
'cancelable': true | |
}); | |
document.querySelector(".icon.btn-icon.icon-send").dispatchEvent(event); | |
console.log(interval, 'dispatch event click', contact); | |
console.log(interval, " - Messages sent (sendMessage)! - ", contact); | |
console.log(interval, "END. Last step of process: ", contact); | |
}, interval * 1000); | |
} | |
// send message for contact | |
function sendMessageToContact(contact, interval_search, interval_filter, interval_send, interval_all) | |
{ | |
var i = 0; | |
var count = 1; | |
var interval = interval_all; | |
var message = "Olá, você deixou seu Whatsapp no meu Instagram a respeito do *Mini Curso GRATUITO de Importação*. \n\nMeu nome é *Wellington Rocha* e PARA PARTICIPAR do Mini Curso você precisa *me adicionar nos seus contatos*, e ATUALIZAR a lista, ok? É muito importante que *faça isso agora*, pois se não me adicionar você NÃO IRÁ receber o acesso ao Mini Curso, pois ele será enviado através da lista de transmissão, e o WhatsApp só vai te entregar a mensagem se eu estiver na sua lista de contatos. \n\nE por favor, escolha a opção de salvar no seu e-mail, caso o seu chip esteja cancelado ou inativo.\n\nDepois é só aguardar que *segunda-feira às 19:00hs* você vai receber o Mini Curso. Avise com um joinha 👍 assim que me adicionar e atualizar seus contatos, ok? \n\n*Obrigado, e até segunda*."; | |
var timer = setInterval(function(){ | |
i++; | |
if( i == count ) | |
clearInterval(timer); | |
searchContact(contact, interval_search); | |
filterContact(contact, interval_filter); | |
sendMessage(contact, message, interval_send); | |
}, interval * 1000); | |
} | |
// sendMessage from array list | |
var contactList = ["Meu Claro","Meu Tim","Meu Claro",'Meu Tim']; | |
var count = 1; | |
var interval_search = 3; | |
var interval_filter = 3; | |
var interval_send = 3; | |
var interval_all = 3; | |
$.each(contactList, function(k,contact){ | |
var i = 0; | |
var timer = setInterval(function(){ | |
interval_search = interval_all; | |
interval_filter = interval_search + 3; | |
interval_send = interval_search + 6; | |
i++; | |
if( i == count ) | |
clearInterval(timer); | |
console.log(k, "Start contact process: ", contact); | |
sendMessageToContact(contact, interval_search, interval_filter, interval_send, interval_all); | |
interval_all = interval_send + 6; | |
// console.log(interval_search, 'interval_search'); | |
// console.log(interval_filter, 'interval_filter'); | |
// console.log(interval_send, 'interval_send'); | |
// console.log(interval_all, 'interval_all'); | |
// console.log(contact, interval_search, interval_filter, interval_send, interval_all); | |
}, interval_all*1000); | |
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// search contact | |
function searchContact(searchValue, interval_add) | |
{ | |
var interval = interval_add; | |
var count = 1; | |
var i = 0; | |
/* | |
// process send message | |
$(".icon-chat").click(); | |
// ativa o campo para digitar a pesquisa | |
$(".subheader-search:eq(0)").addClass("active"); | |
// limpa o campo de pesquisa | |
$(".input-placeholder:eq(0)").text(''); | |
// cria o evento e insere o valor no campo de pesquisa | |
var evt = document.createEvent("TextEvent"); | |
evt.initTextEvent ("textInput", true, true, window, searchValue, 0, "pt-BR"); | |
document.querySelector(".input-search").dispatchEvent(evt); | |
*/ | |
var timer = setInterval( function(){ | |
$(".contact").click(); | |
i++; | |
if( i == count ) | |
clearInterval(timer); | |
console.log(interval, " - Contact selected (searchContact)! - ", searchValue); | |
}, interval*1000); | |
} | |
// send message | |
function sendMessage(contact, message, interval_add) | |
{ | |
var interval = interval_add; | |
var count = 1; | |
var i = 0; | |
var timer = setInterval( function(){ | |
/*var evt = document.createEvent("TextEvent"); | |
evt.initTextEvent ("textInput", true, true, window, message, 0, "pt-BR"); | |
document.querySelector(".input-container .input").focus(); | |
document.querySelector(".input-container .input").dispatchEvent(evt); | |
*/ | |
i++; | |
if( i == count ) | |
clearInterval(timer); | |
/* | |
var event = new MouseEvent('click', { | |
'view': window, | |
'bubbles': true, | |
'cancelable': true | |
}); | |
document.querySelector(".icon.btn-icon.icon-send").dispatchEvent(event); | |
*/ | |
console.log(interval, " - Messages sent (sendMessage)! - ", contact); | |
}, interval * 1000); | |
} | |
// send message for contact | |
function sendMessageToContact(contact, interval_search, interval_send, interval_all) | |
{ | |
var i = 0; | |
var count = 1; | |
var interval = interval_all; | |
var message = "Olá, você deixou seu Whatsapp no meu Instagram a respeito do *Mini Curso GRATUITO de Importação*. \n\nMeu nome é *Wellington Rocha* e PARA PARTICIPAR do Mini Curso você precisa *me adicionar nos seus contatos*, e ATUALIZAR a lista, ok? É muito importante que *faça isso agora*, pois se não me adicionar você NÃO IRÁ receber o acesso ao Mini Curso, pois ele será enviado através da lista de transmissão, e o WhatsApp só vai te entregar a mensagem se eu estiver na sua lista de contatos. \n\nE por favor, escolha a opção de salvar no seu e-mail, caso o seu chip esteja cancelado ou inativo.\n\nDepois é só aguardar que *segunda-feira às 19:00hs* você vai receber o Mini Curso. Avise com um joinha 👍 assim que me adicionar e atualizar seus contatos, ok? \n\n*Obrigado, e até segunda*."; | |
var timer = setInterval(function(){ | |
i++; | |
if( i == count ) | |
clearInterval(timer); | |
searchContact(contact, interval_search); | |
sendMessage(contact, message, interval_send); | |
}, interval * 1000); | |
} | |
// sendMessage from array list | |
var contactList = ['Meu Tim','Meu Claro','Meu Vivo']; | |
var count = 1; | |
var interval_search = 10; | |
var interval_send = 10; | |
var interval_all = 10; | |
$.each(contactList.sort(), function(k,contact){ | |
var i = 0; | |
var timer = setInterval(function(){ | |
interval_search = interval_all; | |
interval_send = interval_search + 20; | |
i++; | |
if( i == count ) | |
clearInterval(timer); | |
sendMessageToContact(contact,interval_search, interval_send, interval_all); | |
console.log(interval_all, " - Iniciado processo do contato: ", contact); | |
interval_all = interval_send + 20; | |
console.log(interval_search); | |
console.log(interval_send); | |
console.log(interval_all); | |
console.log(contact, interval_search, interval_send, interval_all); | |
}, interval_all*1000); | |
}); | |
console.log("Finishing!"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var script = document.createElement('script'); | |
script.src = "https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"; | |
document.getElementsByTagName('head')[0].appendChild(script); | |
function sleepFor( sleepDuration ) | |
{ | |
var now = new Date().getTime(); | |
while(new Date().getTime() < now + sleepDuration){ /* do nothing */ } | |
} | |
// list and count contacts | |
function filterContactList(searchValue) | |
{ | |
var interval = 5; | |
var count = 1; | |
var i = 0; | |
var timer = setInterval(function(){ | |
i++; | |
if( i == count ) | |
clearInterval(timer); | |
// process send message | |
$(".icon-chat").click(); | |
// ativa o campo para digitar a pesquisa | |
$(".subheader-search:eq(0)").addClass("active"); | |
// limpa o campo de pesquisa | |
$(".input-placeholder:eq(0)").text(''); | |
// cria o evento e insere o valor no campo de pesquisa | |
var evt = document.createEvent("TextEvent"); | |
evt.initTextEvent ("textInput", true, true, window, searchValue, 0, "en-US"); | |
document.querySelector(".input-search").dispatchEvent(evt); | |
console.log("Contato selecionado (filterContactList)!"); | |
}, interval * 1000); | |
} | |
// get all contacts - return array | |
function getContactList() | |
{ | |
var interval = 5; | |
var count = 1; | |
var i = 0; | |
var contactList = new Array(); | |
var timer = setInterval(function(){ | |
i++; | |
if( i == count ) | |
clearInterval(timer); | |
var qtdeContacts = 0; | |
$(".contact").each(function(k,v){ | |
contactList.push($(this).find(".chat-body .chat-title span").text()); | |
qtdeContacts++; | |
}); | |
console.log(qtdeContacts + " contatos encontrados (getContactList)!"); | |
}, interval * 1000); | |
return contactList; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Oi Wellington,
Não consegui fazer seu código funcionar.
Por exemplo, o comando para iniciar pesquisa: $(".icon-chat").click();
Só consegui assim:
function triggerMouseEvent(node, eventType) {
var event = document.createEvent('MouseEvents');
event.initEvent(eventType, true, true);
node.dispatchEvent(event);
}
triggerMouseEvent(document.getElementsByClassName("icon icon-chat")[0], "mousedown");