· 6 years ago · Oct 28, 2019, 03:48 PM
1function telepizza(email, callback) {
2 var data = {
3 email: email //Aquí va tu email
4 }
5 var url = 'https://d1zbov1uaq8ftx.cloudfront.net/check-prize'; //Conecta con cloudfront para validar el premio. Esto es lo más importante
6 $.ajax({
7 type: "POST",
8 url: url,
9 dataType: 'json',
10 contentType: "application/json",
11 crossDomain: true,
12 data: JSON.stringify(data),
13 success: function (result) {
14 console.log(result);
15 var body = JSON.stringify(JSON.parse(result['body']));
16 var response = JSON.parse(body);
17 switch (response.responseMessage) {
18 case 'USER_IS_WINNER':
19 // window.location.href = "ganador.html" //Esto está comentado para que no te redireccione
20 callback(true); //Si eres ganador, devuelve true
21 break;
22 case 'USER_NOT_WIN':
23 // window.location.href = "no-ganador.html" //Comentado para que no te redireccione en caso de no ser ganador.
24 callback(false); //Devuelve falso
25 break;
26 default:
27 console.log("¡UpsLo sentimos pero este email no es valido, está repetido o ha sido mal introducido.¡INTENTALO DE NUEVO!");
28 callback(false)
29 break;
30 }
31 },
32 error: function (e) {
33 console.log("ERROR e.message");
34 }
35 });
36
37}
38
39function validateMail(email, callback) { //Función que valida el email
40 console.log('######################'); //Esto es más bien inútil, saca por la consola todo eso.
41 var data = { //Aquí van tus datos, tu email, y si quieres recibir emails de publicidad
42 email: email,
43 receive_offert: true //Esto debería estar en falso para no recibir promos, pero dado que es un email temporal, da igual.
44 }
45 console.log(data); // Saca por la consola tus datos (lo de arriba)
46 var url = 'https://d1zbov1uaq8ftx.cloudfront.net/check-mail'; //Conecta con cloudfront para validar el email. Es el mismo enlace que en la página oficial
47 $.ajax({
48 type: "POST",
49 url: url,
50 dataType: 'json',
51 contentType: "application/json",
52 crossDomain: true,
53 data: JSON.stringify(data),
54 success: function (result) {
55 // console.log(result);
56 var body = JSON.stringify(JSON.parse(result['body']));
57 var response = JSON.parse(body);
58 // console.log(response.responseMessage);
59 switch (response.responseMessage) { //Estos son todos los casos que puede devolver el servidor
60 case 'EMAIL_SAVED':
61 // $('#modal-participar').fadeIn();
62 break;
63 case 'DYNAMO_ERR':
64 console.log("¡UpsHa ocurrido un error interno, por favor, vuelve a intentarlo.");
65 break;
66 case 'USER_HAS_PARTICIPED':
67 console.log("¡UpsEl usuario ya ha participado en el concurso.");
68 break;
69 case 'FORBIDDEN':
70 console.log("¡UpsEsta IP ha alcanzado el número máximo de peticiones. Por favor, vuelve a intentarlo transcurridos 30 minutos.");
71 break;
72 default:
73 console.log("¡UpsLo sentimos pero este email no es valido, está vacío, está repetido o ha sido mal introducido.¡INTENTALO DE NUEVO!");
74 break;
75 }
76
77 callback(response.responseMessage) //Devuelve el mensaje del servidor
78 },
79 error: function (e) {
80 console.log("ERROR e.message");
81 }
82 });
83}
84
85var nombremail = 'correomierderaqui';
86var intents_tramp = 0; //Contador de intentos a cero.
87function execute() {
88 var mail = nombremail + intents_tramp + '@gmail.com'; //Variable email
89
90 validateMail(mail, function (response) { //Ejecuta la función validateMail()
91 console.log('Numerointento: ' + intents_tramp++); //Saca por la consola el número de intento
92 if (response == 'EMAIL_SAVED') { //Si la respuesta del servidor es EMAIL_SAVED, se ejecuta lo siguiente
93 telepizza(mail, function(winner) {
94 if(winner) { //Si la variable winner es "true" sale un mensaje emergente que te dice que has ganado.
95 alert('GANADOR !!! PIZZA GRATIS');
96 } else { //En caso contrario, llama a la función repeat()
97 repeat();
98 }
99 });
100 } else {
101 repeat(); //Si el email no es aceptado, llama a la función repeat()
102 }
103 });
104}
105
106function repeat() {
107 mail = nombremail + intents_tramp + '@gmail.com';
108 setTimeout(function () { //Vuelve a ejecutar el proceso con un delay de 2000ms (2s)
109 execute();
110 }, 2000);
111}
112
113
114execute(); //Ejecuta la función execute();