emoji-award-marseywholesome
Unable to load image
Reported by:

:marseyhacker: [NERD ALERT] Python script to help you search for rule breaking comments. :marseyjanny:

Tired of copy and pasting?
Sick of clicking through profiles?

I bet most of you are smarter than this and have been using a tool like https://camas.github.io or https://pushshift.io to hunt /r/stupidpols nazis. But it's not enough.

Still getting bored of reportmaxxing?
You deserve better!

The latest cyber weapon in SDTA warfare just dropped

:#marseyputin:

With this simple python script, you can now search through a list of users with a list of nono words and have that comment (with it's link) print out in a terminal.

Features

  • Custom list of naughty words
  • Custom list of users to search through
  • Define max characters of comments to filter out long comments
  • Naughty words are highlighted for convenience

Limitations

  • Doesn't search posts
  • Pushshift
  • Still need to use reddit to make report
  • IDK I got bored someone else can improve it :marseyshrug:

Link to script: https://pastebin.com/iByfBHeC

Run the script in terminal or cmd like this python script.py no arguments or anything.

Here is the list of slurs I'm using:

['retards', 'retard', 'fag', 'fags', 'faggot', 'faggots', 'nigger','niggers', 'nigga', 'niggas', 'nigs', 'nig', 'tranny', 'trannies' ,'punch', 'kill', 'smash']

I had to remove them for pastebin to accept it :marseyeyeroll: Make sure to add in at least one slur or the script breaks.

43
Jump in the discussion.

No email address required.

AEO STANDING BY

![](/images/164724334037.webp)

Jump in the discussion.

No email address required.

:marseysick: slurs are never acceptable please censor the list :marseysick:

Jump in the discussion.

No email address required.

Sorry sweetie. This is the price we must pay to stop hate.

Jump in the discussion.

No email address required.

"This is the price we must pay to stop hate..." mutters the AHScel as (s)he downloads more CP to spam on offending rightoid subreddits

:marseywholesome:

Jump in the discussion.

No email address required.

"This is the price we must pay to stop hate..." mutters the AHScel as (s)he downloads more selects from their collection after beating off to CP to spam on offending rightoid subreddits

FIFY No one only downloads CP just to repost it.

Jump in the discussion.

No email address required.

You're watching us get people we don't like banned by spamming reports, and you are still falling for the cp narrative?

All you have to do is coordinated report spam any sub you don't like and it will go away. You idiots have just been too stupid to realize this outside of a few niche cases. (Chapotraphouse and their very explicit calls for violence)

Jump in the discussion.

No email address required.

I suggest to at least add a trigger warning. Also, consider encrypting the list at rest or just get the inacceptable slurs via an api.

Jump in the discussion.

No email address required.

1000 DC (minus carp tax) sent.

:marseykneel:

Jump in the discussion.

No email address required.

using re.compile with constant values in a loop

ngmi

Jump in the discussion.

No email address required.

update it. If you just cry about mistakes, nobody will upload code anymore

Jump in the discussion.

No email address required.

nah, it doesn't matter in such small program. i'm just being a smartass :marseytroublemaker:

Jump in the discussion.

No email address required.

const users = [...], words = [...], fetch = (await import('node-fetch')).default; const sleep = a => new Promise(resolve => setTimeout(resolve, 1000 * a)), re = RegExp(words.join('|'), 'i'); let date = 1e15;

while(true) {

let req; while (true) { req = await fetch(`https://api.pushshift.io/reddit/comment/search?q=?html_decode=true&author=${users.join(',')}&q=${words.join('|')}&amount=100&before=${date}`); if (req.status !== 200) await sleep(10); else break; }

const posts = (await req.json()); if (posts.data.length === 0) break; date = posts.data.at(-1).created_utc;

console.error(posts.data.map(i => i.author + ': ' + i.body.slice(Math.max(0,re.exec(i.body).index - 100), re.exec(i.body).index + 100 ) .replace(re, '\033[31m$&\033[0m').replace('\n', ' ') + ' - https://old.reddit.com' + i.permalink).join('\n'))

}

read the api docs next time

Jump in the discussion.

No email address required.

read the api docs

Nope, i'm not a codecel, plus I hate python.

Interesting that it took me uploading a shitty script for the codecels to come out and contribute something. :marseythinkorino:

Jump in the discussion.

No email address required.

just a tip for next time, if you're gonna use pushshift you should try the pushshift api wrapper module PSAW

save having to do all the url formatting and regex stuff

also if you feel like it you could look into an idea I had to use PRAW to automate reports to the gigajannies. not sure if this is how it works, but if you check your sent messages after sending a report, there's an outgoing PM to /r/reddit.com that might literally just be a PM formatted in a specific way, but I haven't tested this

Jump in the discussion.

No email address required.

I keep getting hits with the link as "https://old.reddit.comNone"

It happens about a third of the time

Jump in the discussion.

No email address required.

Jump in the discussion.

No email address required.

Link copied to clipboard
Action successful!
Error, please refresh the page and try again.