Add the dislike count back to my YouTube videos via a comment containing that information.

Related tags

Video yt-dislikes
Overview

YouTube Dislikes

Forrest Knight

Python Version 3.0+

Only use if you know what the code actually does. I'm not responsible for your use of this code in anyway, or any bugs that may be in the code. Honestly, you shouldn't trust any code I write - I don't.

Run Command:

python yt-dislikes.py 

Known Issues & Bugs

I wanted to put this here moreso as a disclaimer, as I won't be filing issues for everything listed.

  • Doesn't pin new or updated comments
  • Can unintentionally overwrite your other comments based on the SEARCH_TERMS (top priority)
  • Not currently automated
Comments
  • Cache VidId to skip next page token everytime.

    Cache VidId to skip next page token everytime.

    First of, its my first time writing anything on GitHub, sorry if I don't make sense, you can just give a dislike and i'll remove the issue, just hoping to help.

    I think a small txt or json file could be generated for the first run of grabbing all video IDs and then cache it in order to skip the next page token thing that happens when you request for video IDs. And in order to check if a new video is uploaded you can just check against the top ID of cached file vs first returned ID from API. (assuming video ID is static)

    I am really sorry if i got the whole process wrong, if it's a real issue, i'll go read up the all the youtube API docs and excitedly contribute a solution, I did not go through it as of posting the issue as I am studying for my exams. Thanks,

    OT.

    opened by OTonGitHub 3
  • README

    README

    I really like your idea and execution, so wanted to share your GH Repo with other people but found that it lacks README so I wrote one.

    I won't mind if you don't merge this PR, just wanna tell you to create a README file :)

    btw, I too dislike what YT did.

    opened by samyak039 1
  • For a video with Zero Likes and Dislikes, the Script will give a ZeroDivisionError. Need to write a testcase for that.

    For a video with Zero Likes and Dislikes, the Script will give a ZeroDivisionError. Need to write a testcase for that.

    I was using the script on my channel's videos, and there was a video causing the ZeroDivisionError, so upon looking at the details for the video, I found that it had no likes and dislikes, and so, it was getting the error, and causing a Traceback. This can be prevented by writing a testcase that checks such a thing.

    opened by yatharth9 0
  • Distribution issues

    Distribution issues

    https://github.com/Anarios/return-youtube-dislike

    The comments in their README detail why you shouldn't put any more effort into this; it's practice, it's something to show your viewers, but Youtube's working against you man. I was about to write a JS userscript which would revert the old behavior of the dislike button in-browser, and comment a link to it in your video, but I was lucky to find that project before I got too deep.

    While reading your code, and reflecting on the hate-bombing that Youtube is trying to combat for good reason, I came up with an idea. Why not force users to watch like 5-10 videos from a specific channel all the way through, before being allowed to create a review of that channel or piece of content? This would probably require an overhaul of youtube's existing rating infrastructure to something like the five star system, but my thought is that it could help humanize targets of hate-bombing, while also ensuring that people are actually exposed to content before leaving bogus ratings.

    IDK, lmk what you think. I'm not a YT creator or anything so I have literally no way to suggest this idea @youtube for consideration. Good review systems serve a utility to viewers, what Youtube is doing now isn't doing anything to really help the problem at hand.

    opened by M3TIOR 1
  • Improve readability and testability of code

    Improve readability and testability of code

    Issue

    Having all the logic bundled within a single main method is difficult to understand and test, so I broke up the code as much as I could in a way that could address both these problems.

    Changes

    • Code hygiene:
      • Added wrapper class (YoutubeClientAdapter) to interface functions from the youtube api client and implement helper methods for the main method
        • If this approach is accepted, we can mock the api client using mockito and start writing YoutubeClientAdapter tests
      • Added placeholders (views, likes, etc..) to the statistics comment (stat_comment) to simplify generating new comment strings using the String.format method (perhaps we should think about localizing this string in the future?)
    • Other improvements:
      • Get video statistics in one batch fetch in YoutubeClientAdapter#get_channel_videos rather than invoking a fetch operation for each video
      • Set ratio to 0 in main method if there are 0 likes to avoid division by 0 error
      • Added new requirement API_KEY for the .env file
        • Note: I was not able to get a successful response from the comment insert/update api operations without this
      • Added __pycache__, .vscode to .gitignore
    Screen Shot 2021-11-23 at 12 44 22 AM
    opened by joeyshi12 2
  • [FUTURE] Validate auto-generated like/dislike counter comment

    [FUTURE] Validate auto-generated like/dislike counter comment

    This is a task that can be elaborated on in the future, but when other Youtubers start using this tool, we may want to have a strategy to ensure the number of likes and dislikes cannot be fudged by the user. This is so that we don't have people abusing and ruining this tool.

    opened by joeyshi12 2
  • Update message body content to be easier to edit

    Update message body content to be easier to edit

    Since about 2015 apparently, Python has had this concept of "f" strings, whereby you don't have to concatinate expression results/values manually between string elements. If you include a "list" of strings on newlines between ( )'s without commas, apparently they'll become auto concatinated.

    opened by tauraamui 1
  • Can unintentionally overwrite your other comments based on the SEARCH_TERMS

    Can unintentionally overwrite your other comments based on the SEARCH_TERMS

    This will not be worked on because each individual's search terms will be different. I only created this issue to inform everyone of this bug. However, once I have more information on how to avoid this, I'll draw out some guidelines.

    bug wontfix 
    opened by ForrestKnight 3
  • Style improvements

    Style improvements

    • Converted camelCase to snake_case, since that's the recommended naming convention for Python.
    • Removed redundant float casts on L64 (since / in Python always returns a float and doesn't need casting like Java)
    • Refactored text_original to look a bit cleaner
    opened by trag1c 3
Owner
Forrest Knight
🎥 My YouTube channel's more entertaining. I code web apps & whatever helps make my life easier.
Forrest Knight
Youtube-dislikes-adder - Add dislikes to the description of your YouTube videos.

Add number of dislikes to the description of your YouTube videos. Number of dislikes are updated if you let this function as a bot.

fluks 1 Aug 23, 2022
Youtube as covert-channel - Control systems remotely and execute commands by uploading videos to Youtube

covert-tube A program to control systems remotely by uploading videos to Youtube using Python to create the videos and the listener, emulating some ma

Ricardo Ruiz 101 Nov 1, 2022
Python Script for Streaming YouTube Videos in VLC Media Player.

Short Description Use this Simple Script to stream YouTube Video to VLC

Sijey 6 May 27, 2021
A python generator that converts youtube videos to ascii art in your console.

Video To ASCII A python generator that converts youtube videos to ascii art in your console. This has not been tested for windows! Example Normal mode

Julian Jones 24 Nov 2, 2022
Script simples para baixar vídeos/áudios/playlist do YouTube

?? VilelaTube ▶️ Script simples para baixar vídeos/áudios/playlist do YouTube Requisitos • Como usar • Melhorias futuras ⚠️ Atenção! ⚠️ Lembre-se de a

João Victor Vilela dos Santos 2 Nov 3, 2021
This will help you study and avoid moving mouse coz u dont need mouse for watching youtube videos

This will help you study and avoid moving mouse coz u dont need mouse for watching youtube videos. Neither u need it for pdfs just use your keyboard

KorryKatti 5 Jan 7, 2022
A way to run youtube videos in TTY

TTY youtube client its finally here, the one thing literally NO ONE ASKED FOR!! A way to run youtube videos in TTY Dependencies: (pip) yt-search (syst

null 1 Nov 28, 2021
BlogBot - a Python script that create blogs from YouTube videos.

BlogBot - Convert Youtube Videos To Blogs BlogBot is a Python script that create blogs from YouTube videos.

Nikhil Bhamere 4 Apr 22, 2022
Vigia-youtube - The YouTube Watch bot is able to monitor channels on Google's video platform

Vigia do YouTube O bot Vigia do YouTube é capaz de monitorar canais na plataform

Alessandro Feitosa Jr 10 Oct 3, 2022
A Telegram bot to convert videos into x265/x264 format via ffmpeg.

Video Encoder Bot A Telegram bot to convert videos into x265/x264 format via ffmpeg. Configuration Add values in environment variables or add them in

Adnan Ahmad 82 Jan 3, 2023
A Telegram bot to convert videos into x265/x264 format via ffmpeg.

Video Encoder Bot A Telegram bot to convert videos into x265/x264 format via ffmpeg. Configuration Add values in environment variables or add them in

null 1 Mar 8, 2022
Techie Sneh 17 Nov 23, 2021
Add filters (background blur, etc) to your webcam on Linux.

Add filters (background blur, etc) to your webcam on Linux.

Jashandeep Sohi 480 Dec 14, 2022
A Simple Telegram Bot By @Tellybots to add Subtitle Files in Video

Video-subtitle-merger A Simple Telegram Bot By @Tellybots to add Subtitle Files in Video Features Force Sub Button Added Soon Support Media Type Such

null 6 Dec 31, 2021
Add a "flame" effect on each hand's index onto a video stream.

Add a "flame" effect on each hand's index onto a video stream. recording.webm.mov This script is just a quick hack, it's a bit of glue between mediapi

Paul Willot 7 Sep 15, 2022
It is a simple python package to play videos in the terminal using characters as pixels

It is a simple python package to play videos in the terminal using characters as pixels

Joel Ibaceta 1.4k Jan 7, 2023
pygamevideo module helps developer to embed videos into their Pygame display

pygamevideo module helps developer to embed videos into their Pygame display. Audio playback doesn't use pygame.mixer.

Kadir Aksoy 10 Dec 28, 2022
Playing videos through S3 buckets (Wasabi, AWS, etc.) through client-side VideoJS player

Playing videos through S3 buckets (Wasabi, AWS, etc.) through client-side VideoJS player without incurring ingress/egree traffic on EC2 Instance.

Syed Umar Arfeen 8 Mar 28, 2022
goal: render videos on eu4's timeline function

Rendering Videos on the EU4 Time Line This repository contains code to create an eu4-savefile that plays back a video in question.

null 29 Dec 24, 2022