Energy Air jsBot
Der folgende jsBot wird verwenden, um das jährliche Energy Air Gewinnspiel zu gewinnen und so in kurzer Zeit eine handvoll Tickets abzustauben.
DEPRECATED.
Vorgehen
- Benötigt wird der Browser Google Chrome!
- Installation des Browser-Addons: Custom JavaScript for websites
- Aufruf der Gewinnspiel-Webseite → https://game.energy.ch
- Telefonnummer eintragen und Verifizieren!
- Starten des jsBots → Eintragen des Java-Codes im CJSW-Addon und speichern.
Sourcecode des jsBots v2019
$(document).ready(function () { function log (message, css) { setTimeout(console.log.bind(console, '%c' + message, css)); } setTimeout(console.clear); var coumter = 0; var reload = 0; cooky_expiry = new Date(); cooky_expiry.setTime(cooky_expiry.getTime()+(21*24*60*60*1000)); // 21 Days if (document.cookie.indexOf("counter=") >= 0) { var value = "; " + document.cookie; var parts = value.split("; counter="); if (parts.length == 2) { counter = parts.pop().split(";").shift(); log("already played " + counter + " game(s)", "background: black; color: yellow;"); } } else { document.cookie = "counter=0; expires=" + cooky_expiry.toGMTString(); } //var audio = new Audio('https://freesound.org/data/previews/366/366104_6687700-lq.mp3'); var answers = { 'Wann findet das Energy Air 2019 statt?': '7. September 2019', 'Wo findet das Energy Air statt?': 'Stade de Suisse, Bern', 'Welche DJ-Acts standen 2018 auf der Bühne des Energy Air?': 'Averdeck', 'Wer war der letzte Act am Energy Air 2018?': 'Lo & Leduc', 'Wann fand das Energy Air zum ersten Mal statt?': '2014', 'Wer eröffnete das erste Energy Air?': 'Pegasus', 'Welcher dieser Acts hatte einen Auftritt am Energy Air 2018?': 'Alvaro Soler', 'Wann beginnt das Energy Air 2019?': 'Um 17 Uhr', 'Welcher Schweizer Shootingstar spielt in DAS SCHÖNSTE MÄDCHEN DER WELT die Hauptrolle?': 'Luna Wedler', 'Wer eröffnete das erste Energy Air?': 'Bastian Baker', 'Wer war der letzte Act beim Energy Air 2017?': 'Kodaline', 'Welcher Schauspieler/Rapper trägt im Film eine goldene Maske?': 'Cyril', 'Was ist Cyrils besondere Begabung?': 'Texte schreiben und rappen', 'Wann fand Energy Air zum ersten Mal statt?': '2014', 'Die wievielte Energy Air Ausgabe findet dieses Jahr statt?': 'Die fünfte', 'Wo erfährst du immer die neusten Infos rund um das Energy Air?': 'im Radio, auf der Website und über Social Media', 'Energy Air Tickets kann man…': 'gewinnen', 'Wie viele Energy Air Tickets werden verlost?': '40’000', 'Wer stand am letzten Energy Air als Überraschungsgast auf der Bühne?': 'Bastian Baker', 'Was ist Cyrils (Aaron Hilmer) Markenzeichen im Film?': 'Seine grosse Nase', 'Mit welchem dieser Tickets geniesst du die beste Sicht zur Energy Air Bühne?': 'XTRA-Circle', 'Welcher dieser Acts hatte einen Auftritt am Energy Air 2017?': 'Aloe Blacc', 'Welche Fussballmannschaft ist im Stade de Suisse zuhause?': 'BSC Young Boys', 'Wann findet das Energy Air 2018 statt?': '8. September 2018', 'Wo findet das Energy Air statt?': 'Stade de Suisse (Bern)', 'Das NRJ-Gefährt ist ein…': 'Tuk Tuk', 'Wie viele Acts waren beim letzten Energy Air dabei?': '15', 'Mit welchem Preis wurde der Nachwuchsstar Luna Wedler dieses Jahr ausgezeichnet?': 'Shootingstar Berlinale 2018', 'Wann ist der offizielle Filmstart von DAS SCHÖNSTE MÄDCHEN DER WELT in den Schweizer Kinos?': '6. September 2018', 'Auf welchem Weg kann man KEINE Energy Air Tickets gewinnen?': 'E-Mail', 'Was verlangte Nena am Energy Air 2016?': 'Eine komplett weisse Garderobe', 'Wie viele Spotlights gibt es am Energy Air?': '250', 'Welche amerikanische Band trat am Energy Air 2016 auf?': 'One Republic', 'Wie breit ist die Energy Air Bühne?': '70 Meter', 'Welchen Song performte Dodo am Energy Air mit den Überraschungsgästen Lo & Leduc?': 'Mis Huus dis Huus', 'Welcher Act interviewte vor dem letzten Energy Air das Publikum?': 'Baba Shrimps', 'Welcher berühmte DJ-Act stand 2017 auf der Bühne des Energy Air?':'Dimitri Vegas & Like Mike', 'Woher kommt Energy Air Act Max Giesinger?':'Deutschland', 'Wie heisst der aktuelle Sommerhit von Energy Air Act Alvaro Soler?':'La Cintura', 'Wer spielt die Mutter von Cyril?':'Veronica Ferres', 'Energy Air ist der einzige Energy Event, …':'...der unter freiem Himmel stattfindet.', 'Auf welcher Social-Media-Plattform kann man keine Energy Air Tickets gewinnen?':'Twitter', 'Welche Farbe haben die Haare des Social Media Stars Julia Beautx im Film?': 'Pink', 'Welcher Act stand beim ersten Energy Air 2014 und auch im letzten Jahr auf der Bühne?': 'Pegasus', 'Wann beginnt das Energy Air 2018?': 'Um 16 Uhr', 'Wohin führt die Klassenfahrt?': 'Berlin', 'Was passiert, wenn es am Eventtag regnet?': 'Energy Air findet trotzdem statt', 'Wie reiste Kygo im Jahr 2015 ans Energy Air?': 'Im Privatjet', 'Wen nahm Knackeboul am Energy Air 2014 mit backstage?': 'Sein Mami', 'Wie schwer ist die Energy Air Bühne?': '450 Tonnen', 'Wie viele Konfetti-Kanonen gibt es am Energy Air?': '40', //possibly wrong 'Wie viele Mitarbeiter sind am Energy Air im Einsatz?': '1600' //possibly wrong }; var bubble_selected function search_answer (){ if (document.getElementsByTagName("H3")[1]) { reload = 0; if (bubble_selected) { counter++; document.cookie = "counter=" + counter + "; expires=" + cooky_expiry.toGMTString(); bubble_selected = false; log("already played " + counter + " game(s)", "background: black; color: yellow;"); } var h3 = document.getElementsByTagName("H3")[1].innerHTML; log(h3); if (h3 == "Du hast die erste Hürde gepackt. Um welchen Preis möchtest du spielen?"){ log("all answers were right - palying for tickets"); document.getElementsByClassName("tickets")[0].click(); setTimeout(() => { search_answer(); }, 1900); } else if (h3 in answers) { log("Debug: H3 is in answers."); var answer_elements = document.getElementsByTagName("label"); var found; for (var i = 0; i < answer_elements.length; i++) { // Debugging: printing answers from list and from page //log("answer_elements:" + answer_elements[i].textContent); //log("answers_h3:" + answers[h3]); if (answer_elements[i].textContent == answers[h3]) { log("correct answer: " + answer_elements[i].textContent); found = answer_elements[i]; select_answer(found); } //Workaround for Question with semikolon: (",Bern" is convertet to "(Bern)") if (answer_elements[i].textContent == "Stade de Suisse, Bern") { log("correct answer: " + answer_elements[i].textContent); found = answer_elements[i]; select_answer(found); } } } else { alert("!!unknown page or question!!"); } } else if (document.getElementById("lose")) { log("you lost - restarting the game"); document.getElementById("lose").click(); setTimeout(() => { search_answer(); }, 1970); } else if (document.getElementsByTagName("H1")[1]) { var h1 = document.getElementsByTagName("H1")[1].innerHTML; log(h1); if (h1 == "Hinter welchem Logo verstecken sich die Tickets?") { random_bubble() } if (h1 == "Leider verloren") { if (!bubble_selected){ log("some answers were wrong - restarting game", "background: red; font-size: 15px;"); document.getElementsByClassName("game-button")[0].click(); bubble_selected = true; search_answer(); } else { log("waiting on new game"); setTimeout(() => { search_answer(); }, 1000); } } else { //audio.play(); //alert("Unknown H1 Title"); } } else { if (reload > 3) { setTimeout(() => { reload++; search_answer(); }, 3000); } else { reload = 0; //audio.play(); // if (confirm('Page not found - Do you want to reload?')) { location.reload(); // } else { // Do nothing! // } } } } function select_answer(found) { setTimeout(() => { found.click(); }, 1200); setTimeout(() => { document.getElementById("next-question").click(); }, 1500); setTimeout(() => { search_answer(); }, 2290); } function random_bubble() { if (!bubble_selected){ //var nr = Math.floor(Math.random() * 12); var bubble_nr = Math.floor(Math.random() * 12) + 4; log("selecting bubble number " + (bubble_nr)); document.getElementsByTagName("img")[bubble_nr].click(); //document.getElementsByClassName("pulse")[nr].click(); ////For Debbunging and printing object content. //var obj = JSON.stringify(document.getElementsByClassName("circle")); //log(obj); bubble_selected = true; search_answer(); } else { log("waiting on result"); setTimeout(() => { search_answer(); }, 500); } } search_answer(); });