Advertisement
Guest User

Tumblr auto-like

a guest
Apr 22nd, 2017
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* Change the values according to your blog/internet connection */
  2. var tags            = ['tag1', 'tag2', 'tag3', 'tag4', 'tag5'];                     /*  Use at least 4-5 tags                                                               */
  3. var likesToDo       = 100;                                                          /*  Follow this format: tags_count * 2 * 10                                             */
  4. var globalLoadDelay = 5;                                                            /*  Wait time between page loads (seconds): FAST internet = 5, SLOW internet = 15..20   */
  5.  
  6. /* Do not change anything below, unless you know what you are doing! */
  7. var currentURL      = '';
  8. var postFilter      = false;
  9. var progress        = 0;
  10. var totalDelay      = 0;
  11. var imacrosEnter    = '\n';                                                         /* NOT WORKING, OR DIFFERENT OS? TRY "\r\n", "\r", "\n/g"                               */
  12.  
  13. function massLike() {
  14.     shuffleTags();
  15.     for (var i = 0 ; i <= 1 ; i++){
  16.         for (var j = 0 ; j < tags.length ; j++) {
  17.             loadURL(j, postFilter);
  18.             unlockNSFW();
  19.             filterPhotos();
  20.             scrollDown();
  21.             for (var k = 0 ; k < ((likesToDo/tags.length) / 2 ) ; k++) {
  22.                 likePost(generateRandom(1,4));
  23.                 showStatus();
  24.             }
  25.         }
  26.         postFilter = true;
  27.     }
  28. }
  29.  
  30. /* Shuffles tags - Randomizes tag order */
  31. function shuffleTags() {
  32.     for (var i = 0 ; i < tags.length ; i++) {
  33.         var randomIndex = generateRandom(0,tags.length-1);
  34.         var temp = tags[i];
  35.         tags[i] = tags[randomIndex];
  36.         tags[randomIndex] = temp;
  37.     }
  38. }
  39.  
  40. /* Loads the SEARCH URL, based on current TAG and FILTER (popular/recent) */
  41. function loadURL(currentIndex, filter) {
  42.     currentURL = 'https://www.tumblr.com/search/' + tags[currentIndex];
  43.     if (filter) currentURL += '/recent';
  44.     var imacro_code = "CODE: URL GOTO=" + currentURL;
  45.     iimPlay(imacro_code);
  46. }
  47.  
  48. /* Unlock NSFW posts */
  49. function unlockNSFW() {
  50.     var nsfwLock = window.document.getElementsByClassName("nsfw_filter_enabled")[0];
  51.     if (nsfwLock == (currentURL + '#')) {
  52.         var imacro_code = 'CODE: TAG POS=1 TYPE=I ATTR=CLASS:lock_icon' + imacrosEnter;
  53.         imacro_code += 'WAIT SECONDS=' + globalLoadDelay;
  54.         iimPlay(imacro_code);
  55.     }
  56. }
  57.  
  58. /* Filter posts - PHOTOS */
  59. function filterPhotos() {
  60.     var imacro_code = 'CODE:' + 'SET !ERRORIGNORE YES' + imacrosEnter + 'SET !TIMEOUT_STEP 0' + imacrosEnter;
  61.     imacro_code += 'TAG POS=1 TYPE=SPAN ATTR=TXT:Filter<SP>by<SP>post<SP>type' + imacrosEnter;
  62.     imacro_code += 'TAG POS=1 TYPE=SPAN ATTR=TXT:Photo' + imacrosEnter;
  63.     imacro_code += 'WAIT SECONDS=' + globalLoadDelay;
  64.     iimPlay(imacro_code);
  65. }
  66.  
  67. /* Scroll down - Load more posts */
  68. function scrollDown() {
  69.     for (var i = 0 ; i < 2 ; i++ ) {
  70.         window.scrollTo(0, (i + 1) * 25000 );
  71.         imacro_code = "CODE: WAIT SECONDS=2";
  72.         iimPlay(imacro_code);
  73.     }
  74. }
  75.  
  76. /* LIKE */
  77. function likePost(likeDelay) {
  78.     var imacro_code = 'CODE:' + 'SET !ERRORIGNORE YES' + imacrosEnter + 'SET !TIMEOUT_STEP 0' + imacrosEnter;
  79.     imacro_code += 'TAG POS=1 TYPE=DIV ATTR=DATA-SUBVIEW:like&&TITLE:Like&&CLASS:post_control<SP>post-control-icon<SP>like&&TXT:' + imacrosEnter;
  80.     imacro_code += 'WAIT SECONDS=' + likeDelay;
  81.     iimPlay(imacro_code);
  82.    
  83.     /* UPDATE STATUS */
  84.     totalDelay += likeDelay;
  85.     progress++;
  86. }
  87.  
  88. function addDelay(seconds) {
  89.     var imacro_code = "CODE: " + "WAIT SECONDS=" + seconds;
  90.     iimPlay(imacro_code);
  91. }
  92.  
  93. function generateRandom(minInterval, maxInterval) {
  94.     return Math.floor((Math.random() * maxInterval) + minInterval);
  95. }
  96.  
  97. function showStatus() {
  98.     iimDisplay( '# STATUS #'+ imacrosEnter   + imacrosEnter +
  99.                 'PROGRESS: '+ progress + '/' + likesToDo    + imacrosEnter +
  100.                 "DELAY: "   + totalDelay     + " sec"       );
  101. }
  102.  
  103. massLike();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement