This is a simple script that helps you delete tweets (or just replies or retweets) from your timeline. There are quite a few third-party services that allow you to delete tweets, but these very likely will not allow you to delete tweets beyond the infamous 3,200 tweet limit.
Unfortunately, as of late 2018, you are required to have a Twitter Developer account in order to create a Twitter app.
:warning: Before you continue, you should be aware that most shells record user
input (and thus secrets) into a history file. In Bash you could prevent this by
prepending your command with a single space (requires $HISTCONTROL
to be set
to ignorespace
or ignoreboth
).
export TWITTER_CONSUMER_KEY="your_consumer_key"
export TWITTER_CONSUMER_SECRET="your_consumer_secret"
export TWITTER_ACCESS_TOKEN="your_access_token"
export TWITTER_ACCESS_TOKEN_SECRET="your_access_token_secret"
Install the tool using pip
.
python3 -m pip install delete-tweets
Delete any tweet from before January 1, 2018:
delete-tweets --until 2018-01-01 tweet.js
Or only delete all retweets:
delete-tweets --filter retweets tweet.js
You can optionally spare tweets by passing their id_str
, setting a minimum
amount of likes or retweets:
delete-tweets --until 2018-01-01 tweet.js --spare-ids 21235434 23498723 23498723
Spare tweets that have at least 10 likes, or 5 retweets:
delete-tweets --until 2018-01-01 tweet.js --spare-min-likes 10 --spare-min-retweets 5