daily pastebin goal
75%
SHARE
TWEET

VatnikScript

a guest Mar 13th, 2018 253 in 168 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         Vote
  3. // @namespace    http://tampermonkey.net/
  4. // @version      1.2
  5. // @description  try to take over the vatnik!
  6. // @author       ME
  7. // @match        https://chrome.google.com/webstore/category/extensions
  8. // @grant        none
  9. // @include     http://vote.mil.ru/vote/krnd.htm
  10. // @include     http://vote.mil.ru/vote/laser.htm
  11. // @include     http://vote.mil.ru/vote/oms.htm
  12. // @run-at      document-starts
  13. // ==/UserScript==
  14.  
  15. (function() {
  16.     'use strict';
  17.     const options = {
  18.         vatnik: {
  19.             url: 'http://vote.mil.ru/vote/krnd.htm',
  20.             name: 'answer(12166131@cmsPoll)',
  21.             value: '12166253@cmsPollAnswer'
  22.         },
  23.         oftalmolog: {
  24.             url: 'http://vote.mil.ru/vote/laser.htm',
  25.             name: 'answer(12166129@cmsPoll)',
  26.             value: '12166228@cmsPollAnswer'
  27.         },
  28.         yaz: {
  29.             url: 'http://vote.mil.ru/vote/oms.htm',
  30.             name: 'answer(12166127@cmsPoll)',
  31.             value: '12166354@cmsPollAnswer'
  32.         },
  33.         karasik: {
  34.             url: 'http://vote.mil.ru/vote/oms.htm',
  35.             name: 'answer(12166127@cmsPoll)',
  36.             value: '12166313@cmsPollAnswer'
  37.         },
  38.         sheptun: {
  39.             url: 'http://vote.mil.ru/vote/oms.htm',
  40.             name: 'answer(12166127@cmsPoll)',
  41.             value: '12166352@cmsPollAnswer'
  42.         }
  43.     };
  44.  
  45.     const votesAmount = 100;
  46.     const voteDelayMs = 1100;
  47.     const selectedOption = options.vatnik;
  48.  
  49.     var frigateWindow;
  50.     var changeIp;
  51.  
  52.     function getFrigate(){
  53.         frigateWindow = document.getElementById('frigate_wr');
  54.         changeIp = frigateWindow.getElementsByClassName('frigate_links')[1];
  55.  
  56.         console.log(frigateWindow);
  57.         console.log(changeIp);
  58.     }
  59.  
  60.     function clearCookies() {
  61.         document.cookie
  62.             .split(";")
  63.             .forEach(c => {
  64.             document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/");
  65.         });
  66.     }
  67.  
  68.     function voteFor(option) {
  69.         const formData = new FormData();
  70.         formData.append('cmd', 'answer');
  71.         formData.append(option.name, option.value);
  72.         formData.append('res', 'Голосовать');
  73.  
  74.         return fetch(option.url, { method: 'post', body: formData });
  75.     }
  76.  
  77.     function handleErrors(response) {
  78.         if (!response.ok) {
  79.             throw Error(response.statusText);
  80.         }
  81.         return response;
  82.     }
  83.  
  84.     let number = 0;
  85.     let errors = 0;
  86.  
  87.     //getFrigate();
  88.  
  89.     const interval = setInterval(() => {
  90.         number++;
  91.         const currentNumber = number;
  92.  
  93.         clearCookies();
  94.  
  95.         console.log('Vote №' + currentNumber);
  96.         voteFor(selectedOption)
  97.             .then(handleErrors)
  98.             .then(res => console.log('OK ' + currentNumber))
  99.             .catch(err => {
  100.             errors++;
  101.             console.error('Fail ' + currentNumber, err);
  102.             if(errors>3){
  103.                 console.error('CHANGING IP');
  104.                 if(!changeIp){
  105.                     getFrigate();
  106.                 }
  107.                 changeIp.click();
  108.             }
  109.         });
  110.  
  111.         if (votesAmount <= number) {
  112.             clearInterval(interval);
  113.         }
  114.     }, voteDelayMs);
  115. })();
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top