Allows you to purge all reply comments left by a user on a YouTube channel or video.

Overview

YouTube Spammer Purge

Allows you to purge all reply comments left by a user on a YouTube channel or video.

Purpose

Recently, there has been a massive infestation of spam on YouTube where fake impersonator accounts leave spam/scam replies to hundreds of users on a creator's videos. For some god-forsaken reason, YouTube offers no way to delete all comments by a specific user at once, meaning you must delete them one by one BY HAND.

YouTube offers a functionality to ban a user, but it does NOT delete previous comments. Therefore I created this script to allow you to instantly purge their spam replies.

Usage Notes

  1. Because of its limited purpose, the script ONLY deletes replies, not top-level comments. That functionality may be added later if needed.

  2. To use this script, you will need to obtain your own API credentials file by making a project via the Google Developers Console (aka 'Google Cloud Platform'). The credential file should be re-named 'client_secret.json' and be placed in the same directory as this script. See Instructions below.

  3. I suck at programming so if something doesn't work I'll try to fix it but might not even know how, so don't expect too much.

Screenshots

Screenshot 1

Screenshot 2

Installation

The script file is standalone, but you DO need to acquire your own API credentials file to access the YouTube API - See instructions below.

Instructions - Obtaining YouTube API Key

To use this script, you will need an "Oauth2" credential to access the scanning and deletion functions via YouTube's Data API. Otherwise this script won't work at all.

  1. Log into Google Developer's Console with your Google account that has your YouTube channel: https://console.cloud.google.com/apis/dashboard

  2. On the top blue bar nex to where it says "Google Cloud Platform", click the dropdown to 'Select a Project'. (If you have existing projects, it may instead show the name of one)

  3. In the "Select a Project" Window click "New Project"

  4. Enter some project name, it doesn't really matter, then click 'Create'

  5. Make sure the project you just created is active, with it showing at the top, then click "Library" on the left menu.

  6. Scroll down and click the box that says "YouTube Data API v3"

  7. Click "Enable" and wait for it to load. It will take you to another page.

  8. Click "Create Credentials". (Note: If you don't see this page, open the left pop-out menu and click "APIs & Services" > "Dashboard". Then in the table/list on the page, look in the 'Name' column, and click "YouTube Data API v3")

  9. In the dropdown, select "YouTube Data API v3", then select "User Data", and click Next

  10. Under "Oauth Consent Screen", fill out the required fields with some name, select your email, and enter an email below too. It doesn't really matter what you put here. Then click "Save and Continue"

  11. Click "Add or Remove Scopes", then find the one that says ".../auth/youtube.force-ssl", click the check box, then at the bottom click "Update". Then click "Save and Continue"

  12. Under "Oauth Client ID", just select 'Desktop App'. You can set a name or not. Then click "create".

  13. Now click "Download" to download the credentials json file. Rename it to "client_secrets.json" and save it into the same directory as the python script. Then click done.

  14. Now you should be able to run the python script. It will ask you to log in, and the session will last about an hour before expiring.

Comments
  • Solution for Unsupported Devices / Android Users to be able to run code

    Solution for Unsupported Devices / Android Users to be able to run code

    Updates pull request from #117

    Many people are complaining, that they cannot run the code on Linux and that they cannot run the program at all on Android (which is obvious why for Android), so I added a way for Android users to run this program too, and Linux users to run this program too and edit the code too.

    I think Linux is a major concern if .exe doesn't run on the OS and if the code had different variations between Windows and Linux.

    @ThioJoe , if you want, you can add another txt file with my instructions instead of it being in the README.md

    Fixes #110

    opened by KendallDoesCoding 41
  • Reopen: Add Black formatting

    Reopen: Add Black formatting

    Related Issue/Addition to code

    • Fixes #
    • Code readability issues
    • Ensures the repository follows the PEP8 standard
    • Remove unnecessary line from CONTRIBUTING.md -- "Please don't make a pull request with a bunch of changes in syntax just for the sake of 'best practices' [...] Unless something makes a difference to performance frankly I don't care." -- There are plenty of PRs that get accepted that do not make the slightest difference to performance, and this line pushes away many from contributing. ( #194 : "So I guess I won't bother. Too bad." #489 : "I personally don't think this project at this state is salvageable, especially given ThioJoe's attitude." )

    Type of change

    • [x] New feature (non-breaking change which adds functionality)
    • [x] This change requires a documentation update

    Proposed Changes

    • Add workflows to automatically format and stylize the code using Black
      • This helps to ensure all code is properly formatted with Black, regardless of where it is edited.
    • Add .pre-commit-config.yaml for developers with the pre-commit tool to format their code before they create a pull request.
    • Update CONTRIBUTING.md with a note about Black ( Some changes from #489 : @dekoza , and some from #464 's comments : @rachmadaniHaryono )
    • Adds instructions to setup a development environment

    Checklist:

    • [x] My code follows the style guidelines of this project and have read CONTRIBUTING.md There are no clear style guidelines. This adds some.
    • [x] I have performed a self-review of my own code
    • [x] I have commented my code, particularly in hard-to-understand areas
    • [x] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    • [x] I have checked my code and corrected any misspellings

    Additional Info

    See discussion #194

    Black does NOT change any of the underlying code itself, but can help make obvious errors and bugs more visible. Black does NOT fix design problems in the project, but can help highlight areas that need improvement. Black does NOT need to be installed to run the code -- It is only used during development. If the code is easier to read, it is easier to change. Is Black safe to use?

    Pylint Score before Black formatting: -9.18/10 Pylint Score after Black formatting: 0.98/10 The repository would still need big improvements, but a difference of 8.2 is huge.

    Why does this matter? Brief tutorial on Pylint

    This is a reopen of #464 -- I believe the changes in this are valuable enough to be carefully considered, not denied due to a lack of understanding. Please carefully consider each PR. As you make clear, you may not be an expert, but it does not mean you cannot improve. Contributors are trying to improve the project. Whether or not Black is the chosen formatter for this project doesn't matter much to me, as long as one is decided upon, and it doesn't cause too much trouble to use. Similar to testing, readability is important to enforce and will help improve the quality of the code.

    Please ignore the failing tests, the codebase in its current state obviously does not adhere to the Black style guidelines, which is where this fail is from.

    opened by ethnh 39
  • Error: 'utf-8' codec can't decode byte 0xc4 in position 0: invalid continuation byte

    Error: 'utf-8' codec can't decode byte 0xc4 in position 0: invalid continuation byte

    Duplicate Issues

    • [X] There are no existing posts relating to my problem
    • [ ] There are existing posts relating to my problem, but the solution given, doesn't work for me.

    What happened?

    My system is Russian Win7 max ver 6.1 (build 7601: SP1)

    Downloaded code, got API key, got requirements, run. Got that error, in log part. First idea was it 'cause my Cyrillic names for network adapters, renamed all to latin, not helped. Tried in Python IDLE IDE, same.

    PS: I cut out all "colourings" 'cause it was looking like 

    Release version

    version = "2.14.2"

    Steps to reproduce

    1. run YTSpammerPurge.py on my PC
    2. get error

    What platform are you seeing this problem on?

    Windows (.py script)

    Relevant log output

    Loading YT Spammer Purge @ 2.14.2...
    
    Please login using the browser window that opened just now.
    
    
    
    Traceback (most recent call last):
      File "C:\Users\DvaKota\Downloads\YT-Spammer-Purge-main\Scripts\auth.py", line 81, in first_authentication
        YOUTUBE = get_authenticated_service() # Create authentication object
      File "C:\Users\DvaKota\Downloads\YT-Spammer-Purge-main\Scripts\auth.py", line 69, in get_authenticated_service
        creds = flow.run_local_server(port=0, authorization_prompt_message="Waiting for authorization. See message above.")
      File "C:\Users\DvaKota\AppData\Local\Programs\Python\Python38\lib\site-packages\google_auth_oauthlib\flow.py", line 457, in run_local_server
        local_server = wsgiref.simple_server.make_server(
      File "C:\Users\DvaKota\AppData\Local\Programs\Python\Python38\lib\wsgiref\simple_server.py", line 154, in make_server
        server = server_class((host, port), handler_class)
      File "C:\Users\DvaKota\AppData\Local\Programs\Python\Python38\lib\socketserver.py", line 452, in __init__
        self.server_bind()
      File "C:\Users\DvaKota\AppData\Local\Programs\Python\Python38\lib\wsgiref\simple_server.py", line 50, in server_bind
        HTTPServer.server_bind(self)
      File "C:\Users\DvaKota\AppData\Local\Programs\Python\Python38\lib\http\server.py", line 140, in server_bind
        self.server_name = socket.getfqdn(host)
      File "C:\Users\DvaKota\AppData\Local\Programs\Python\Python38\lib\socket.py", line 756, in getfqdn
        hostname, aliases, ipaddrs = gethostbyaddr(name)
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc4 in position 0: invalid continuation byte
    ----------------
    [!!!] Error: 'utf-8' codec can't decode byte 0xc4 in position 0: invalid continuation byte
    If you think this is a bug, you may report it on this project's GitHub page: https://github.com/ThioJoe/YT-Spammer-Purge/issues
    
    Error Code A-1: Something went wrong during authentication.  Try deleting the token.pickle file. 
    Press Enter to exit...
    
    
    
    ### Screenshots
    
    _No response_
    Bug / Error 
    opened by SoNickRND 38
  • Update installer script

    Update installer script

    Type of change

    • [x] New feature (non-breaking change which adds functionality)
    • [x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
    • [x] This change requires a documentation update

    Proposed Changes

    • Remove install_full.sh : If you really need those development dependencies, I'd guess you could install them manually
    • Refactor install.sh
    • Remove jq as a dependency, use git to manage the versions

    Checklist:

    • [x] My code follows the style guidelines of this project and have read CONTRIBUTING.md
    • [x] I have performed a self-review of my own code
    • [x] I have commented my code, particularly in hard-to-understand areas
    • [ ] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    • [ ] I have added tests that prove my fix is effective or that my feature works
    • [ ] New and existing unit tests pass locally with my changes
    • [ ] Any dependent changes have been merged and published in downstream modules
    • [x] I have checked my code and corrected any misspellings

    I have made no documentation changes yet, but I will work on those in just a second ๐Ÿ‘

    I have tested the script way too many times on debian, you may try the script yourself with

    bash <(curl -s https://raw.githubusercontent.com/EthanHindmarsh/YT-Spammer-Purge/install_script/install.sh)
    

    To try the scripts automated-update functionality, either

    1. clone the repo & checkout to any previous version, and run the new install script ^^ to watch it update to latest
    2. run the install script anywhere and let it install the latest release for you

    The script will not update versions downloaded via .zip -- It has no way to know what version is it currently on

    Also of note, I am not an experienced bash / sh developer, I would bet that there is at least one issue with my script Please review in full

    Credit to #664 for the install_macos commands ๐Ÿ˜

    Installing YT-Spammer Purge w/ this script

    install

    Updating YT-Spammer Purge w/ this script

    update

    Running this script in an installation from release .zip

    reinstall

    opened by ethnh 36
  • Update config file on linux.

    Update config file on linux.

    Duplicate Issues

    • [X] There are no existing posts relating to my problem
    • [ ] There are existing posts relating to my problem, but the solution given, doesn't work for me.

    What happened?

    I was trying to update the program on linux. But after updating it didn't tell me about an old config file like it usually does in windows.

    Release version

    2.15.4 and above

    Steps to reproduce

    1. Install the program on linux an older version.
    2. Try to update.
    3. After updating, exit the terminal. And start the program again.
    4. It doesn't tell you about an old config file.

    What platform are you seeing this problem on?

    Linux (can also be ChromeOS)

    Bug / Error 
    opened by YuvanMichael 35
  • Add Black Formatting

    Add Black Formatting

    Changes

    • Add Black Formatting workflows (Taken from https://github.com/cclauss/autoblack) ๐Ÿ‘
    • Update CONTRIBUTING.md

    This change is entirely a style change -- There will be no impact on the code's performance from this requirements.txt does not need to be updated -- this is not a requirement for running the code

    Fixes

    • Inconsistent use of ' and "
    • Inconsistent use of tabs and spaces (if any exist)
    • (Tries to) Ensures code readability
    • Makes code style uniform
    • Update all code to follow PEP 8 (Read about Black's style here)

    Checklist:

    • [x] My code follows the style guidelines of this project and have read CONTRIBUTING.md (This adds style guidelines, I could not find any for this project)
    • [x] I have performed a self-review of my own code
    • [x] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    • [ ] I have added tests that prove my fix is effective or that my feature works (I plan to add tests later)
    • [x] I have checked my code and corrected any misspellings
    opened by ethnh 33
  • Linux Auto-Updater

    Linux Auto-Updater

    Type of change

    • [X] New feature (non-breaking change which adds functionality)
    • [X] This change requires a documentation update

    Proposed Changes

    • Linux auto-updater

    Checklist:

    • [X] My code follows the style guidelines of this project and have read CONTRIBUTING.md
    • [X] I have performed a self-review of my own code
    • [X] I have commented my code, particularly in hard-to-understand areas
    • [ ] I have made corresponding changes to the documentation
    • [X] My changes generate no new warnings
    • [ ] I have added tests that prove my fix is effective or that my feature works
    • [ ] New and existing unit tests pass locally with my changes
    • [X] Any dependent changes have been merged and published in downstream modules
    • [X] I have checked my code and corrected any misspellings

    Example of what it looks like

    image

    in-review Can Someone Who Knows About This Check It 
    opened by compsup 31
  • Use modern project structure

    Use modern project structure

    This project is awesome but could use some modern programming techniques :wink:

    Right now I just updated the project's structure to enable upcoming features that include:

    • using async for faster operations
    • proper CLI with params, usable in automation
    • usable as python library
    • proper instalation - just using pip/poetry/whatever, no special scripts
    • easier configuration with files saved in proper places
    • use pre-commit, black, pyupgrade, etc.
    • other QoL changes
    opened by dekoza 24
  • Add issue (and PR) templates with user-friendly fields.

    Add issue (and PR) templates with user-friendly fields.

    I've seen GitHub experiment with Issue and Pull Request templates. It's actually very cool! What happens is instead of copying and pasting the template Markdown file, if you use a .yml (Yaml) file, it gives you actual fields! This is apparent in the electron/electron repository.

    Electron Issue Template

    image

    I feel like this would be more user-friendly because @ThioJoe is targeting creators and most creators have probably never worked with Markdown on GitHub.

    Originally posted by @TechStudent11 in https://github.com/ThioJoe/YouTube-Spammer-Purge/pull/104#pullrequestreview-822031848

    opened by TechStudent10 24
  • [Bug]: Channels with Handle URLs Cause Error

    [Bug]: Channels with Handle URLs Cause Error

    Duplicate Issues

    • [X] There are no existing posts relating to my problem
    • [ ] There are existing posts relating to my problem, but the solution given, doesn't work for me.

    What happened?

    You cannot enter a channel URL that uses one of the new YouTube handles for scanning. The channel in question is GTWScar Edits.

    Release version

    2.17.0-Beta4

    Steps to reproduce

    1. Open program.
    2. Select option 2.
    3. Enter "https://www.youtube.com/@GTWScar_Edits" as the channel URL.
    4. See error message.

    What platform are you seeing this problem on?

    Windows (.exe file)

    Relevant log output

    > At any prompt, enter 'X' to return here
    > Enter 'Q' now to quit
    NOTE: This beta version uses a new method for checking updates. It is possible it will not work properly, so you should periodically check for new versions on the GitHub page yourself until the stable release.
    
    
    -------------------------------- Scanning Options --------------------------------
          1. Scan specific videos
          2. Scan recent videos for a channel
          3. Scan recent comments across your Entire Channel
          4. Scan a specific community post (Experimental)
          5. Scan recent community posts for a channel (Experimental)
    
    --------------------------------- Other Options ----------------------------------
          6. Create your own config file(s) to run the program with pre-set settings
          7. Remove comments using a pre-existing list or log file
          8. Recover deleted comments using log file
          9. Check & Download Updates
    
    Choice (1-9): 2
    
    Enter a channel ID or Link to scan recent videos from
       > If scanning your own channel, just hit Enter
    
    Enter Here: https://www.youtube.com/@GTWScar_Edits
    
    Error: Invalid Channel link or ID!
    
    Enter a channel ID or Link to scan recent videos from
       > If scanning your own channel, just hit Enter
    
    Enter Here:
    

    Screenshots

    Broken

    Bug / Error Server-Side Problem 
    opened by Lightning11wins 21
  • added install macos shell script

    added install macos shell script

    Related Issue/Addition to code

    No addition to code, and does not fix any issues

    • Fixes #
    • Issue/Addition to code, goes here.

    Type of change

    Please delete options that are not relevant.

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
    • [x] This change requires a documentation update

    Proposed Changes

    Add a script to automatically install everything on macos

    Additional Info

    The script installs home brew, python, git (If not already installed) and then installs required packages.

    Checklist:

    • [x] My code follows the style guidelines of this project and have read CONTRIBUTING.md
    • [x] I have performed a self-review of my own code
    • [x] I have commented my code, particularly in hard-to-understand areas
    • [x] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    • [x] I have added tests that prove my fix is effective or that my feature works
    • [x] New and existing unit tests pass locally with my changes
    • [x] Any dependent changes have been merged and published in downstream modules
    • [x] I have checked my code and corrected any misspellings
    opened by micziz 21
  • More of fantastic flavours' spam bots

    More of fantastic flavours' spam bots

    Filter Mode

    Auto-Smart Mode

    Select the Problem

    A type of spammer is not detected at all

    (Optional) If 'Other', Enter Very Short Description

    No response

    Spammer Example / Sample

    image image image image

    Video / Post Link

    https://youtu.be/nDs56sVlk2A

    (Optional) Additional Info / Context

    https://www.youtube.com/channel/UCKIfu6xFjGtALLQ7G5goBHw

    This channel has been using spam bots like these for months, yet no matter how many times I reported it to YouTube, they never did anything about it.

    Filtering Suggestion 
    opened by blahguy88 0
  • Improve README.md accessibility for screen readers

    Improve README.md accessibility for screen readers

    1. The "issue" and "pull request" badges are removed because they're obvious that you can already see the counters on GitHub.
    2. Add height = '20' for the remaining badges. https://web.dev/optimize-cls/#images-without-dimensions
    3. Improve alt texts of the badges (the alt texts on ## Screenshots is still not worked on yet)
    4. Add height = '353' for the screenshots https://web.dev/optimize-cls/#images-without-dimensions

    Related Issue

    • closes https://github.com/ThioJoe/YT-Spammer-Purge/issues/713

    Type of change

    • [x] Bug fix (non-breaking change which fixes an issue)

    Checklist:

    • [x] My code follows the style guidelines of this project and I have read CONTRIBUTING.md
    • [x] I have performed a self-review of my own code
    • [x] I have commented my code, particularly in hard-to-understand areas
    • [x] I have made corresponding changes to the documentation
    • [x] My changes generate no new warnings
    • [x] Any dependent changes have been merged and published in downstream modules
    • [x] I have checked my code and corrected any misspellings

    Screenshots

    Original | Updated :----------------------:|:-----------: image | image

    opened by throwaway-d 5
  • Error Message: local variable 'latestRelease' referenced before assignment

    Error Message: local variable 'latestRelease' referenced before assignment

    Duplicate Issues

    • [X] There are no existing posts relating to my problem
    • [ ] There are existing posts relating to my problem, but the solution given, doesn't work for me.

    What happened?

    Did Check for Updates on newest beta 2.17.0-Beta6 and got error X-2

    Release version

    2.17.0-Beta6

    Steps to reproduce

    1. Update to newest beta
    2. Check for Updates

    What platform are you seeing this problem on?

    Windows (.exe file)

    Relevant log output

    Traceback (most recent call last):
      File "D:\Users\Joe\Documents\GitHub ThioJoe\YouTube-Spammer-Purge\YTSpammerPurge.py", line 1715, in <module>
      File "D:\Users\Joe\Documents\GitHub ThioJoe\YouTube-Spammer-Purge\YTSpammerPurge.py", line 1692, in main
      File "D:\Users\Joe\Documents\GitHub ThioJoe\YouTube-Spammer-Purge\YTSpammerPurge.py", line 930, in primaryInstance
      File "Scripts\files.py", line 87, in check_lists_update
    UnboundLocalError: local variable 'latestRelease' referenced before assignment
    ------------------------------------------------
    Error Message: local variable 'latestRelease' referenced before assignment
    
    Error - Code: X-2 occurred.
    

    Screenshots

    No response

    Bug / Error Fixed For Next Release 
    opened by sbeaudet 2
  • Filtering:

    Filtering:

    Filter Mode: "1 Million comments" Spammer

    Auto-Smart Mode

    Select the Problem

    A type of spammer is not detected at all

    (Optional) If 'Other', Enter Very Short Description

    No response

    Spammer Example / Sample

    image

    Video / Post Link

    https://www.youtube.com/watch?v=s3Zps67zpYg

    (Optional) Additional Info / Context

    No response

    Filtering Suggestion 
    opened by Lightning11wins 0
  • Add YAML/JSON config support additionally (part 1): add JSON schema

    Add YAML/JSON config support additionally (part 1): add JSON schema

    Related Issue/Addition to code

    • [ ] Add JSON schema for INI config that will be referenced then in SchemaStore to provide autocompletion for YAML/JSON-based configs.
    • [x] Create shell script to automatically generate skeleton of JSON schema.
    • [ ] Create shell script to automatically update existing JSON schema.

    Type of change

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
    • [ ] This change requires a documentation update

    Why is this change needed?

    It's needed because neither YAML Red Hat extension nor Even better TOML tamasfe extension for VS Code now doesn't support INI files autocompletion. Also JSON-schema based configs are easier to validate.

    Additional Info

    By all means I think INI support will be added later to one of this extensions or another one. But now the most easy way to provide hints for configs is to create JSON schema and add new config's types support for this tool.

    Checklist:

    • [ ] My code follows the style guidelines of this project and I have read CONTRIBUTING.md
    • [x] I have performed a self-review of my own code
    • [x] I have commented my code, particularly in hard-to-understand areas
    • [ ] I have made corresponding changes to the documentation
    • [ ] My changes generate no new warnings
    • [ ] Any dependent changes have been merged and published in downstream modules
    • [x] I have checked my code and corrected any misspellings

    Screenshots

    JSON schema in action:

    image

    image

    INI parsing result to speed up JSON schema update (ranges and example values are parsed correctly):

    image

    Next PRs

    • Add support for JSON/YAML configs as autocomplete is possible for them.

    Who gonna maintain JSON-schema related stuff?

    Me.

    opened by EmilySeville7cfg 0
  • Create VS Code plugin with intellisence for ini config file

    Create VS Code plugin with intellisence for ini config file

    I can do it myself. I wanna users have autocomplete in config.

    Note: JSON schema can't be created as stolen_comments_check_modes = SensitiveSmart or smth like this is an invalid TOML (which is supported by JSON schema).

    opened by EmilySeville7cfg 1
Releases(v2.17.0-Beta6)
  • v2.17.0-Beta6(Dec 12, 2022)

    ๐Ÿ˜ค [2.17] MAJOR New Feature: Remote filter Update Without Needing Update

    • The program will now automatically go and check the GitHub repo to see if there is a new version of filter_variables.py
    • A full program update is no longer required to update the filters, which will make it much easier to make small and/or faster filter improvements

    ๐ŸŽ‰ [2.17] New Features:

    • Multi-Variable Spam Checking

      • The program now has new filtering functions that can check more complex spam patterns
    • New Fuzzy Duplicate Detection

      • The program now uses the "RapidFuzz" module which can be many times faster than the previous method, meaning duplicate comments will be scanned MUCH faster
    • Channel ID Lookup Tool

      • There is a new main menu option for "helpful tools". The only one right now allows you to retrieve the Channel ID for a channel by providing a YouTube video URL for that channel.

    ๐Ÿ“ˆ [2.17] Other Improvements

    • Improved update checking method should allow you to still be notified of the latest beta version, even if there was a stable release of the previous version after it

    • Add support for YouTube @ handles

    Beta1 โ†’ Beta2:

    • Fix incorrect config version number that caused repeated incorrect warning about out-of-date config
    • Updated filter variables and confusables

    Beta2 โ†’ Beta3:

    • Fixed replies not being checked against spam thread list, which caused many missed spam comments
    • Fixed Comment Recovery feature not working
    • Fixed validation error in recent video count
    • Fix rare UnboundLocalError for VideoID
    • Update custom confusables to check for more look-alike characters
    • Updated requirements.txt
    • Many grammatical corrections

    Beta3 โ†’ Beta4:

    • Fixed program not checking for filter_variables.py file updates when manually selecting to check for updates in main menu
    • Fixed bug where the program would download the filter variables file even when the latest version already exists
    • Fixed program not catching spam bot thread matches correctly
    • Fixed infinite loop when invalid/unavailable video ID is used in videos_to_scan config setting

    ๐ŸŸข Beta4 โ†’ Beta6:

    • Adds support for searching channels by YouTube handle
    • Improves accuracy of searching for a channel using custom URL
    • Added new main menu option for "helpful tools". The only one right now allows you to retrieve the Channel ID for a channel by providing a YouTube video URL for that channel.
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.17.0-Beta6.exe(13.37 MB)
    _0cff29ea9785c8599d52e027b75bedca677b5844e7758ee83b899bacb567de94.sha256(257 bytes)
  • v2.17.0-Beta4(Oct 26, 2022)

    ๐Ÿ˜ค [2.17] MAJOR New Feature: Remote filter Update Without Needing Update

    • The program will now automatically go and check the GitHub repo to see if there is a new version of filter_variables.py
    • A full program update is no longer required to update the filters, which will make it much easier to make small and/or faster filter improvements

    ๐ŸŽ‰ [2.17] New Features:

    • Multi-Variable Spam Checking

      • The program now has new filtering functions that can check more complex spam patterns
    • New Fuzzy Duplicate Detection

      • The program now uses the "RapidFuzz" module which can be many times faster than the previous method, meaning duplicate comments will be scanned MUCH faster

    ๐Ÿ“ˆ [2.17] Other Improvements

    • Improved update checking method should allow you to still be notified of the latest beta version, even if there was a stable release of the previous version after it

    Beta1 โ†’ Beta2:

    • Fix incorrect config version number that caused repeated incorrect warning about out-of-date config
    • Updated filter variables and confusables

    Beta2 โ†’ Beta3:

    • Fixed replies not being checked against spam thread list, which caused many missed spam comments
    • Fixed Comment Recovery feature not working
    • Fixed validation error in recent video count
    • Fix rare UnboundLocalError for VideoID
    • Update custom confusables to check for more look-alike characters
    • Updated requirements.txt
    • Many grammatical corrections

    ๐ŸŸข Beta3 โ†’ Beta4:

    • Fixed program not checking for filter_variables.py file updates when manually selecting to check for updates in main menu
    • Fixed bug where the program would download the filter variables file even when the latest version already exists
    • Fixed program not catching spam bot thread matches correctly
    • Fixed infinite loop when invalid/unavailable video ID is used in videos_to_scan config setting
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.17.0-Beta4.exe(13.37 MB)
    _d6f2d4efebe2b36b27ba8dfc903a2673e8f8c1dfb9ebae8dbe322bd899f19494.sha256(257 bytes)
  • v2.17.0-Beta3(Oct 10, 2022)

    ๐Ÿ˜ค [2.17] MAJOR New Feature: Remote filter Update Without Needing Update

    • The program will now automatically go and check the GitHub repo to see if there is a new version of filter_variables.py
    • A full program update is no longer required to update the filters, which will make it much easier to make small and/or faster filter improvements

    ๐ŸŽ‰ [2.17] New Features:

    • Multi-Variable Spam Checking

      • The program now has new filtering functions that can check more complex spam patterns
    • New Fuzzy Duplicate Detection

      • The program now uses the "RapidFuzz" module which can be many times faster than the previous method, meaning duplicate comments will be scanned MUCH faster

    ๐Ÿ“ˆ [2.17] Other Improvements

    • Improved update checking method should allow you to still be notified of the latest beta version, even if there was a stable release of the previous version after it

    Beta1 โ†’ Beta2:

    • Fix incorrect config version number that caused repeated incorrect warning about out-of-date config
    • Updated filter variables and confusables

    ๐ŸŸข Beta2 โ†’ Beta3:

    • Fixed replies not being checked against spam thread list, which caused many missed spam comments
    • Fixed Comment Recovery feature not working
    • Fixed validation error in recent video count
    • Fix rare UnboundLocalError for VideoID
    • Update custom confusables to check for more look-alike characters
    • Updated requirements.txt
    • Many grammatical corrections
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.17.0-Beta3.exe(13.37 MB)
    _11a65196421b51a083155a74040bb1067d5554342494703b0d2f77baf0161f28.sha256(257 bytes)
  • v2.17.0-Beta2(Sep 15, 2022)

    ๐Ÿ˜ค [2.17] MAJOR New Feature: Remote filter Update Without Needing Update

    • The program will now automatically go and check the GitHub repo to see if there is a new version of filter_variables.py
    • A full program update is no longer required to update the filters, which will make it much easier to make small and/or faster filter improvements

    ๐ŸŽ‰ [2.17] New Features:

    • Multi-Variable Spam Checking

      • The program now has new filtering functions that can check more complex spam patterns
    • New Fuzzy Duplicate Detection

      • The program now uses the "RapidFuzz" module which can be many times faster than the previous method, meaning duplicate comments will be scanned MUCH faster

    ๐Ÿ“ˆ [2.17] Other Improvements

    • Improved update checking method should allow you to still be notified of the latest beta version, even if there was a stable release of the previous version after it

    ๐ŸŸข Beta1 โ†’ Beta2:

    • Fix incorrect config version number that caused repeated incorrect warning about out-of-date config
    • Updated filter variables and confusables
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.17.0-Beta2.exe(13.36 MB)
    _283f2bb17c33cdc479729d1d7342b6ef337382cfdc8fdbe1f100deedb814c844.sha256(257 bytes)
  • v2.17.0-Beta1(Sep 15, 2022)

    ๐Ÿ˜ค [2.17] MAJOR New Feature: Remote filter Update Without Needing Update

    • The program will now automatically go and check the GitHub repo to see if there is a new version of filter_variables.py
    • A full program update is no longer required to update the filters, which will make it much easier to make small and/or faster filter improvements

    ๐ŸŽ‰ [2.17] New Features:

    • Multi-Variable Spam Checking

      • The program now has new filtering functions that can check more complex spam patterns
    • New Fuzzy Duplicate Detection

      • The program now uses the "RapidFuzz" module which can be many times faster than the previous method, meaning duplicate comments will be scanned MUCH faster

    ๐Ÿ“ˆ [2.17] Other Improvements

    • Improved update checking method should allow you to still be notified of the latest beta version, even if there was a stable release of the previous version after it

    KNOWN BUGS:

    • I forgot to update the config_verison value in the default config, so it will keep bugging you about an outdated config every time. You can just go into your config and change "config_version" to 32 to fix it.
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.17.0-Beta1.exe(13.36 MB)
    _7a7602dc8228270f4b5b2c14057b49490c59dd409fec74a52012eca2998f8d77.sha256(257 bytes)
  • v2.16.10(Sep 15, 2022)

    ๐ŸŽ‰ New Features:

    • Stolen Comment Detection

      • New ability to detect users who copied and reposted an existing comment
      • By default, is only enabled in Sensitive-Smart mode, but can be enabled in any mode through config option stolen_comments_check_modes
      • By default, it detects exact matches for speed. But with config setting fuzzy_stolen_comment_detection, you can check comments that are similar. Uses the same levenshtein_distance value as when detecting duplicates
        • Note: Fuzzy stolen comment detection is much slower, and required time is exponentially proportional to the number of comments
    • Ability to Set Custom Directory for Config Files

      • You can now use a new config setting called configs_path to choose where to put secondary config files
      • If you keep the new default location as 'configs', you can also put the main config file in there too
        • Otherwise, at least the main config file must be kept in the same place as the program, so it knows where to look

    ๐Ÿ“ˆ Other Improvements

    • 10x Improvement in API quota efficiency when fetching recent videos. Now fetches 50 videos at once, instead of 5. This means one could theoretically fetch up to 5000 recent videos per day, instead of just 500.

    • Match sample lists are now sorted by number of comments per author (highest to lowest)

    • Match sample list now shows warning if some comments are possible false positives, and highlights them

    • Filter mode selection menu now better illustrates which modes can be used in "Not Your Channel Mode" and Moderator Mode

    • Log files will now include a list of the videos or community posts that were scanned

    • Log files now display timestamps of comments (except not community posts for now)

    • New colors_enabled config setting, which allows disabling colored text if necessary

    • New minimum_duplicate_length config setting, to set comment length threshold for duplicates

    • Many filtering and detection improvements

    Other Changes & Fixes

    • Increased default minimum duplicates amount threshold from 4 to 8
    • Added a few additional startup messages to help narrow down slow startups for some people
    • When displaying spam threads sample list, if the video is title has investment related keywords, added notice to be extra vigilant in checking false positives of spam thread results
    • Completely re-worked filter variable intake. Variables no longer use encoded obfuscation, instead precompiled regex is directly loaded, improving loading speed. Filter variables now exist in filter_variables.py
    • Fixed a blocking prompt on chosenVideos mode even if skip_confirm_video is True
    • Fixed issue where excluding multiple times back to back would cause duplicate whitelist entries

    Patch 2.16.0 โ†’ 2.16.1:

    • Fix 'NoneType AttributeError' crash on startup when certain config settings are used, such as channel_to_scan
    • 10x Improvement in API quota efficiency when fetching recent videos. Now fetches 50 videos at once, instead of 5. This means one could theoretically fetch up to 5000 recent videos per day.
    • Fix rare crash caused by comments from deleted channels when writing JSON log

    Patch 2.16.1 โ†’ 2.16.2:

    • Fixed crash that would occur if no 'configs' folder exists, and user tries to create second config file

    2.16.2 โ†’ 2.16.3:

    • Several updates to filtering to significantly improve detection of certain types of spam, and reduction of false positives

    2.16.3 โ†’ 2.164:

    • Fixed crash when manually entering list of comment IDs to delete
    • Reduce false positives in auto smart mode

    2.16.4 โ†’ 2.16.6:

    • Fixed crash when checking success of deleted or recovered comments
    • If an error occurs while checking if comment was deleted, now displays the reason if available
    • (v2.16.5 skipped because of missing packaged dll)

    2.16.6 โ†’ 2.16.7:

    • Improved filter variables
    • Improved recognition of look-alike characters

    2.16.7 โ†’ 2.16.8:

    • Fixed custom regex filter mode not working, and also causing TypeError when logging
    • Fixed UnboundLocalError when logging in some circumstances

    2.16.8 โ†’ 2.16.9:

    • Fix very rare crash from ZeroDivisionError

    ๐ŸŸข 2.16.9 โ†’ 2.16.10:

    • Fixed major issue that was preventing the comment recovery functionality from working
    • Fixed rare error that resulted from 'videoID' variable having no value for unknown reasons
    • Fix minor issue with input validation for recent video count
    • Updated to latest filter variables
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.16.10.exe(13.36 MB)
    _7b3fa91101cb5da64b68ae932579c67a80bd0673cfea51cb88e83e1dca82b699.sha256(252 bytes)
  • v2.16.9(Apr 11, 2022)

    ๐ŸŽ‰ New Features:

    • Stolen Comment Detection

      • New ability to detect users who copied and reposted an existing comment
      • By default, is only enabled in Sensitive-Smart mode, but can be enabled in any mode through config option stolen_comments_check_modes
      • By default, it detects exact matches for speed. But with config setting fuzzy_stolen_comment_detection, you can check comments that are similar. Uses the same levenshtein_distance value as when detecting duplicates
        • Note: Fuzzy stolen comment detection is much slower, and required time is exponentially proportional to the number of comments
    • Ability to Set Custom Directory for Config Files

      • You can now use a new config setting called configs_path to choose where to put secondary config files
      • If you keep the new default location as 'configs', you can also put the main config file in there too
        • Otherwise, at least the main config file must be kept in the same place as the program, so it knows where to look

    ๐Ÿ“ˆ Other Improvements

    • 10x Improvement in API quota efficiency when fetching recent videos. Now fetches 50 videos at once, instead of 5. This means one could theoretically fetch up to 5000 recent videos per day, instead of just 500.

    • Match sample lists are now sorted by number of comments per author (highest to lowest)

    • Match sample list now shows warning if some comments are possible false positives, and highlights them

    • Filter mode selection menu now better illustrates which modes can be used in "Not Your Channel Mode" and Moderator Mode

    • Log files will now include a list of the videos or community posts that were scanned

    • Log files now display timestamps of comments (except not community posts for now)

    • New colors_enabled config setting, which allows disabling colored text if necessary

    • New minimum_duplicate_length config setting, to set comment length threshold for duplicates

    • Many filtering and detection improvements

    Other Changes & Fixes

    • Increased default minimum duplicates amount threshold from 4 to 8
    • Added a few additional startup messages to help narrow down slow startups for some people
    • When displaying spam threads sample list, if the video is title has investment related keywords, added notice to be extra vigilant in checking false positives of spam thread results
    • Completely re-worked filter variable intake. Variables no longer use encoded obfuscation, instead precompiled regex is directly loaded, improving loading speed. Filter variables now exist in filter_variables.py
    • Fixed a blocking prompt on chosenVideos mode even if skip_confirm_video is True
    • Fixed issue where excluding multiple times back to back would cause duplicate whitelist entries

    Patch 2.16.0 โ†’ 2.16.1:

    • Fix 'NoneType AttributeError' crash on startup when certain config settings are used, such as channel_to_scan
    • 10x Improvement in API quota efficiency when fetching recent videos. Now fetches 50 videos at once, instead of 5. This means one could theoretically fetch up to 5000 recent videos per day.
    • Fix rare crash caused by comments from deleted channels when writing JSON log

    Patch 2.16.1 โ†’ 2.16.2:

    • Fixed crash that would occur if no 'configs' folder exists, and user tries to create second config file

    2.16.2 โ†’ 2.16.3:

    • Several updates to filtering to significantly improve detection of certain types of spam, and reduction of false positives

    2.16.3 โ†’ 2.164:

    • Fixed crash when manually entering list of comment IDs to delete
    • Reduce false positives in auto smart mode

    2.16.4 โ†’ 2.16.6:

    • Fixed crash when checking success of deleted or recovered comments
    • If an error occurs while checking if comment was deleted, now displays the reason if available
    • (v2.16.5 skipped because of missing packaged dll)

    2.16.6 โ†’ 2.16.7:

    • Improved filter variables
    • Improved recognition of look-alike characters

    2.16.7 โ†’ 2.16.8:

    • Fixed custom regex filter mode not working, and also causing TypeError when logging
    • Fixed UnboundLocalError when logging in some circumstances

    ๐ŸŸข 2.16.8 โ†’ 2.16.9:

    • Fix very rare crash from ZeroDivisionError
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.16.9.exe(19.57 MB)
    _c48a1933e05b7f2e1daea6e7a5c94c31b6e355a73d5a1f74696acbe70dca0b4e.sha256(251 bytes)
  • v2.16.8(Apr 2, 2022)

    ๐ŸŽ‰ New Features:

    • Stolen Comment Detection

      • New ability to detect users who copied and reposted an existing comment
      • By default, is only enabled in Sensitive-Smart mode, but can be enabled in any mode through config option stolen_comments_check_modes
      • By default, it detects exact matches for speed. But with config setting fuzzy_stolen_comment_detection, you can check comments that are similar. Uses the same levenshtein_distance value as when detecting duplicates
        • Note: Fuzzy stolen comment detection is much slower, and required time is exponentially proportional to the number of comments
    • Ability to Set Custom Directory for Config Files

      • You can now use a new config setting called configs_path to choose where to put secondary config files
      • If you keep the new default location as 'configs', you can also put the main config file in there too
        • Otherwise, at least the main config file must be kept in the same place as the program, so it knows where to look

    ๐Ÿ“ˆ Other Improvements

    • 10x Improvement in API quota efficiency when fetching recent videos. Now fetches 50 videos at once, instead of 5. This means one could theoretically fetch up to 5000 recent videos per day, instead of just 500.

    • Match sample lists are now sorted by number of comments per author (highest to lowest)

    • Match sample list now shows warning if some comments are possible false positives, and highlights them

    • Filter mode selection menu now better illustrates which modes can be used in "Not Your Channel Mode" and Moderator Mode

    • Log files will now include a list of the videos or community posts that were scanned

    • Log files now display timestamps of comments (except not community posts for now)

    • New colors_enabled config setting, which allows disabling colored text if necessary

    • New minimum_duplicate_length config setting, to set comment length threshold for duplicates

    • Many filtering and detection improvements

    Other Changes & Fixes

    • Increased default minimum duplicates amount threshold from 4 to 8
    • Added a few additional startup messages to help narrow down slow startups for some people
    • When displaying spam threads sample list, if the video is title has investment related keywords, added notice to be extra vigilant in checking false positives of spam thread results
    • Completely re-worked filter variable intake. Variables no longer use encoded obfuscation, instead precompiled regex is directly loaded, improving loading speed. Filter variables now exist in filter_variables.py
    • Fixed a blocking prompt on chosenVideos mode even if skip_confirm_video is True
    • Fixed issue where excluding multiple times back to back would cause duplicate whitelist entries

    Patch 2.16.0 โ†’ 2.16.1:

    • Fix 'NoneType AttributeError' crash on startup when certain config settings are used, such as channel_to_scan
    • 10x Improvement in API quota efficiency when fetching recent videos. Now fetches 50 videos at once, instead of 5. This means one could theoretically fetch up to 5000 recent videos per day.
    • Fix rare crash caused by comments from deleted channels when writing JSON log

    Patch 2.16.1 โ†’ 2.16.2:

    • Fixed crash that would occur if no 'configs' folder exists, and user tries to create second config file

    2.16.2 โ†’ 2.16.3:

    • Several updates to filtering to significantly improve detection of certain types of spam, and reduction of false positives

    2.16.3 โ†’ 2.164:

    • Fixed crash when manually entering list of comment IDs to delete
    • Reduce false positives in auto smart mode

    2.16.4 โ†’ 2.16.6:

    • Fixed crash when checking success of deleted or recovered comments
    • If an error occurs while checking if comment was deleted, now displays the reason if available
    • (v2.16.5 skipped because of missing packaged dll)

    2.16.6 โ†’ 2.16.7:

    • Improved filter variables
    • Improved recognition of look-alike characters

    ๐ŸŸข 2.16.7 โ†’ 2.16.8:

    • Fixed custom regex filter mode not working, and also causing TypeError when logging
    • Fixed UnboundLocalError when logging in some circumstances
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.16.8.exe(19.57 MB)
    _5bff0a268af14cd375798007f1b1eb98d69fac1e72961da0fa296f9c59b6e32b.sha256(251 bytes)
  • v2.16.7(Mar 31, 2022)

    ๐ŸŽ‰ New Features:

    • Stolen Comment Detection

      • New ability to detect users who copied and reposted an existing comment
      • By default, is only enabled in Sensitive-Smart mode, but can be enabled in any mode through config option stolen_comments_check_modes
      • By default, it detects exact matches for speed. But with config setting fuzzy_stolen_comment_detection, you can check comments that are similar. Uses the same levenshtein_distance value as when detecting duplicates
        • Note: Fuzzy stolen comment detection is much slower, and required time is exponentially proportional to the number of comments
    • Ability to Set Custom Directory for Config Files

      • You can now use a new config setting called configs_path to choose where to put secondary config files
      • If you keep the new default location as 'configs', you can also put the main config file in there too
        • Otherwise, at least the main config file must be kept in the same place as the program, so it knows where to look

    ๐Ÿ“ˆ Other Improvements

    • 10x Improvement in API quota efficiency when fetching recent videos. Now fetches 50 videos at once, instead of 5. This means one could theoretically fetch up to 5000 recent videos per day, instead of just 500.

    • Match sample lists are now sorted by number of comments per author (highest to lowest)

    • Match sample list now shows warning if some comments are possible false positives, and highlights them

    • Filter mode selection menu now better illustrates which modes can be used in "Not Your Channel Mode" and Moderator Mode

    • Log files will now include a list of the videos or community posts that were scanned

    • Log files now display timestamps of comments (except not community posts for now)

    • New colors_enabled config setting, which allows disabling colored text if necessary

    • New minimum_duplicate_length config setting, to set comment length threshold for duplicates

    • Many filtering and detection improvements

    Other Changes & Fixes

    • Increased default minimum duplicates amount threshold from 4 to 8
    • Added a few additional startup messages to help narrow down slow startups for some people
    • When displaying spam threads sample list, if the video is title has investment related keywords, added notice to be extra vigilant in checking false positives of spam thread results
    • Completely re-worked filter variable intake. Variables no longer use encoded obfuscation, instead precompiled regex is directly loaded, improving loading speed. Filter variables now exist in filter_variables.py
    • Fixed a blocking prompt on chosenVideos mode even if skip_confirm_video is True
    • Fixed issue where excluding multiple times back to back would cause duplicate whitelist entries

    Patch 2.16.0 โ†’ 2.16.1:

    • Fix 'NoneType AttributeError' crash on startup when certain config settings are used, such as channel_to_scan
    • 10x Improvement in API quota efficiency when fetching recent videos. Now fetches 50 videos at once, instead of 5. This means one could theoretically fetch up to 5000 recent videos per day.
    • Fix rare crash caused by comments from deleted channels when writing JSON log

    Patch 2.16.1 โ†’ 2.16.2:

    • Fixed crash that would occur if no 'configs' folder exists, and user tries to create second config file

    2.16.2 โ†’ 2.16.3:

    • Several updates to filtering to significantly improve detection of certain types of spam, and reduction of false positives

    2.16.3 โ†’ 2.164:

    • Fixed crash when manually entering list of comment IDs to delete
    • Reduce false positives in auto smart mode

    2.16.4 โ†’ 2.16.6:

    • Fixed crash when checking success of deleted or recovered comments
    • If an error occurs while checking if comment was deleted, now displays the reason if available
    • (v2.16.5 skipped because of missing packaged dll)

    ๐ŸŸข 2.16.6 โ†’ 2.16.7:

    • Improved filter variables
    • Improved recognition of look-alike characters
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.16.7.exe(19.57 MB)
    _3f5c68efbca0917e8a80015419133593c1f7dc71c7cf9060f3c258a239becbda.sha256(251 bytes)
  • v2.16.6(Mar 10, 2022)

    ๐ŸŽ‰ New Features:

    • Stolen Comment Detection

      • New ability to detect users who copied and reposted an existing comment
      • By default, is only enabled in Sensitive-Smart mode, but can be enabled in any mode through config option stolen_comments_check_modes
      • By default, it detects exact matches for speed. But with config setting fuzzy_stolen_comment_detection, you can check comments that are similar. Uses the same levenshtein_distance value as when detecting duplicates
        • Note: Fuzzy stolen comment detection is much slower, and required time is exponentially proportional to the number of comments
    • Ability to Set Custom Directory for Config Files

      • You can now use a new config setting called configs_path to choose where to put secondary config files
      • If you keep the new default location as 'configs', you can also put the main config file in there too
        • Otherwise, at least the main config file must be kept in the same place as the program, so it knows where to look

    ๐Ÿ“ˆ Other Improvements

    • 10x Improvement in API quota efficiency when fetching recent videos. Now fetches 50 videos at once, instead of 5. This means one could theoretically fetch up to 5000 recent videos per day, instead of just 500.

    • Match sample lists are now sorted by number of comments per author (highest to lowest)

    • Match sample list now shows warning if some comments are possible false positives, and highlights them

    • Filter mode selection menu now better illustrates which modes can be used in "Not Your Channel Mode" and Moderator Mode

    • Log files will now include a list of the videos or community posts that were scanned

    • Log files now display timestamps of comments (except not community posts for now)

    • New colors_enabled config setting, which allows disabling colored text if necessary

    • New minimum_duplicate_length config setting, to set comment length threshold for duplicates

    • Many filtering and detection improvements

    Other Changes & Fixes

    • Increased default minimum duplicates amount threshold from 4 to 8
    • Added a few additional startup messages to help narrow down slow startups for some people
    • When displaying spam threads sample list, if the video is title has investment related keywords, added notice to be extra vigilant in checking false positives of spam thread results
    • Completely re-worked filter variable intake. Variables no longer use encoded obfuscation, instead precompiled regex is directly loaded, improving loading speed. Filter variables now exist in filter_variables.py
    • Fixed a blocking prompt on chosenVideos mode even if skip_confirm_video is True
    • Fixed issue where excluding multiple times back to back would cause duplicate whitelist entries

    Patch 2.16.0 โ†’ 2.16.1:

    • Fix 'NoneType AttributeError' crash on startup when certain config settings are used, such as channel_to_scan
    • 10x Improvement in API quota efficiency when fetching recent videos. Now fetches 50 videos at once, instead of 5. This means one could theoretically fetch up to 5000 recent videos per day.
    • Fix rare crash caused by comments from deleted channels when writing JSON log

    Patch 2.16.1 โ†’ 2.16.2:

    • Fixed crash that would occur if no 'configs' folder exists, and user tries to create second config file

    2.16.2 โ†’ 2.16.3:

    • Several updates to filtering to significantly improve detection of certain types of spam, and reduction of false positives

    2.16.3 โ†’ 2.164:

    • Fixed crash when manually entering list of comment IDs to delete
    • Reduce false positives in auto smart mode

    ๐ŸŸข 2.16.4 โ†’ 2.16.6:

    • Fixed crash when checking success of deleted or recovered comments
    • If an error occurs while checking if comment was deleted, now displays the reason if available
    • (v2.16.5 skipped because of missing packaged dll)
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.16.6.exe(19.57 MB)
    _03514340f3aac2a872348728c1b1303deff29db8847fce1ae649020e48118605.sha256(251 bytes)
  • v2.16.4(Feb 22, 2022)

    ๐ŸŽ‰ New Features:

    • Stolen Comment Detection

      • New ability to detect users who copied and reposted an existing comment
      • By default, is only enabled in Sensitive-Smart mode, but can be enabled in any mode through config option stolen_comments_check_modes
      • By default, it detects exact matches for speed. But with config setting fuzzy_stolen_comment_detection, you can check comments that are similar. Uses the same levenshtein_distance value as when detecting duplicates
        • Note: Fuzzy stolen comment detection is much slower, and required time is exponentially proportional to the number of comments
    • Ability to Set Custom Directory for Config Files

      • You can now use a new config setting called configs_path to choose where to put secondary config files
      • If you keep the new default location as 'configs', you can also put the main config file in there too
        • Otherwise, at least the main config file must be kept in the same place as the program, so it knows where to look

    ๐Ÿ“ˆ Other Improvements

    • 10x Improvement in API quota efficiency when fetching recent videos. Now fetches 50 videos at once, instead of 5. This means one could theoretically fetch up to 5000 recent videos per day, instead of just 500.

    • Match sample lists are now sorted by number of comments per author (highest to lowest)

    • Match sample list now shows warning if some comments are possible false positives, and highlights them

    • Filter mode selection menu now better illustrates which modes can be used in "Not Your Channel Mode" and Moderator Mode

    • Log files will now include a list of the videos or community posts that were scanned

    • Log files now display timestamps of comments (except not community posts for now)

    • New colors_enabled config setting, which allows disabling colored text if necessary

    • New minimum_duplicate_length config setting, to set comment length threshold for duplicates

    • Many filtering and detection improvements

    Other Changes & Fixes

    • Increased default minimum duplicates amount threshold from 4 to 8
    • Added a few additional startup messages to help narrow down slow startups for some people
    • When displaying spam threads sample list, if the video is title has investment related keywords, added notice to be extra vigilant in checking false positives of spam thread results
    • Completely re-worked filter variable intake. Variables no longer use encoded obfuscation, instead precompiled regex is directly loaded, improving loading speed. Filter variables now exist in filter_variables.py
    • Fixed a blocking prompt on chosenVideos mode even if skip_confirm_video is True
    • Fixed issue where excluding multiple times back to back would cause duplicate whitelist entries

    Patch 2.16.0 โ†’ 2.16.1:

    • Fix 'NoneType AttributeError' crash on startup when certain config settings are used, such as channel_to_scan
    • 10x Improvement in API quota efficiency when fetching recent videos. Now fetches 50 videos at once, instead of 5. This means one could theoretically fetch up to 5000 recent videos per day.
    • Fix rare crash caused by comments from deleted channels when writing JSON log

    Patch 2.16.1 โ†’ 2.16.2:

    • Fixed crash that would occur if no 'configs' folder exists, and user tries to create second config file

    2.16.2 โ†’ 2.16.3:

    • Several updates to filtering to significantly improve detection of certain types of spam, and reduction of false positives

    ๐ŸŸข 2.16.3 โ†’ 2.164:

    • Fixed crash when manually entering list of comment IDs to delete
    • Reduce false positives in auto smart mode
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.16.4.exe(22.42 MB)
    _405bfa706653df08b73efae02ebeb84cdaac27ed5fa081fcd49626c3c3b019a4.sha256(251 bytes)
  • v2.16.3(Feb 20, 2022)

    ๐ŸŽ‰ New Features:

    • Stolen Comment Detection

      • New ability to detect users who copied and reposted an existing comment
      • By default, is only enabled in Sensitive-Smart mode, but can be enabled in any mode through config option stolen_comments_check_modes
      • By default, it detects exact matches for speed. But with config setting fuzzy_stolen_comment_detection, you can check comments that are similar. Uses the same levenshtein_distance value as when detecting duplicates
        • Note: Fuzzy stolen comment detection is much slower, and required time is exponentially proportional to the number of comments
    • Ability to Set Custom Directory for Config Files

      • You can now use a new config setting called configs_path to choose where to put secondary config files
      • If you keep the new default location as 'configs', you can also put the main config file in there too
        • Otherwise, at least the main config file must be kept in the same place as the program, so it knows where to look

    ๐Ÿ“ˆ Other Improvements

    • 10x Improvement in API quota efficiency when fetching recent videos. Now fetches 50 videos at once, instead of 5. This means one could theoretically fetch up to 5000 recent videos per day, instead of just 500.

    • Match sample lists are now sorted by number of comments per author (highest to lowest)

    • Match sample list now shows warning if some comments are possible false positives, and highlights them

    • Filter mode selection menu now better illustrates which modes can be used in "Not Your Channel Mode" and Moderator Mode

    • Log files will now include a list of the videos or community posts that were scanned

    • Log files now display timestamps of comments (except not community posts for now)

    • New colors_enabled config setting, which allows disabling colored text if necessary

    • New minimum_duplicate_length config setting, to set comment length threshold for duplicates

    • Many filtering and detection improvements

    Other Changes & Fixes

    • Increased default minimum duplicates amount threshold from 4 to 8
    • Added a few additional startup messages to help narrow down slow startups for some people
    • When displaying spam threads sample list, if the video is title has investment related keywords, added notice to be extra vigilant in checking false positives of spam thread results
    • Completely re-worked filter variable intake. Variables no longer use encoded obfuscation, instead precompiled regex is directly loaded, improving loading speed. Filter variables now exist in filter_variables.py
    • Fixed a blocking prompt on chosenVideos mode even if skip_confirm_video is True
    • Fixed issue where excluding multiple times back to back would cause duplicate whitelist entries

    Patch 2.16.0 โ†’ 2.16.1:

    • Fix 'NoneType AttributeError' crash on startup when certain config settings are used, such as channel_to_scan
    • 10x Improvement in API quota efficiency when fetching recent videos. Now fetches 50 videos at once, instead of 5. This means one could theoretically fetch up to 5000 recent videos per day.
    • Fix rare crash caused by comments from deleted channels when writing JSON log

    Patch 2.16.1 โ†’ 2.16.2:

    • Fixed crash that would occur if no 'configs' folder exists, and user tries to create second config file

    ๐ŸŸข 2.16.2 โ†’ 2.16.3:

    • Several updates to filtering to significantly improve detection of certain types of spam, and reduction of false positives
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.16.3.exe(22.42 MB)
    _e70ce972b1ce31c88e337efbdd79980b590840a6b963d892260d7b190baf570a.sha256(251 bytes)
  • v2.16.2(Feb 18, 2022)

    ๐ŸŽ‰ New Features:

    • Stolen Comment Detection

      • New ability to detect users who copied and reposted an existing comment
      • By default, is only enabled in Sensitive-Smart mode, but can be enabled in any mode through config option stolen_comments_check_modes
      • By default, it detects exact matches for speed. But with config setting fuzzy_stolen_comment_detection, you can check comments that are similar. Uses the same levenshtein_distance value as when detecting duplicates
        • Note: Fuzzy stolen comment detection is much slower, and required time is exponentially proportional to the number of comments
    • Ability to Set Custom Directory for Config Files

      • You can now use a new config setting called configs_path to choose where to put secondary config files
      • If you keep the new default location as 'configs', you can also put the main config file in there too
        • Otherwise, at least the main config file must be kept in the same place as the program, so it knows where to look

    ๐Ÿ“ˆ Other Improvements

    • 10x Improvement in API quota efficiency when fetching recent videos. Now fetches 50 videos at once, instead of 5. This means one could theoretically fetch up to 5000 recent videos per day, instead of just 500.

    • Match sample lists are now sorted by number of comments per author (highest to lowest)

    • Match sample list now shows warning if some comments are possible false positives, and highlights them

    • Filter mode selection menu now better illustrates which modes can be used in "Not Your Channel Mode" and Moderator Mode

    • Log files will now include a list of the videos or community posts that were scanned

    • Log files now display timestamps of comments (except not community posts for now)

    • New colors_enabled config setting, which allows disabling colored text if necessary

    • New minimum_duplicate_length config setting, to set comment length threshold for duplicates

    • Many filtering and detection improvements

    Other Changes & Fixes

    • Increased default minimum duplicates amount threshold from 4 to 8
    • Added a few additional startup messages to help narrow down slow startups for some people
    • When displaying spam threads sample list, if the video is title has investment related keywords, added notice to be extra vigilant in checking false positives of spam thread results
    • Completely re-worked filter variable intake. Variables no longer use encoded obfuscation, instead precompiled regex is directly loaded, improving loading speed. Filter variables now exist in filter_variables.py
    • Fixed a blocking prompt on chosenVideos mode even if skip_confirm_video is True
    • Fixed issue where excluding multiple times back to back would cause duplicate whitelist entries

    Patch 2.16.0 โ†’ 2.16.1:

    • Fix 'NoneType AttributeError' crash on startup when certain config settings are used, such as channel_to_scan
    • 10x Improvement in API quota efficiency when fetching recent videos. Now fetches 50 videos at once, instead of 5. This means one could theoretically fetch up to 5000 recent videos per day.
    • Fix rare crash caused by comments from deleted channels when writing JSON log

    ๐ŸŸข Patch 2.16.1 โ†’ 2.16.2:

    • Fixed crash that would occur if no 'configs' folder exists, and user tries to create second config file
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.16.2.exe(22.41 MB)
    _b794739712ef8fa4fd69af82886091877e9e7bf31898d1f237348f4bdb12773d.sha256(251 bytes)
  • v2.16.1(Feb 18, 2022)

    ๐ŸŽ‰ New Features:

    • Stolen Comment Detection

      • New ability to detect users who copied and reposted an existing comment
      • By default, is only enabled in Sensitive-Smart mode, but can be enabled in any mode through config option stolen_comments_check_modes
      • By default, it detects exact matches for speed. But with config setting fuzzy_stolen_comment_detection, you can check comments that are similar. Uses the same levenshtein_distance value as when detecting duplicates
        • Note: Fuzzy stolen comment detection is much slower, and required time is exponentially proportional to the number of comments
    • Ability to Set Custom Directory for Config Files

      • You can now use a new config setting called configs_path to choose where to put secondary config files
      • If you keep the new default location as 'configs', you can also put the main config file in there too
        • Otherwise, at least the main config file must be kept in the same place as the program, so it knows where to look

    ๐Ÿ“ˆ Other Improvements

    • 10x Improvement in API quota efficiency when fetching recent videos. Now fetches 50 videos at once, instead of 5. This means one could theoretically fetch up to 5000 recent videos per day, instead of just 500.

    • Match sample lists are now sorted by number of comments per author (highest to lowest)

    • Match sample list now shows warning if some comments are possible false positives, and highlights them

    • Filter mode selection menu now better illustrates which modes can be used in "Not Your Channel Mode" and Moderator Mode

    • Log files will now include a list of the videos or community posts that were scanned

    • Log files now display timestamps of comments (except not community posts for now)

    • New colors_enabled config setting, which allows disabling colored text if necessary

    • New minimum_duplicate_length config setting, to set comment length threshold for duplicates

    • Many filtering and detection improvements

    Other Changes & Fixes

    • Increased default minimum duplicates amount threshold from 4 to 8
    • Added a few additional startup messages to help narrow down slow startups for some people
    • When displaying spam threads sample list, if the video is title has investment related keywords, added notice to be extra vigilant in checking false positives of spam thread results
    • Completely re-worked filter variable intake. Variables no longer use encoded obfuscation, instead precompiled regex is directly loaded, improving loading speed. Filter variables now exist in filter_variables.py
    • Fixed a blocking prompt on chosenVideos mode even if skip_confirm_video is True
    • Fixed issue where excluding multiple times back to back would cause duplicate whitelist entries

    ๐ŸŸข Patch 2.16.0 โ†’ 2.16.1:

    • Fix 'NoneType AttributeError' crash on startup when certain config settings are used, such as channel_to_scan
    • 10x Improvement in API quota efficiency when fetching recent videos. Now fetches 50 videos at once, instead of 5. This means one could theoretically fetch up to 5000 recent videos per day.
    • Fix rare crash caused by comments from deleted channels when writing JSON log
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.16.1.exe(22.41 MB)
    _e04bac0a2f93e5e72c6c0db140b513d23ce56152631652f927199efe424b7c82.sha256(251 bytes)
  • v2.16.0(Feb 16, 2022)

    ๐ŸŽ‰ New Features:

    • Stolen Comment Detection

      • New ability to detect users who copied and reposted an existing comment
      • By default, is only enabled in Sensitive-Smart mode, but can be enabled in any mode through config option stolen_comments_check_modes
      • By default, it detects exact matches for speed. But with config setting fuzzy_stolen_comment_detection, you can check comments that are similar. Uses the same levenshtein_distance value as when detecting duplicates
        • Note: Fuzzy stolen comment detection is much slower, and required time is exponentially proportional to the number of comments
    • Ability to Set Custom Directory for Config Files

      • You can now use a new config setting called configs_path to choose where to put secondary config files
      • If you keep the new default location as 'configs', you can also put the main config file in there too
        • Otherwise, at least the main config file must be kept in the same place as the program, so it knows where to look

    ๐Ÿ“ˆ Other Improvements

    • Match sample lists are now sorted by number of comments per author (highest to lowest)

    • Match sample list now shows warning if some comments are possible false positives, and highlights them

    • Filter mode selection menu now better illustrates which modes can be used in "Not Your Channel Mode" and Moderator Mode

    • Log files will now include a list of the videos or community posts that were scanned

    • Log files now display timestamps of comments (except not community posts for now)

    • New colors_enabled config setting, which allows disabling colored text if necessary

    • New minimum_duplicate_length config setting, to set comment length threshold for duplicates

    • Many filtering and detection improvements

    Other Changes & Fixes

    • Increased default minimum duplicates amount threshold from 4 to 8
    • Added a few additional startup messages to help narrow down slow startups for some people
    • When displaying spam threads sample list, if the video is title has investment related keywords, added notice to be extra vigilant in checking false positives of spam thread results
    • Completely re-worked filter variable intake. Variables no longer use encoded obfuscation, instead precompiled regex is directly loaded, improving loading speed. Filter variables now exist in filter_variables.py
    • Fixed a blocking prompt on chosenVideos mode even if skip_confirm_video is True
    • Fixed issue where excluding multiple times back to back would cause duplicate whitelist entries
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.16.0.exe(22.41 MB)
    _419185f3351a67910c1e81fe3e46a69291797e105fef8ba3d746cba62f6acd7c.sha256(251 bytes)
  • v2.15.4(Feb 14, 2022)

    ๐Ÿ˜ค [2.15] MAJOR New Feature: "Investment / Crypto Scam" Thread Detection

    • The program now detects threads where many bots pretend to talk to each other and promote some fake scam person
    • Will flag the parent comment and present a preview to nuke the whole thread at once
    • Will display samples of spam threads at same time as other samples, but separately, like duplicates are
    • Works on both videos and community posts

    ๐ŸŽ‰ [2.15] New Features:

    • Option to Purge All Comments By A User

      • Now when either holding comments for review or deleting them, you will be asked if you want to also delete all the other comments by the user, and not just their matched comments
      • New related config option: remove_all_author_comments
      • Also updates log file accordingly with the extra comments, and adds them to the comment ID list so they can be recovered as usual
    • Improved Removal Mode Selection Menu

      • You now no longer need to type in all caps such as "DELETE", you can just do 'delete' for example
      • New entry option: "None" - The same as previously hitting Enter to do nothing / only log
      • Now if you don't enter a valid selection (delete / hold / report / exclude / only / none), it will ask you to try again, instead of kicking you back to the main menu

    ๐Ÿ“ˆ [2.15] Other Improvements

    • Program now validates all config settings on startup, so no more surprises in the middle of a run

    • Added auto-updater for Linux

    • When showing scan results summary, program now distinguishes between 'matches' and 'duplicates'

    • In most cases, log file now gives reason for the match, such as "Filter Match", "Duplicate" or "Also By Matched Author"

    [2.15] Other Changes & Fixes

    • In update menu, if update is available, now shows short link to releases page to easily see what's new
    • Change default log file format from rtf to plaintext
    • Fixed log file path not being recognized with quotes around it
    • Fixed crash when unable to encode certain unicode characters

    Patch 2.15.0 โ†’ 2.15.1:

    • Fixed crash sometimes during scan, while checking a potential spam thread
    • Fixed problem where program would sometimes end after excluding even though there are duplicate comments or spam threads remaining

    Patch 2.15.1 โ†’ 2.15.2:

    • Fixed crash if config setting whitelist_excluded was not set to 'Ask'
    • Added clarifying message that all comments will be processed at the report / deletion selection menu

    Patch 2.15.2 โ†’ 2.15.3:

    • Fixed rare crash from UnboundLocalError of 'listVersion' variable
    • Fixed Crash when writing log file after using 'Comment Text + Username' scan mode with 'Strings' filter mode

    ๐ŸŸข Patch 2.15.3 โ†’ 2.15.4:

    • Fix crash after being asked whether to ban, when deleting comments using a list
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.15.4.exe(22.05 MB)
    _6d608fb1f00fb2bb512071629dd3fe873cccb12f346d5ab0a3df0b10cff83781.sha256(251 bytes)
  • v2.15.3(Feb 13, 2022)

    ๐Ÿ˜ค [2.15] MAJOR New Feature: "Investment / Crypto Scam" Thread Detection

    • The program now detects threads where many bots pretend to talk to each other and promote some fake scam person
    • Will flag the parent comment and present a preview to nuke the whole thread at once
    • Will display samples of spam threads at same time as other samples, but separately, like duplicates are
    • Works on both videos and community posts

    ๐ŸŽ‰ [2.15] New Features:

    • Option to Purge All Comments By A User

      • Now when either holding comments for review or deleting them, you will be asked if you want to also delete all the other comments by the user, and not just their matched comments
      • New related config option: remove_all_author_comments
      • Also updates log file accordingly with the extra comments, and adds them to the comment ID list so they can be recovered as usual
    • Improved Removal Mode Selection Menu

      • You now no longer need to type in all caps such as "DELETE", you can just do 'delete' for example
      • New entry option: "None" - The same as previously hitting Enter to do nothing / only log
      • Now if you don't enter a valid selection (delete / hold / report / exclude / only / none), it will ask you to try again, instead of kicking you back to the main menu

    ๐Ÿ“ˆ [2.15] Other Improvements

    • Program now validates all config settings on startup, so no more surprises in the middle of a run

    • Added auto-updater for Linux

    • When showing scan results summary, program now distinguishes between 'matches' and 'duplicates'

    • In most cases, log file now gives reason for the match, such as "Filter Match", "Duplicate" or "Also By Matched Author"

    [2.15] Other Changes & Fixes

    • In update menu, if update is available, now shows short link to releases page to easily see what's new
    • Change default log file format from rtf to plaintext
    • Fixed log file path not being recognized with quotes around it
    • Fixed crash when unable to encode certain unicode characters

    Patch 2.15.0 โ†’ 2.15.1:

    • Fixed crash sometimes during scan, while checking a potential spam thread
    • Fixed problem where program would sometimes end program after excluding even though there duplicate comments or spam threads remaining

    Patch 2.15.1 โ†’ 2.15.2:

    • Fixed crash if config setting whitelist_excluded was not set to 'Ask'
    • Added clarifying message that all comments will be processed at the report / deletion selection menu

    ๐ŸŸข Patch 2.15.2 โ†’ 2.15.3:

    • Fixed rare crash from UnboundLocalError of 'listVersion' variable
    • Fixed Crash when writing log file after using 'Comment Text + Username' scan mode with 'Strings' filter mode
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.15.3.exe(22.05 MB)
    _419ba3535bae517948f1a24b042fa2809d530175d54d1e088ddf7dc44229f0aa.sha256(251 bytes)
  • v2.15.2(Feb 12, 2022)

    ๐Ÿ˜ค [2.15] MAJOR New Feature: "Investment / Crypto Scam" Thread Detection

    • The program now detects threads where many bots pretend to talk to each other and promote some fake scam person
    • Will flag the parent comment and present a preview to nuke the whole thread at once
    • Will display samples of spam threads at same time as other samples, but separately, like duplicates are
    • Works on both videos and community posts

    ๐ŸŽ‰ [2.15] New Features:

    • Option to Purge All Comments By A User

      • Now when either holding comments for review or deleting them, you will be asked if you want to also delete all the other comments by the user, and not just their matched comments
      • New related config option: remove_all_author_comments
      • Also updates log file accordingly with the extra comments, and adds them to the comment ID list so they can be recovered as usual
    • Improved Removal Mode Selection Menu

      • You now no longer need to type in all caps such as "DELETE", you can just do 'delete' for example
      • New entry option: "None" - The same as previously hitting Enter to do nothing / only log
      • Now if you don't enter a valid selection (delete / hold / report / exclude / only / none), it will ask you to try again, instead of kicking you back to the main menu

    ๐Ÿ“ˆ [2.15] Other Improvements

    • Program now validates all config settings on startup, so no more surprises in the middle of a run

    • Added auto-updater for Linux

    • When showing scan results summary, program now distinguishes between 'matches' and 'duplicates'

    • In most cases, log file now gives reason for the match, such as "Filter Match", "Duplicate" or "Also By Matched Author"

    [2.15] Other Changes & Fixes

    • In update menu, if update is available, now shows short link to releases page to easily see what's new
    • Change default log file format from rtf to plaintext
    • Fixed log file path not being recognized with quotes around it
    • Fixed crash when unable to encode certain unicode characters

    Patch 2.15.0 โ†’ 2.15.1:

    • Fixed crash sometimes during scan, while checking a potential spam thread
    • Fixed problem where program would sometimes end program after excluding even though there duplicate comments or spam threads remaining

    ๐ŸŸข Patch 2.15.1 โ†’ 2.15.2:

    • Fixed crash if config setting whitelist_excluded was not set to 'Ask'
    • Added clarifying message that all comments will be processed at the report / deletion selection menu
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.15.2.exe(22.05 MB)
    _3076cca2eb8100b7e0f64379d200a965dc250334cd5a34487c2ec23684417c8e.sha256(251 bytes)
  • v2.15.1(Feb 8, 2022)

    ๐Ÿ˜ค [2.15] MAJOR New Feature: "Investment / Crypto Scam" Thread Detection

    • The program now detects threads where many bots pretend to talk to each other and promote some fake scam person
    • Will flag the parent comment and present a preview to nuke the whole thread at once
    • Will display samples of spam threads at same time as other samples, but separately, like duplicates are
    • Works on both videos and community posts

    ๐ŸŽ‰ [2.15] New Features:

    • Option to Purge All Comments By A User

      • Now when either holding comments for review or deleting them, you will be asked if you want to also delete all the other comments by the user, and not just their matched comments
      • New related config option: remove_all_author_comments
      • Also updates log file accordingly with the extra comments, and adds them to the comment ID list so they can be recovered as usual
    • Improved Removal Mode Selection Menu

      • You now no longer need to type in all caps such as "DELETE", you can just do 'delete' for example
      • New entry option: "None" - The same as previously hitting Enter to do nothing / only log
      • Now if you don't enter a valid selection (delete / hold / report / exclude / only / none), it will ask you to try again, instead of kicking you back to the main menu

    ๐Ÿ“ˆ [2.15] Other Improvements

    • Program now validates all config settings on startup, so no more surprises in the middle of a run

    • Added auto-updater for Linux

    • When showing scan results summary, program now distinguishes between 'matches' and 'duplicates'

    • In most cases, log file now gives reason for the match, such as "Filter Match", "Duplicate" or "Also By Matched Author"

    [2.15] Other Changes & Fixes

    • In update menu, if update is available, now shows short link to releases page to easily see what's new
    • Change default log file format from rtf to plaintext
    • Fixed log file path not being recognized with quotes around it
    • Fixed crash when unable to encode certain unicode characters

    ๐ŸŸข Patch 2.15.0 โ†’ 2.15.1:

    • Fixed crash sometimes during scan, while checking a potential spam thread
    • Fixed problem where program would sometimes end program after excluding even though there duplicate comments or spam threads remaining
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.15.1.exe(22.05 MB)
    _f02ed476068383b11ccab2c7daac7dcff60e61b0c4f0d5865cd45cc6c576a4cd.sha256(251 bytes)
  • v2.15.0(Feb 7, 2022)

    ๐Ÿ˜ค [2.15] MAJOR New Feature: "Investment / Crypto Scam" Thread Detection

    • The program now detects threads where many bots pretend to talk to each other and promote some fake scam person
    • Will flag the parent comment and present a preview to nuke the whole thread at once
    • Will display samples of spam threads at same time as other samples, but separately, like duplicates are
    • Works on both videos and community posts

    ๐ŸŽ‰ [2.15] New Features:

    • Option to Purge All Comments By A User

      • Now when either holding comments for review or deleting them, you will be asked if you want to also delete all the other comments by the user, and not just their matched comments
      • New related config option: remove_all_author_comments
      • Also updates log file accordingly with the extra comments, and adds them to the comment ID list so they can be recovered as usual
    • Improved Removal Mode Selection Menu

      • You now no longer need to type in all caps such as "DELETE", you can just do 'delete' for example
      • New entry option: "None" - The same as previously hitting Enter to do nothing / only log
      • Now if you don't enter a valid selection (delete / hold / report / exclude / only / none), it will ask you to try again, instead of kicking you back to the main menu

    ๐Ÿ“ˆ [2.15] Other Improvements

    • Program now validates all config settings on startup, so no more surprises in the middle of a run

    • Added auto-updater for Linux

    • When showing scan results summary, program now distinguishes between 'matches' and 'duplicates'

    • In most cases, log file now gives reason for the match, such as "Filter Match", "Duplicate" or "Also By Matched Author"

    [2.15] Other Changes & Fixes

    • In update menu, if update is available, now shows short link to releases page to easily see what's new
    • Change default log file format from rtf to plaintext
    • Fixed log file path not being recognized with quotes around it
    • Fixed crash when unable to encode certain unicode characters
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.15.0.exe(22.05 MB)
    _d5d9359cb5e576e345ac7803102afc658b21dd94cbcce2ab2b34e3e8419d7ac5.sha256(251 bytes)
  • v2.14.3(Feb 2, 2022)

    ๐ŸŽ‰ 2.14 New Features:

    • New Scan Mode: Recent Community Posts

      • You can now fetch a limited number of recent community posts for a channel.
      • The number of posts it fetches will vary (usually from 5-10) - it depends on how many show on the site before needing to load the rest of the page

    ๐Ÿ“ˆ 2.14 Other Improvements

    • Duplicate comment checking now works on community posts

    • Program can now scan all replies of a thread, whereas before it was limited to 100 replies per thread

    • Several filtering improvements to catch more types of spammers

    • Speed of scanning community posts has been significantly improved

      • Note: It's still much slower than scanning videos

    2.14 Other Changes

    • Flagging "subscriber challenge" ( such as '100k subs no videos') channels as spam is now optional in the config as detect_sub_challenge_spam, and disabled by default
    • Changed default duplicate comment threshold from 5 to 4
    • Update to main menu layout, now shows new update availability at top right

    Patch 2.14.0 โ†’ 2.14.2:

    • auto_close and skip_deletion config settings should both now work properly
    • You can now report comments while in 'not your channel mode' with the sensitive smart mode
    • Fixed 'unbound local variable' crash when using delete_without_reviewing config setting
    • Fixed crash when scanning videos with no comments
    • (2.14.2): Fixed 'update available' message incorrectly showing 'beta' when release is not beta

    ๐ŸŸข Patch 2.14.2 โ†’ 2.14.3:

    • Excluding multiple times in a row now works more as expected, displays all excluded authors on subsequent exclude commands
    • Entering a blank 'exclude' command no longer crashes, but asks user for input again
    • Fixed bad 'www' link displayed on first run
    • Add handling for users who incorrectly created client secrets json file, or added a redundant file extension
    • Improved displayed messaging to improve clarification in some places
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.14.3.exe(22.04 MB)
    _616f71e65ffadd02cebf79520436c47a567d7f3cdf45dbfcb21a4379436f38b1.sha256(251 bytes)
  • v2.14.2(Feb 2, 2022)

    ๐ŸŽ‰ New Features:

    • New Scan Mode: Recent Community Posts

      • You can now fetch a limited number of recent community posts for a channel.
      • The number of posts it fetches will vary (usually from 5-10) - it depends on how many show on the site before needing to load the rest of the page

    ๐Ÿ“ˆ Other Improvements

    • Duplicate comment checking now works on community posts

    • Program can now scan all replies of a thread, whereas before it was limited to 100 replies per thread

    • Several filtering improvements to catch more types of spammers

    • Speed of scanning community posts has been significantly improved

      • Note: It's still much slower than scanning videos

    Other Changes

    • Flagging "subscriber challenge" ( such as '100k subs no videos') channels as spam is now optional in the config as detect_sub_challenge_spam, and disabled by default
    • Changed default duplicate comment threshold from 5 to 4
    • Update to main menu layout, now shows new update availability at top right

    ๐ŸŸข Patch 2.14.0 โ†’ 2.14.2:

    • auto_close and skip_deletion config settings should both now work properly
    • You can now report comments while in 'not your channel mode' with the sensitive smart mode
    • Fixed 'unbound local variable' crash when using delete_without_reviewing config setting
    • Fixed crash when scanning videos with no comments
    • (2.14.2): Fixed 'update available' message incorrectly showing 'beta' when release is not beta
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.14.2.exe(22.04 MB)
    _e7e31e8a55a4eb3f46433813b8c925bfa39bc6efd21b753eced57792ff8d5280.sha256(251 bytes)
  • v2.14.0(Jan 26, 2022)

    ๐ŸŽ‰ New Features:

    • New Scan Mode: Recent Community Posts

      • You can now fetch a limited number of recent community posts for a channel.
      • The number of posts it fetches will vary (usually from 5-10) - it depends on how many show on the site before needing to load the rest of the page

    ๐Ÿ“ˆ Other Improvements

    • Duplicate comment checking now works on community posts

    • Program can now scan all replies of a thread, whereas before it was limited to 100 replies per thread

    • Several filtering improvements to catch more types of spammers

    • Speed of scanning community posts has been significantly improved

      • Note: It's still much slower than scanning videos

    Other Changes

    • Flagging "subscriber challenge" ( such as '100k subs no videos') channels as spam is now optional in the config as detect_sub_challenge_spam, and disabled by default
    • Changed default duplicate comment threshold from 5 to 4
    • Update to main menu layout, now shows new update availability at top right
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.14.0.exe(22.04 MB)
    _42ad9fc5454a5fadecd0f3a22d8ae366925f3faf2f6b8f0a0d57a289c90dfa6c.sha256(251 bytes)
  • v2.13.1(Jan 21, 2022)

    ๐ŸŽ‰ New Features:

    1. Multiple Config Files

      • You can now create multiple config files, and select from a list of them when starting the program
        • User can set short description for each config to show in the list
        • Additional configs can be created with the same menu option as when creating the first config
    2. Before deleting/reporting, you can now choose to "only" process certain authors, and exclude the rest

    ๐Ÿ“ˆ Other Improvements

    • Config file updating is now compulsory, with no more need to close program after updating the config file

    • Config backups are now moved to a separate folder in SpamPurge_Resources

    • Now instead of automatically whitelisting excluded authors, it will ask you. With new config option whitelist_excluded to avoid the prompt

    • Improved error handling when log file is opened while program tries to write to it. No longer crashes program, but asks user to close it

    ๐ŸŸข 2.13.0 โ†’ 2.13.1:

    • Fixed critical bug introduced in 2.12 that prevented more than 50 comments from being deleted

    Example:

    multiple config screenshot Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.13.1.exe(22.03 MB)
    _1dbb2ad33261cd6e587b9fa77d416606255ce03f5fdaf4623b40756781cd2ac3.sha256(251 bytes)
  • v2.12.2(Jan 19, 2022)

    Major New Feature๐Ÿ˜ค: Duplicate & Similar Comment Detection

    • Detect spammers who leave duplicate comments even if they slightly modify every single one of them

    • Uses Levenshtein Distance algorithm for similarity analysis
    • Three New Config Settings:
      • duplicate_check_modes : Enable/Disable duplicate detection on any filter modes
      • levenshtein_distance : Set the similarity threshold for duplicate comment detection
      • minimum_duplicates : Set the how many duplicate/similar comments someone has to leave before they are flagged

    Other Big New Features ๐Ÿ‘:

    • Now when removing comments using a list/log file, you can choose to only delete some of them, and the program will save your progress, so you can continue where you left off later
      • Ideal for deleting huge lists of comments
      • Automatically saves progress files and allows you to choose them later
    • Now if an error occurs during scanning, such as hitting the quota limit, the program will skip the rest of the scan and create a log file based on the partial scan (no longer forcing you to exit)

    Other Improvements:

    • Now when excluding commenters, you can enter ranges of numbers too (such as 'exclude 1, 3-6, 5, 9-10')
    • Whitelist is now re-loaded immediately after excluding authors, so it applies to other scans in same session

    Other Changes:

    • Detection of "link spam" (comments where it is nothing but a youtube link) is now disabled by default but can be enabled in the config via new detect_link_spam option

    2.12.0 โ†’ 2.12.1:

    • Fixed bug where comments from the channel owner, current user, and whitelist users were not being ignored during duplicate scanning

    ๐ŸŸข 2.12.1 โ†’ 2.12.2:

    • Fixed UnicodeEncodingError that could occur when creating deletion error log file
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.12.2.exe(22.03 MB)
    _c4e78b1af9f310e04b990f1450e8f48dd3701985952954717e80a9961c07bb7a.sha256(251 bytes)
  • v2.11.0(Jan 16, 2022)

    New Features:

    • New Mode: Remove comments using a list / log file. Now if you created a log file but didn't remove the comments, you can later.

    Other Improvements

    • Now when you exclude an author from removal, their comment IDs will be removed from the list at the top of the log file, making the log file ready to use in the new removal mode
    • Added new 'auto_close' config setting for ending program after finishing scanning
    • Behind the scenes, the script has been split into several finds instead of one monolithic file, which should make it easier to maintain
    • Updated filters to improve detection and reduce false positives
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.11.0.exe(21.99 MB)
    _f3a64c7eac1a167702e65078b7e4bd97bd523c03d0dbaa8b1b8bf84d0fc3d80a.sha256(251 bytes)
  • v2.10.2(Jan 15, 2022)

    Major New Features ๐Ÿฅณ:

    • New "return to main menu" ability. Now in most places, instead of hitting Enter to to exit, it will instead return you to the main menu
      • Also at any prompt in the program, you can enter 'x' to return to the main menu
    • Now when updating the config file version, the program will attempt to copy the old settings into the new. It will also create a backup of the old file first.

    Other Improvements:

    • Now when scanning recent videos, finding a live stream, video with zero comments, or comments disabled no longer blocks continuation. It will simply skip that video and notify you.
    • Reworked and consolidated many variables, so the code should be easier to update going forward

    2.10.0 โ†’ 2.10.1:

    • Fixed community post searching not working

    ๐ŸŸข 2.10.1 โ†’ 2.10.2:

    • Fix program auto-closing when it's not supposed to (specifically when logging_enabled was not 'Ask' in config)
    • Added new 'auto_close' config setting for ending program after finishing scanning
    • Fixed rare issue where comments with many certain repeating characters would cause extremely slow progress / freezing
    • Updated filters to reduce false positives
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.10.2.exe(22.03 MB)
    _d3dda482b9ad74bfa8313face18ed33bf1fbeb56b764848815781fd950c01e97.sha256(251 bytes)
  • v2.9.0(Jan 9, 2022)

    Major New Feature ๐Ÿฅณ:

    • You can now scan any number of recent videos (up to 500, the maximum YouTube's API will return), but be aware of API quota limits

    New Features:

    • When logging to json file, adds config setting to also fetch additional data about the matched authors, that might be useful for research /
    • When logging extra json data, has new config setting to download profile picture thumbnails of all matched authors, as well as video uploader
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.9.0.exe(22.02 MB)
    _b32122eb64e9e709109cbd7154273314b0cdd9e9e919d040de578d8612c7846d.sha256(250 bytes)
  • v2.8.2(Jan 7, 2022)

    New Features:

    • Multiple Video Scanning: In the first scanning mode, you can now input an arbitrary list of videos to scan, instead of just a single video
    • Json Logging: New config option to also log results in a json file. Along with another config setting to choose the encoding scheme for the json file

    Other Improvements:

    • Improved error handling, should give better instructions for certain errors

    2.8.0 โ†’ 2.8.1:

    • Fixed program checking for spam list updates every run instead of once daily

    ๐ŸŸข 2.8.1 โ†’ 2.8.2:

    • Fixed bug where program would crash when excluding someone with emojis / unicode in their username
    • Program now better alerts user when comments being disabled is a likely cause for an error
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.8.2.exe(22.02 MB)
    _be6b1c74a003b23014c5f6c409637c2b193cceed2dd61aadf24af4a1fc8c7f69.sha256(250 bytes)
  • v2.7.4(Jan 6, 2022)

    New Features:

    • PlainText Logging: New config option for plain text logging, instead of rtf
    • Whilelisting: New whitelist file where you can add channel IDs that will be ignored in scans. Users excluded from removal will automatically be added to the whitelist. The file can be found in the SpamPurge_Resources folder.

    Other Changes:

    • The spam_lists folder has been moved into a new folder called SpamPurge_Resources. This resources folder is also where you can find the whitelist file.

    Bug Fixes:

    • Fixed rare problem where lines of text or usernames were missing from the console in the comment outputs or samples
    • Fixed bug that was causing a "note" to be printed for every single comment that was being checked for successful deletion

    2.7.0 โ†’ 2.7.1:

    • Fixed crash when logging if no config file exists

    2.7.1 โ†’ 2.7.2:

    • Fixed crash when user chooses not to create log file

    2.7.2 โ†’ 2.7.3:

    • Added ability for program to retrieve beta releases, and differentiate them when notifying user about update. Also added config file setting to only receive stable channel update notifications

    ๐ŸŸข 2.7.3 โ†’ 2.7.4:

    • Fixed crash on startup when using old version of config file
    Source code(tar.gz)
    Source code(zip)
    YTSpammerPurge.2.7.4.exe(22.01 MB)
    _ffe33a73e38019bb39d7cf6f5b6e3114837fbcf5e47d7221fa9682e9a1e00633.sha256(250 bytes)
Owner
I make tech YouTube videos
ALSPAC data analysis studying links between screen-usage and mental health issues in children. Provided data has been synthesised.

ADSMH - Mental Health and Screen Time Group coursework for Applied Data Science at the University of Bristol. Overview The data set that you have was

Kai 1 Jan 13, 2022
Meower a social media platform written in Scratch 3.0 and Python

Meower Meower is a social media platform written in Scratch 3.0 and Python, ported to HTML for self-hosting. Try Beta 4.6 Changelog for 4.6 Start impl

Meower Media Co. 23 Dec 02, 2022
Provide error messages for Python exceptions, even if the original message is empty

errortext is a Python package to provide error messages for Python exceptions, even if the original message is empty.

Thomas Aglassinger 0 Dec 07, 2021
Cairo-math-64x61 - Fixed point 64.61 math library for Cairo / Starknet

Cairo Math 64x61 A fixed point 64.61 math library for Cairo & Starknet Signed 64

Influence 63 Dec 05, 2022
CEI Natural Disaster Tracking Portal

CEI Natural Disaster Tracking Portal (cc) Climatic Eye of ISCI We are an initiative that conducts studies in the field of Space Science, publishes pro

Baris Dincer 7 Dec 24, 2022
El Niรฑo - Southern Oscillation analysis compared to minimum flow rates of rivers in northeast Brazil

ENSO (El Niรฑo - Southern Oscillation) analysis in northeast Brazil ร‰ comprovada a influรชncia dos fenรดmenos El Niรฑo e La Niรฑa nas secas no nordesde bra

Weyder Freire 1 Jan 13, 2022
Ice Skating Simulator for Winter and Christmas [yay]

Ice Skating Simulator for Winter and Christmas [yay]

1 Aug 21, 2022
Graphsignal Logger

Graphsignal Logger Overview Graphsignal is an observability platform for monitoring and troubleshooting production machine learning applications. It h

Graphsignal 143 Dec 05, 2022
Application to list countries in order of travel from the United States.

Application to list countries in order of travel from the United States.

Broden Wanner 1 Nov 03, 2021
Simplest way to find Appointments in Bรผrgeramt Berlin, Not over engineered.

Simplest way to find Appointments in Bรผrgeramt Berlin, Not over engineered. Der einfachste Weg, Termine im Bรผrgeramt Berlin zu finden, ohne viel Schnickschnack.

Jannis 8 Nov 25, 2022
Projeto de Jogo de dados em Python 3 onde รฉ definido o lado a ser apostado e nรบmero de jogadas, pontuando os acertos e exibindo se ganhou ou perdeu.

Jogo de DadoX Projeto de script que simula um Jogo de dados em Python 3 onde รฉ definido o lado a ser apostado (1, 2, 3, 4, 5 e 6) ou se vai ser um nรบm

Estรชnio Mariano 1 Jul 10, 2021
The third home of the bare Programming Language (1st there's my heart, the forest came second and then there's Github :)

The third home of the bare Programming Language (1st there's my heart, the forest came second and then there's Github :)

Garren Souza 7 Dec 24, 2022
Write-ups for CTF Internacional MetaRed 2021 5th stage

MetaRed2021-5th-Writeups Write-ups for CTF Internacional MetaRed 2021 5th stage Easy (15) No Status Category Name Creator(s) 01 Done osint Cybersecuri

UA Cybersecurity 2 Dec 22, 2021
A Powerful Tool For Making Combo List(All possible modes)

ComboMaker A Powerful Tool For Making Combo List Introduction Check out all possible Combo list build modes with this tool =) How to Install Open the

MasterBurnt 7 Jan 07, 2023
A small C compiler written in Python for learning purposes

A small C compiler written in Python. Generates x64 Intel-format assembly, which is then assembled and linked by nasm and ld.

Scattered Thoughts 3 Oct 22, 2021
TimeWizard - A script that generates every single Time Wizard EDOPRO lflist possible

EDOPRO F&L list generator This project is just a script that generates every sin

Diamond Dude 2 Sep 28, 2022
Birthday program - A program that lookups a birthday txt file and compares to the current date to check for birthdays

Birthday Program This is a program that lookups a birthday txt file and compares

Daquiver 4 Feb 02, 2022
Source code for Learn Programming: Python

This repository contains the source code of the game engine behind Learn Programming: Python. The two key files are game.py (the main source of the ga

Niema Moshiri 25 Apr 24, 2022
A python API act as Control Center to control your Clevo Laptop via wmi on windows.

ClevoPyControlCenter A python API act as Control Center to control your Clevo Laptop via wmi on windows. Usage # pip3 install pymi from clevo_wmi impo

3 Sep 19, 2022
Gba-free-fonts - Free font resources for GBA game development

gba-free-fonts Free font resources for GBA game development This repo contains m

28 Dec 30, 2022