This script only removes comments visible on your profile page!
jimmydg opened this issue · 2 comments
Not really an issue but more a PSA. This script only removes comments visible on your profile page. And does that incredibly well. However, for people with lots of comments this isn't enough. I could still find old comments on Google which had my username/comment intact. The profile page only shows the most recent 1k comments. To quote a reddit support mail:
Please note that Reddit saves the most recent 1,000 comments on your profile. Once you hit that limit, the oldest content will drop off to make room for the newest content. When content has dropped off, we are unable to retrieve it. So it is possible for you to have comments on Reddit that are not visible on your profile.
This isn't a huge problem. We can submit a data request from Reddit containing every comment you ever placed:
- Go to: https://www.reddit.com/settings/data-request
- Select "CCPA/CPRA"
- Select "full time"
In the archive there's a comment.csv
file containing all your comments. Here's an incredibly stupidly short python script which just iterates over them and deletes them. You need a reddit api key for this to work (https://github.com/reddit-archive/reddit/wiki/OAuth2-Quick-Start-Example#first-steps)
import praw
import pandas as pd
df = pd.read_csv('comments.csv')
reddit = praw.Reddit(
client_id="",
client_secret="",
password="",
user_agent="",
username="",
)
for commentId in df['id']:
comment = reddit.comment(commentId)
comment.delete()
print("deleted comment ", commentId)
Comments are still visible on archive.org. I don't believe it's possible to remove them from there.
@jimmydg Thanks for the links, and for this snippet! I used it as a starting point for this script to overwrite comments instead of deleting them. I also set the maximum possible timeout limit, set an additional property to silence a deprecation warning, added exception handling (if you try to edit a comment which is in a deleted thread you get a 403), and added a check to avoid reprocessing comments (in case the script is interrupted and has to be restarted).
I've expanded upon the script from @confluence and ended up with this.