YT-Spammer-Purge - Allows you easily scan for and delete scam comments using several methods

Overview

Icon
YouTube Spammer Purge

What Is This? - Allows you to filter and search for spammer comments on your channel and other's channel(s) in many different ways AND delete/report them all at once (see features below).

How to Download: Click the "Releases" link on the right, then on the latest release, under 'Assets' click to download "YTSpammerPurge.exe". (You might have to click "Assets" to view the files for the release)

Detailed Info & Documentation: Visit the wiki (Click Here) for more detailed writeups on using the program

Features

  • 15 Different Filtering Methods
    • Auto-Smart Mode (Recommended): Automatically detects multiple spammer techniques
    • Sensitive-Smart Mode: More likely to catch elusive spammers, but with more false positives
    • Scan by Channel ID: Enter a known spammer's channel link or ID directly
    • Scan Usernames for: Individual special characters, individual strings, or using a custom Regex expression
    • Scan Comment Text: (Same 3 options as above)
    • Scan Usernames and Comment Text simultaneously: (Same 3 options as above)
    • ASCII Mode: Scan Usernames for non-ASCII special characters (three different sensitivities)
  • 4 Different Scanning Modes
    • Scan a single video
    • Scan Recent Videos (Up to 5)
    • Scan recent comments across entire channel (all videos)
    • Experimental: Scan a community post
  • Automatic deletion of all found comments (after confirmation), as well as the option to ban them
  • Options to instead Report spam comments or 'Hold For Review'
  • Ability to create config file to skip pre-set options
  • Rich text log files
  • 'Recovery Mode' option to re-instate previously deleted comments
  • Displays "match samples" after printing comments list to easily spot false positives
  • Ability to exclude selected authors before deletion / reporting

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, and since then it has evolved into a fully featured spam scanner as well. IT DOES NOT PREVENT SPAMMERS - It only makes it easier to delete them when they show up! YouTube still must implement better native tools for dealing with spammers.

πŸ€” Pro-Tip If This Seems Sketchy: Limiting The App's Access πŸ€”

If you feel sketched out about giving the app the required high level permissions to your channel (very understandable), you could instead use the app in 'moderator mode' (set in the config file). First, some context: When you grant access to another channel to be a moderator for your channel, they are able to mark comments for 'held for review', and this permission works through the API as well.

Therefore, what you could do is create an blank dummy-google-account with nothing on it except a empty new channel. Then you can grant that channel permission to be a moderator, and use the app through the dummy moderator account. This way, you know that the app will never have the ability to do more than mark comments as held for review (which the app supports) on your main channel, and have no other access to your account's data. You just won't be able to ban the spammers through this app directly, but you can still remove/hide their comments instead of deleting them. Just make sure to create the google cloud API project on the dummy account instead.

Read some additional details about 'moderator mode' on the wiki page here.

Usage Notes -READ THIS

  1. 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 Here.

  2. IF IT FREEZES while scanning, it is probably because you clicked within the command prompt window and entered "selection mode" which pauses everything. To unfreeze it, simply right click within the window, or press the Escape key.

  3. I'm a total amateur, so if something doesn't work I'll try to fix it but might not even know how, so don't expect too much. Therefore I OFFER NO WARRANTY OR GUARANTEE FOR THIS SCRIPT. USE AT YOUR OWN RISK. I tested it on my own and implemented some failsafes as best as I could, but there could always be some kind of unexpected bug. You should inspect the code yourself.

Video: Project Demonstrations

Latest Demonstration Video: https://www.youtube.com/watch?v=2tRppXW_aKo

Updated Demo Video Screenshot Link

Original Demo for Context: https://www.youtube.com/watch?v=-vOakOgYLUI

Demo 1 Video Screenshot Link

(Takes you to YouTube, not embedded. See timestamps in video description.)

Screenshots

Opening Menu:

Opening Menu

Filter Mode Selection:

Filter Mode Selection

Scanning (Auto Smart Mode):

Scanning

Matched Comments List:

Matched Comments List

Match Samples and Deletion Menu:

Match Samples and Deletion Menu

Installation

If using the python script version (not the exe), there is a requirements.txt with necessary modules. Created with Python 3.9.7

Either way, you DO need to acquire your own API credentials file to access the YouTube API - See Instructions Here.

Operating System Specific Instructions:

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.

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
  • 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 4
  • 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
  • Filtering: Undetected Spammer

    Filtering: Undetected Spammer

    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

    funnywarcraft3b funnywarcraft3

    Video / Post Link

    https://www.youtube.com/watch?v=qLTJwXMOawY&lc=UgzKLha85tqlkogVD354AaABAg.9jPKD-DuKfp9jV839guO16

    (Optional) Additional Info / Context

    FunnyWarcraft3 isn't being monitored by anti-spam filters

    Filtering Suggestion 
    opened by Carter-M-II 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
null
Download all posts and comments in a subreddit

subreddit downloader This subreddit downloader downloads all posts and comments in a subreddit For a tutorial to use this program please follow this m

Guneet 6 Dec 16, 2022
A YouTube downloader which allows you to choose which video you want

Youtube Video Downloader Download multiple videos in one go! How to Use 1.First type the video you want to download 2.On clicking the Search button yo

null 2 Dec 17, 2021
A web app for downloading Facebook comments as a csv file

Facebook Comment Downloader A small web app for downloading comments from a public facebook page post. Comment downloading from https://github.com/min

WSDOT 23 Jan 4, 2023
A Python script that allows you to download all of an anime's episodes at once.

BitAnime A Python script that allows you to download all of an anime's episodes at once. Β· Download executable version Β· About BitAnime BitAnime is a

sh1nobu 17 Aug 10, 2022
This simple Python script allows you to download songs on Telegram🌸❀️😁

SongsDownloaderTgBot ?? YouTube Song Downloader Bot For Telegram ?? 3X Fast Telethon Based Bot ⚜ Open Source Bot ????‍?? Demo : ?????????? - ?????????

Sehath Perera 23 Dec 3, 2022
Easily download audio described movies and TV shows found on audiovault.net

AudioVault Downloader A convenient downloader for audio described movies and TV shows found on the Audio Vault. get latest binary release for Windows

Carter Temm 5 Feb 10, 2022
πŸ“ΌCommand line tool based on youtube-dl to easily download selected channels from your subscriptions.

youtube-cdl Command line tool based on youtube-dl to easily download selected channels from your subscriptions. This tool is very handy if you want to

Anatoly 64 Dec 25, 2022
MMDL (Mega Music Downloader) - A tool to easily download music.

mmdl - Mega Music Downloader What is mmdl ❓ TLDR: MMDL is a cli app which allows you to quickly and efficiently download one or multiple songs from Yo

techboy-coder 30 Dec 13, 2022
Organize your downloads easily with DownloadOrganizer

DownloadOrganizer Organize your downloads organize your downloads easily with DownloadOrganizer Instilation how to install DownloadOrganizer Method 1:

null 1 Dec 2, 2021
Download the resources of the Blue Archive easily!

blue-archive-bundle-downloader Download the resources of the Blue Archive easily! Known issue In Windows It works only if the console is "fullscreen"

Ryu juheon 7 Apr 8, 2022
Archivist - Easily archive πŸ“¦ Download folder to Google Drive ☁️

Archivist Script for archiving Download folder by uploading unmodified files to a Google Drive folder. Modified files will remain in the Download fold

Timing Liu 3 Sep 30, 2022
This Program helps you download songs from the Spotify track's link you give in.

Spotify-Downloader-GUI This Program helps you download songs from the Spotify track's link you give in. It uses yt-dlp to download songs from Youtube.

Harish 12 Jun 14, 2022
Script that allows to download portable installers of different versions Adobe software for macOS

What is this and for what This is a script that allows you to download portable installers of programs from Adobe for macOS with different versions. T

null 715 Jan 6, 2023
Download minecraft head or skin, allows TLauncher accounts

Minecraft-skin-downloader Download minecraft head or skin, allows TLauncher accounts by BoBkiNN_ Contact: https://vk.com/bobkinnvk Requirements: Modul

null 3 Apr 3, 2022
Download minecraft head or skin, allows TLauncher accounts

Download minecraft head or skin, allows TLauncher accounts

null 1 Dec 30, 2021
The tool allows to download a list of tiktok sounds

dependencies: pip install requests how to use LAUCH THE PROGRAM file (option f)

carpal 3 Jan 21, 2022
You Can download any video/image in all social medias very easy and High Speed.

All-Downloader You Can download any video/image in all social medias very easy and High Speed. also you can easily download videos from web browsers s

Razor Kenway 14 Dec 16, 2022
Get the latest updates around you as they happen

Adherent We all are different, experience various things happening around us but we stick together. We are all a part of a greater community. As human

Shreyas Daniel 1 Nov 10, 2022
Let's you download entire YT-playlists.

Youtube MP3 Playlist Downloader Let's you download entire youtube playlists as mp3 files. This application is basically a script that makes it easier

null 11 Dec 18, 2022