Created
May 4, 2018 08:05
-
-
Save ummjackson/ff58651f2804227e5e09b54abc5e8cb1 to your computer and use it in GitHub Desktop.
killabot v1 (wip)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Requirements: pip install tweepy fuzzywuzzy python-Levenshtein | |
import tweepy | |
import re | |
from fuzzywuzzy import fuzz | |
# Credentials go here (generate at: https://apps.twitter.com) | |
auth = tweepy.OAuthHandler('consumer_key', 'consumer_secret') | |
auth.set_access_token('access_token', 'access_token_secret') | |
# Connect to Twitter | |
api = tweepy.API(auth) | |
# Grab last 200 mentions | |
mentions = api.mentions_timeline(count=200) | |
# Loop through the mentions | |
for tweet in mentions: | |
# Calculate simple Levenshtein distance ratio (non-alpha characters stripped with regex) | |
ratio = fuzz.ratio("Your Profile Name Here", re.sub(r'([^\s\w]|_)+', '', tweet.user.name)) | |
# If the ratio is > 80 and followers below 100, report the user | |
if ratio > 80 and tweet.user.followers_count < 100: | |
# Submit the report | |
report = api.report_spam(user_id=tweet.user.id, screen_name=tweet.user.screen_name) | |
# Feedback with report | |
print("Reported: " + tweet.text + " - " + tweet.user.screen_name) |
For "Your Profile Name Here", make sure it's your profile name and not your screen name. For instance, mine is "Jackson Palmer"
What a blast from the past. Instructions I used to provide people via Twitter/email when I shared this gist with them:
- Install dependencies by running command in first line
- Schedule a cron (or preferred scheduler) job to execute the Python script every 60 seconds
I just found this off Reddit, and I think it's funny, the name of this. Based off my internet handle, I named a Discord bot I run "Killabot," and it's also written in Python. What a co-incidence, lol
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
^ should probably call out, you'll want to be running Python 3.*