How's it going guys, I'm Joe, and for the past two weeks I've been working on something
game changing, which is why
I haven't really been posting. You guys have undoubtedly seen the complete infestation
of these scam comments on YouTube that impersonate some creator
and then leave a ton of replies to every comment on a video telling people
to contact them on WhatsApp or whatever. I've been getting them for months,
and God forbid you make any kind of finance
related content. You'll just be inundated. I mean, just look at this on Graham
Stephan's latest video. Every single comment has a reply
from a spammer. Same for this other channel, Alex Becker. It's absurd. Now I have, of course, added elements of these messages
to my spam filter over time, but they keep coming back with ever
more convoluted ways to get around them. But if you're a creator, you might know
that the most frustrating part about them is that YouTube offers
no way to delete them all at once. Oh yes, there is a function to ban
the user from commenting, but it does not remove
their previous comments, meaning that if these spammers show up,
you have to go through a list of comments and delete every single one by hand,
which takes multiple clicks each. And there are usually hundreds of these,
so it's takes forever. But I have finally come up
with the solution. I handcrafted a program in Python
using the Google API to smash these spammers even harder than you should smash
the like button right now. I'll show you in more detail in a minute
how it works, but basically you can literally just type in the video
to scan the spammers Channel ID and then sit back while the scammers work
gets flushed away in seconds. It deletes all their comments. And yes, it is free and open source. So if you hate these spammers
as much as I do, let your favorite creators know about this program
that I made, send this video, whatever. Now, forgive me because first
I'm going to rant for a minute. So if you want to
just get to the solution, you can skip ahead with the timestamps. But I just have to vent
because based on my experience, YouTube apparently does not give
a single [censored] about scam accounts that only leave comments
but don't post scam videos or whatever. I have reported every single one of
these accounts that show up on my channel, but not a single one was ever banned
until I manually reached out to creator support and reported them
for impersonation and spamming. In that case, YouTube will remove
most of them after a couple of days of getting back to me. But really, it's hit or miss because
if the channel name is too convoluted, YouTube support will not remove it
because I guess it doesn't meet the threshold for impersonation. Even though I also said,
Hey, look at the comments they're leaving, it's obvious, but they didn't remove it
and to really drive the point home, here's an example of a spam account
where the scammer had changed the profile picture and account
name to impersonate another creator in the time between when I reported them
and when it was reviewed by YouTube. So YouTube came back and said... [TTS Voice] "for the rest of the channel that you reported we have confirmed that it didn't violate our community guidelines" Meanwhile, I went on the channel that the spammer account
was now impersonating, checked their most recent video,
and that same account that YouTube just confirmed didn't violate
any guidelines literally had left even more scam comments
there too. There were still up and Googling
you look at them, apparently, so I sent YouTube a direct link
to one of the scam comments that was left by the same account that I reported,
which, by the way, is still there and they come back
and have the audacity to say... [TTS Voice] "Our team actually checked these channels against our guidelines on impersonation and they confirmed that those channels didn't violate our Community Guidelines" No, YouTube. You didn't, because if you had taken
even one millisecond to even look at the comments
that this account was leaving, anyone with even half a brain cell would
immediately recognize it as a scammer. What the hell? Now YouTube employees,
if you're watching, I'm going to give you the benefit of the doubt
and assume that maybe not enough resources have been allocated to
creating tools to deal with spam comments as opposed to videos. So if you are a higher up at YouTube,
please for the love of God. Implement some additional systems
to deal with spam comments. I know it's almost impossible to stop
spammers permanently, but simply making it so when you ban a user,
all their comments disappear. That would make it so much easier
to handle these spammers. OK, so now that I got that out of my
system, let me get back to the good news. Because YouTube was so useless
in helping with this problem, I basically pulled a Thanos moment
and decided to just make a tool myself
to bulk delete these comments. And that's what I did. Seriously, YouTube,
I was able to do this in like two weeks. In a cave. With a box of scraps! So I'll show you what this program does, as well as how to get it set up to work
with the YouTube API on your account because it does take a bit of preparation,
but it's just a Python script. So all the source code is right
on my GitHub page for the project. Or if you want to open up the file,
you can look at yourself and improve on it and make your own version really
whatever you want. So let's head over to the computer
and I'll show you everything. All right, so let me show you this. So basically, you can get the app
from this page on GitHub. I'll put the link in the description,
of course, and then there are instructions you will have to follow to get it set up
I'll go over that afterwards and show you. But basically, you can get it from going
to the latest release on the release page. The latest one will be right there, and then you just go and download YouTube
spammer exe. Now, one thing to notice is because this
app is new, it doesn't have a reputation. Basically, it might warn you
that it hasn't been commonly downloaded. You can just download it by hitting
Keep there and then it might make you do that again. Keep anyway, and then you'll download it. And the same thing will probably happen
in Windows when you run it. You might see this pop up
until it gets your reputation, so you can simply unblock that by right clicking, going down to properties
where it says unblock. You can check that hit OK,
and then you should be able to run. Another thing I got to point out
is when you first run this, you're not going to be able to
because you do have to create an API key. I'll explain that later in the video,
but basically you're going to need to get this one file, client_secrets.Jason. But I'm just going to post in here now, but I'll show you
how to get this yourself. And then there's another one token.pickle
that'll be generated automatically. But anyway, this is the app. I'll show you how it works now. And then we go over that later,
and this is it. This is the icon I created for it. And when you run it and you're already logged in
and everything, you will see this pop up. So it says YouTubeSpammerPurge
and then whatever version number, it's got the GitHub page, and it's tells you
a little bit about the purpose. And what you can do is say,
do you want to scan a single video or your entire channel? And what I actually did
is I created a demonstration video and asked my followers
to leave a bunch of comments, which I got way more common
than I expected. And I actually responded to a bunch. So we can give myself as an example
for deleting my own comments, pretending I'm the spammer. So like I said, you can choose either to scan the entire channel
or the single video. So let's do an example for the entire channel first
and then it'll say, enter your Channel ID. So in my case, my channel
ID for this channel that I uploaded on is going to be up here. It's
this one that begins with UC. You just paste that in there,
and then it's going to ask you to scan what maximum number of comments this is only going to be the case
if you're scanning the entire channel. Because obviously, if you have thousands of videos
going back years and you have hundreds
of thousands of comments, it's not going to be that great
if you try to scan all of them. So let's just say 1000. And then the ID of the spammer. So again,
we could pretend that I'm the spammer, so we'll go to my other channel and copy
that, paste it into the program. It's going to start scanning. It'll tell you the status. Top level comments scanned,
replies scanned and how many found so far. And then it'll go probably a little bit
past the maximum because it queues them up and the number of spam comments found. It'll ask you if you want to also
save them to a text file. Let's say yes, and then I'll show you what
that looks like. So the text file is what it says
right here. And then when you go to display, it
will actually add them to the text file. And here they go. Here's all those spam comments
that have found. These are the most recent within the most
recent 1000 comments on my channel. And you can see that it says the name of the person
that left the comment, the comment itself. And then if you're scanning
the entire channel, it'll show you what the name of the video that was found on and then also a direct
link to the actual comment. So I'll show you an example. It's probably easier to click it
if you go into the log file this right here, it'll show you a list of
just all the IDs of the spammer comments. And then, for example,
this link goes directly to one of them, and you can see here's the highlighted
reply of this particular comment. And then what it'll ask you is
if you want to actually delete all these comments, I'm
going to say no for now, because we're going to do this
when I scan the entire video, so I'll hit no, or type in whatever,
and it'll cancel it. So let's run this again. And this time
we're going to do single video. I already have the video
ID of that demo video right here. It's going to ask you if the chosen video,
it'll show the title right here. Ask you if to correct you Type Y for yes,
the channel ID of the spammer, which is my channel
and it's going to start going. So there's about 4000 comments on this. So I'll kind of skip ahead now. Actually, I do need to point out that
sometimes haven't figured out why yet. It will just freeze and stop scanning. If you see that it did this, you
just have to close it and run it again. But that shouldn't happen all the time. All right.
So we're going through it again. Hopefully, it'll work this time and
you can see it pretty much found them all. It went through all of them, and I left a whole bunch of reply comments
before when I first uploaded the video. So there's about 79 comments
that have found those are all going to be mine. List
the text file. Yes, we're going to want to do that, created it right there, and it's
going to now display all of them at once. It's a lot faster displayed on a single video,
so we can now read through these again. So blah blah blah spam. These are the ones that I left
just random, random comments. Example comment again. If we go into the text file
and look at these, we can go and find it, and let's open this one
so we can kind of keep track of it so we can see now our highlighted reply,
this should be gone after we go in through and delete it. So now let's pretend that we want to
delete all of these comments that I left. We're going to hit. Yes. Type it in. Yes, exactly. It's going to go through, delete them all,
and then it will give a confirmation. It'll actually confirm
that they're deleted once it's done. The more comments you have longer this is going to take obviously,
there's almost 80 here or so. All right. So it says they should be gone and it's
going to verify that it went through. Each dot is one
verified comment, by the way. And now you can see
it says all spam comments should be gone. So that should have worked. So we can now go. And right now
we are highlighting this one, and if we refresh,
it should not show any more. And there it is, it's gone. So this was the one
that was highlighted before, and now it's
just this other guy's comment. And just for an example,
we can do another one with top level comments, not replies. So this guy was helpful enough to leave
a whole bunch of different random comments so we can see there's a whole bunch here that we can test and we'll remember that
he was commenting above this "Wark" guy and then below this guy
, Naseem and Charl. So we're gonna have to run it again. So we're going to scan single video,
get the ID from that, post it in, and get the Channel ID of this guy. Paste that, and it's going to go,
and it pretty much found them all right away
because he was commenting pretty recently. But we'll just let it continue through. All right. So it just finished
and he left 28 comments. So it's now ready to display them. Let's see what they look like.
That was for the log file. Enter to display.... and now we can look again. So this is where you'd pretty much double
check, OK, this is indeed the correct spammer
that I was looking for. They left all spam comments
and we can now type YES exactly. If you don't type that in all caps
and everything, it won't delete them and then it'll go through
and we can wait again. There it goes through, it should be done,
it's going to check them and says success. They should be gone. We can go back and check if we refresh, they were right below
this Charl and Naseem guy. Sort by newest and they're gone, so here's Charl, Naseem,
and all those spam comments from before from that guy are no longer there,
and that's how it works. Alright so like I mentioned a second ago,
if you just try to run this right after downloading,
you don't have the API key file. So let me show you
how to actually get that set up. I do mention that there are instructions
on the GitHub page, so if you go to there
and then scroll down, there is instructions here,
but I'll walk you through it anyway. It's not really that difficult. So what you have to do is go to console.cloud.google.com. And then it'll probably the first time
give you a thing that you have to agree to the terms and then you probably don't have any project,
so it'll probably say select a project. And then, if not, you still click this
and just go to new project here. And basically, we're going to create
a project on your account that will tell Google what permissions and stuff
that the program is going to get. Now you can literally call it
whatever you want, but it does have to be unique, I believe. So we can just call it Spammer Deleter
and then some numbers after it because some people might use
that as well. And then we can just click create. Then it'll take a second to create it,
and then you can select Project. And now you'll see at the top
that this is selected. Next, we need to enable the YouTube data
API for the project. So if this didn't pop out,
you can just click navigation menu. Hover over APIs and services
and then go to library. On this page,
scroll down and click YouTube Data API. If you're trying to scroll
and it doesn't work. Make sure you hover your mouse
over the bottom half of the page and then just click this box here,
or you can search for it and find it that way. So YouTube Data API V3
and then click Enable. So you give it a second,
and it'll take you to this page. If you ever need to get back to this page. So, for example, let's say you're back
at the main page where you can do is go to navigation
menu, click APIs and Services > dashboard. Then if you scroll down, it'll list
all the ones you have on this project and you just click YouTube data API again
and you're back here. So we need to create credentials
that's going to be the file. So you click create credentials
and then here just basically follow these steps
so you click YouTube Data API again. We're going to do User
Data, click next and don't click done yet. We're still going through all these. And so app name again,
it doesn't really matter. We can call it Spammer Deleter, and
I don't think this one has to be unique. And then for support email, no one's going to be using this
except for you, so it doesn't matter. And then again, just put in
whatever you want. Click, save and continue. Most of this is going to sound like
it's assuming that other people are going to be using the app,
but they're not. So then we click for scopes,
it says optional. But we do have to do this. So add or remove scopes, it'll pop out
this thing on the right and then click next ten rows and just go over
until you see the YouTube data API one and under scope make sure it's
the one that says youtube.force-ssl. That's the one we need. And then scroll down to the bottom,
click Update. And then now you should see it under your sensitive scopes,
and then we click Save and continue again. And then for application type,
just click desktop app. It's the easiest one, and you can name
that whatever you want, it doesn't matter. So now it'll show you
what's called the Client ID. We don't need this,
but what we will do is click download and then this will actually
download the file that we need. So you actually want to rename this
to client_secrets, client_secrets.json . And if you don't see an extension, it doesn't say JSON, that should be fine
if you don't have file extensions named. It might just say client secrets, but if you hover over it,
it should still say type JSON file. So that's fine. Or you can double check by clicking view,
and then file name extensions,
and then it should show the whole thing. So then just copy this file
and then put it wherever you have the exe file or the Python script,
if you're doing it that way and just have it in the same folder. And if you need to get back
to the credentials again, like you click done, then what you can do is back
in the API services, so navigation bar and then APIs and services,
you just go to credentials and then you can download it by clicking
the download OAuth client file. And then you click download JSON, and that will download
the same thing before and also make sure you don't share
Client I.D. or client secret with anyone,
I'm going to blur it out here, don't share the file
with anyone else, either. So anyway,
after you have the file in there, when you double click the program,
this time it should pop up a window right away to have you log in
and authorize the account. So make sure you log in with
the Google account that has your channel. Click on the channel then. Now, if it says access denied and you're
definitely logging into the same account that is the owner of the YouTube channel,
you probably have to do one more step. So what you do is close it out
and then under the navigation menu, go to APIs and services
and then OAuth consent screen and then go down to under test users. Click Add Users. Now you do not want to publish the app
that would basically let other people use this project. It wouldn't
grant access to your YouTube channel, but it would let them take up your quota
so you don't really want them to do that. So you click Add users
and then just add the account email
they were using again and then click Save. And now we can try it again. And there we go. So it will say
Google hasn't verified this app, and then you click continue,
and then you're going to have to grant the project access. And this is going to look scary
because it says, see, edit personally, delete your YouTube video rating. It's like literally everything, but it needs that permission
to be able to delete the comments. And remember, this is your project. Spammer Deleter is the thing that you created,
so granting it access is not a problem. You click Allow and then it says
authentication flow is completed and then now you'll notice that probably
in the same exact window, it'll now show the whole thing for running it. And actually it will renew it
and you'll see the token.pickle, that's like the actual permission. So next time you run it,
you won't have to do this again. It'll just remember it
and load it right away. All right, so there you have it. I put a ton of work into this program
because I basically had to learn along the way. So spread the word so we can at least make it so spamming
is no longer worth these scammers time. So again, lightly tap the like button. And if you want to subscribe, also click the Bell
to Enable Notifications because I only post
about twice a week tops so you don't want them getting lost
in the rest of your subscriptions. If you want to keep watching, check out my
previous video where I had a bit of fun seeing what would happen if you delete
the AppData and Users folders in windows. You can check it out and see how broken
things got by clicking that link right there. So thanks so much for watching guys and I'll see you in the next one.