Automatiza a pesquisa no Bing
// ==UserScript==
// @name Auto Search Bing ✅
// @namespace http://tampermonkey.net/
// @version 0.2
// @description Automatiza a pesquisa no Bing
// @author Kenite-Kelve
// @match https://www.bing.com/*
// @icon https://az15297.vo.msecnd.net/images/rewards.svg
// @license MIT
// @grant none
// ==/UserScript==
(function() {
'use strict';
// Função principal que executa a ação de pesquisa automática
function autoSearch() {
// Espera 5 segundos antes de focar no campo de busca
setTimeout(function() {
// Elemento de entrada de texto da barra de pesquisa do Bing
let searchInput = document.getElementById('sb_form_q');
if (searchInput) {
// Limpa o campo de busca
searchInput.value = '';
// Consulta aleatória a ser pesquisada
let query = generateRandomQuery(); // Gera uma consulta aleatória
// Digita a consulta letra por letra
typeText(searchInput, query, function() {
// Após digitar a consulta, seleciona o botão de busca
let searchButton = document.getElementById('sb_form_go');
if (searchButton) {
// Dispara um evento de clique no botão de busca após um curto atraso
setTimeout(function() {
searchButton.click();
}, 800); // Ajuste o atraso conforme necessário
} else {
console.error('Botão de busca não encontrado.');
}
});
} else {
console.error('Campo de busca não encontrado.');
}
}, 2000); // Atraso de 5 segundos antes de focar no campo de busca
// Adiciona a div da mensagem ao corpo da página
let messageDiv = createMessageDiv();
document.body.appendChild(messageDiv);
// Estilo para animação do botão de busca
let style = document.createElement('style');
style.textContent = `
#sb_form_go {
position: relative;
}
.border-animation {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: 2px solid transparent;
border-radius: 5px;
animation: borderAnimation 2s infinite linear;
}
@keyframes borderAnimation {
0% { border-color: transparent; }
25% { border-color: red; }
50% { border-color: blue; }
75% { border-color: green; }
100% { border-color: yellow; }
}
`;
document.head.appendChild(style);
}
// Função para criar a div da mensagem
function createMessageDiv() {
let messageDiv = document.createElement('div');
messageDiv.style.position = 'fixed';
messageDiv.style.bottom = '20px'; // Ajuste a posição vertical conforme necessário
messageDiv.style.left = '50%';
messageDiv.style.transform = 'translateX(-50%)';
messageDiv.style.padding = '10px 20px';
messageDiv.style.background = '#f1c40f'; // Cor de fundo amarela
messageDiv.style.color = '#333'; // Cor do texto
messageDiv.style.border = '3px solid transparent'; // Borda sólida inicialmente transparente
messageDiv.style.borderRadius = '10px'; // Borda arredondada
messageDiv.style.cursor = 'pointer';
messageDiv.textContent = 'Me siga no Roblox';
// Adiciona a animação de arco-íris à borda
messageDiv.style.animation = 'rainbowBorder 5s linear infinite'; // Chama a animação 'rainbowBorder' com duração de 2 segundos, linear e repetição infinita
// Adiciona o evento de clique para redirecionar ao link desejado
messageDiv.addEventListener('click', function() {
window.open('https://www.roblox.com/users/2828278946/profile', '_blank'); // Substitua com o link do seu perfil no Roblox
});
return messageDiv;
}
// Cria a animação de arco-íris na borda
const rainbowBorderAnimation = `
@keyframes rainbowBorder {
0% { border-color: red; }
16.67% { border-color: orange; }
33.33% { border-color: yellow; }
50% { border-color: green; }
66.67% { border-color: blue; }
83.33% { border-color: indigo; }
100% { border-color: violet; }
}
`;
// Adiciona a animação de arco-íris ao estilo global
const style = document.createElement('style');
style.innerHTML = rainbowBorderAnimation;
document.head.appendChild(style);
// Função para simular a digitação de texto em um elemento
function typeText(element, text, callback) {
// Inicia o índice de caractere em 0
let charIndex = 0;
// Define um intervalo para simular a digitação letra por letra
let typeInterval = setInterval(function() {
// Adiciona o próximo caractere ao campo de busca
element.value += text[charIndex++];
// Se todos os caracteres foram digitados, limpa o intervalo
if (charIndex >= text.length) {
clearInterval(typeInterval);
// Chama o callback após digitar toda a consulta
if (callback && typeof callback === 'function') {
callback();
}
}
}, 50); // Ajuste o intervalo conforme necessário
}
// Função para gerar uma consulta aleatória com números
function generateRandomQuery() {
let phrases = [
"lorem ipsum dolor sit amet",
"consectetur adipiscing elit",
"sed do eiusmod tempor incididunt",
"ut labore et dolore magna aliqua",
"quis nostrud exercitation ullamco",
"laboris nisi ut aliquip ex ea commodo consequat",
"duis aute irure dolor in reprehenderit",
"voluptate velit esse cillum dolore",
"eu fugiat nulla pariatur",
"excepteur sint occaecat cupidatat non proident",
"sunt in culpa qui officia deserunt mollit anim id est laborum"
];
// Seleciona uma frase aleatória da lista
let randomPhrase = phrases[Math.floor(Math.random() * phrases.length)];
// Divide a frase em palavras
let words = randomPhrase.split(' ');
// Insere números aleatórios no meio das palavras
for (let i = 0; i < words.length; i++) {
// Gera um número aleatório entre 0 e 999
let randomNumber = Math.floor(Math.random() * 1000);
// Insere o número aleatório no meio da palavra
let randomIndex = Math.floor(Math.random() * (words[i].length + 1));
words[i] = words[i].slice(0, randomIndex) + randomNumber + words[i].slice(randomIndex);
}
// Junta as palavras para formar a consulta completa
return words.join(' ');
}
// Executa a função de pesquisa automática após um curto atraso (para garantir que a página tenha carregado completamente)
setTimeout(autoSearch, 1000); // Ajuste o atraso conforme necessário
})();