Advertisement
Guest User

youtube dislikes

a guest
Nov 23rd, 2021
832
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         Display dislike count
  3. // @namespace    http://tampermonkey.net/
  4. // @version      0.1
  5. // @author       Anonymous
  6. // @match        https://www.youtube.com/*
  7. // @icon         https://www.google.com/s2/favicons?domain=youtube.com
  8. // @grant        none
  9. // ==/UserScript==
  10.  
  11. function format(number) {
  12.     if (number < 1000)
  13.         return number;
  14.     if (number < 10000)
  15.         return Math.floor(number/100)/10 + "k";
  16.     return Math.floor(number/1000) + "k";
  17. }
  18.  
  19. async function updateDislikes() {
  20.     if (location.href.search(/v=[0-9a-zA-Z_-]{11}/)){
  21.         let element = document.querySelector('#button[aria-label="Dislike this video"]');
  22.         if (element) {
  23.             element.parentElement.parentElement.querySelector("#text").textContent = "...";
  24.         }
  25.         let response = await fetch(location.href);
  26.         let text = await response.text();
  27.         let ratio = (text.match(/averageRating":([\d\.]*)/)[1] - 1) / 4;
  28.         let likeCount = text.match(/label":"([\d,]*) likes/)[1];
  29.         likeCount = likeCount.replace(/\D/g, '');
  30.         let dislikeCount = likeCount / ratio - likeCount;
  31.         document.querySelector('#button[aria-label="Dislike this video"]').parentElement.parentElement.querySelector("#text").textContent = format(Math.round(dislikeCount));
  32.     }
  33. }
  34.  
  35. document.addEventListener("yt-navigate-finish", updateDislikes);
  36. window.addEventListener("load", updateDislikes);
  37. setInterval(updateDislikes, 3 * 60 * 1000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement