0% acharam este documento útil (0 voto)
12 visualizações10 páginas

Bot Avançado para Processos Schengen

O documento descreve um script de usuário para o preenchimento automático de formulários de solicitação de vistos Schengen, incluindo funcionalidades de monitoramento de disponibilidade e agendamento. Ele contém perfis de usuários com dados fictícios e validações para e-mail e telefone. O script também permite a exportação de logs e a criação de uma interface de usuário para interagir com as funcionalidades do bot.

Enviado por

aldamvika5
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
12 visualizações10 páginas

Bot Avançado para Processos Schengen

O documento descreve um script de usuário para o preenchimento automático de formulários de solicitação de vistos Schengen, incluindo funcionalidades de monitoramento de disponibilidade e agendamento. Ele contém perfis de usuários com dados fictícios e validações para e-mail e telefone. O script também permite a exportação de logs e a criação de uma interface de usuário para interagir com as funcionalidades do bot.

Enviado por

aldamvika5
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd

// ==UserScript==

// @name Processos Schengen 6 Beto • Versão Bot Avançado

// @namespace [Link]

// @version 6.3

// @description Bot avançado para preenchimento automático, monitoramento de slots e


agendamento.

// @author NORITRADESTAR

// @match [Link]

// @grant none

// ==/UserScript==

(function () {

'use strict';

// Dados dos perfis com valores aleatórios ou não sensíveis

const perfis = [

{ nome: "Schengen", primeiroNome: "João", ultimoNome: "Silva", dataNascimento: "11/05/1990",


numeroPassaporte: "X1234567", dataExpiracaoPassaporte: "01/09/2030", telefone: "945298308",
email: "[Link]@[Link]", codigoPais: "244" },

{ nome: "Schengen", primeiroNome: "Maria", ultimoNome: "Oliveira", dataNascimento:


"11/01/1985", numeroPassaporte: "X1234568", dataExpiracaoPassaporte: "14/03/2035", telefone:
"945296708", email: "[Link]@[Link]", codigoPais: "244" },

{ nome: "Schengen", primeiroNome: "Carlos", ultimoNome: "Pereira", dataNascimento:


"01/04/1978", numeroPassaporte: "X1234569", dataExpiracaoPassaporte: "05/06/2040", telefone:
"945468308", email: "[Link]@[Link]", codigoPais: "244" },

];

// Mapeamento dos campos no formulário


const campos = {

primeiroNome: "input[placeholder='Enter your first name']",

ultimoNome: "input[placeholder='Please enter last name.']",

dataNascimento: "input[placeholder='Please select the date']",

numeroPassaporte: "input[placeholder='Enter passport number']",

dataExpiracaoPassaporte: "#passportExpirtyDate",

telefone: "input[placeholder='012345648382']",

email: "input[placeholder='Enter Email Address']",

codigoPais: "input[placeholder='44']"

};

let monitorando = false; // Status do monitoramento

const logEventos = []; // Registro de eventos

let botaoMinMax = null; // Botão de maximizar/minimizar

let containerBot = null; // Contêiner do bot

// Função para validar o formato de e-mail

const validarEmail = (email) => {

const regexEmail = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;

return [Link](email);

};

// Função para validar o número de telefone

const validarTelefone = (telefone) => {

const regexTelefone = /^\d{9}$/;


return [Link](telefone);

};

// Função para preencher o formulário

const preencherFormulario = (perfil) => {

if (!validarEmail([Link])) {

alert("E-mail inválido para " + [Link]);

return;

if (!validarTelefone([Link])) {

alert("Número de telefone inválido para " + [Link]);

return;

[Link](campos).forEach((campo) => {

const seletor = campos[campo];

const elemento = [Link](seletor);

if (elemento) {

[Link] = perfil[campo];

[Link](new Event('change', { bubbles: true }));

});

adicionarLog(`Formulário preenchido para ${[Link]} ${[Link]}`);

};
// Adiciona um evento ao log

const adicionarLog = (mensagem) => {

const logContainer = [Link]('logEventos');

const evento = [Link]('div');

[Link] = `${new Date().toLocaleTimeString()} • ${mensagem}`;

[Link](evento);

[Link] = [Link];

};

// Função para verificar a mensagem de disponibilidade

const verificarMensagemDisponibilidade = () => {

const elementoMensagem = [Link]("[Link]-info");

if (elementoMensagem) {

const mensagem = [Link]();

adicionarLog(`Mensagem capturada: ${mensagem}`);

const regexData = /\d{2}-\d{2}-\d{4}/;

const dataDisponivel = [Link](regexData);

if (dataDisponivel) {

adicionarLog(`Próxima data disponível encontrada: ${dataDisponivel[0]}`);

alert(`Nova data disponível: ${dataDisponivel[0]}`);

// Preenche o formulário automaticamente com o primeiro perfil


preencherFormulario(perfis[0]);

} else {

adicionarLog("Nenhuma data disponível encontrada na mensagem.");

} else {

adicionarLog("Mensagem de disponibilidade não encontrada.");

setTimeout(verificarMensagemDisponibilidade, 5000);

};

// Função para exportar logs

const exportarLogs = () => {

const logs = [Link]('logEventos').textContent;

const blob = new Blob([logs], { type: "text/plain" });

const link = [Link]('a');

[Link] = [Link](blob);

[Link] = "[Link]";

[Link]();

adicionarLog("Logs exportados com sucesso.");

};

// Função para alternar entre maximizar e minimizar a interface

const alternarVisibilidade = () => {

if ([Link] === "40px" || [Link] === "") {


[Link] = "300px";

[Link] = "Minimizar";

} else {

[Link] = "40px";

[Link] = "Maximizar";

};

// Criação de botões flutuantes

const criarInterfaceBot = () => {

containerBot = [Link]('div');

[Link] = "botContainer";

[Link] = `

position: fixed;

top: 10%;

right: 10px;

width: 300px;

background: rgba(255, 255, 255, 0.9);

border: 1px solid #ccc;

padding: 10px;

border-radius: 5px;

box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);

z-index: 10000;

height: auto;

transition: width 0.3s;


max-width: 95%; /* Ajusta para dispositivos móveis */

`;

const titulo = [Link]('h4');

[Link] = "Bot de Agendamento Avançado";

[Link] = "margin: 0; text-align: center; color: #333;";

[Link](titulo);

[Link]((perfil) => {

const botao = [Link]('button');

[Link] = `Preencher: ${[Link]}`;

[Link] = `

display: block;

width: 100%;

margin: 5px 0;

padding: 10px;

background: #4CAF50;

color: white;

border: none;

border-radius: 5px;

cursor: pointer;

text-align: center;

`;

[Link]('click', () => preencherFormulario(perfil));

[Link](botao);
});

const botaoMonitorarMensagem = [Link]('button');

[Link] = "Monitorar Mensagem de Disponibilidade";

[Link] = `

display: block;

width: 100%;

margin: 10px 0;

padding: 10px;

background: #007BFF;

color: white;

border: none;

border-radius: 5px;

cursor: pointer;

`;

[Link]('click', () => {

adicionarLog("Monitoramento de mensagem de disponibilidade iniciado.");

verificarMensagemDisponibilidade();

});

[Link](botaoMonitorarMensagem);

const botaoExportar = [Link]('button');

[Link] = "Exportar Logs";

[Link] = `

display: block;
width: 100%;

margin: 10px 0;

padding: 10px;

background: #FF5733;

color: white;

border: none;

border-radius: 5px;

cursor: pointer;

`;

[Link]('click', exportarLogs);

[Link](botaoExportar);

botaoMinMax = [Link]('button');

[Link] = "Minimizar";

[Link] = `

display: block;

width: 100%;

margin: 10px 0;

padding: 10px;

background: #FFC107;

color: white;

border: none;

border-radius: 5px;

cursor: pointer;

`;
[Link]('click', alternarVisibilidade);

[Link](botaoMinMax);

const logContainer = [Link]('div');

[Link] = "logEventos";

[Link] = `

margin-top: 10px;

padding: 10px;

background: #f9f9f9;

border: 1px solid #ccc;

height: 150px;

overflow-y: auto;

font-size: 12px;

color: #333;

`;

[Link](logContainer);

[Link](containerBot);

};

// Inicialização do script

[Link]('load', criarInterfaceBot);

})();

Você também pode gostar