Code Monkey home page Code Monkey logo

deleteoldtweets's Introduction

Delete tweets

Build Status

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.

Prerequisites

Unfortunately, as of late 2018, you are required to have a Twitter Developer account in order to create a Twitter app.

Apply for a Twitter Developer account

  1. Create a Twitter Developer account:
    1. User profile: Use your current Twitter @username.
    2. Account details: Select I am requesting access for my own personal use, set your 'Account name' to your @username, and select your 'Primary country of operation.
    3. Use case details: select 'Other', and explain in at least 300 words that you want to create an app to semi-automatically clean up your own tweets.
    4. Terms of service: Read and accept the terms.
    5. Email verification: Confirm your email address.
  2. Now wait for your Twitter Developer account to be reviewed and approved.

Create a Twitter app

  1. Create a new Twitter app (not available as long as your Twitter Developer account is pending review).
  2. Set 'Access permissions' of your app to Read and write.

Configure your environment

  1. Open your Twitter Developer's apps.
  2. Click the 'Details' button next to your newly created app.
  3. Click the 'Keys and tokens' tab, and find your keys, secret keys and access tokens.
  4. Now you need to make these keys and tokens available to your shell environment. Assuming you are using Bash:

⚠️ 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]"

Get your tweet archive

  1. Open the Your Twitter data page.
  2. Scroll to the 'Download your Twitter data' section at the bottom of the page.
  3. Re-enter your password.
  4. Click 'Request data', and wait for the email to arrive.
  5. Follow the link in the email to download your Tweet data.
  6. Unpack the archive, and move tweet.js to the same directory as this script.

Getting started

Local

First, install the required dependencies.

pip install -r requirements.txt

Then, for example, delete any tweet from before January 1, 2018:

python deletetweets.py -d 2018-01-01 tweet.js

Or only delete all retweets:

python deletetweets.py -r retweet tweet.js

Docker

Alternatively, you could run this script in a Docker container.

First, you need to build the Docker image.

docker build -t koenrh/delete-tweets .

Then, run the script using the following command.

⚠️ 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).

docker run --env TWITTER_CONSUMER_KEY="$TWITTER_CONSUMER_KEY=" \
  --env TWITTER_CONSUMER_SECRET="$TWITTER_CONSUMER_SECRET=" \
  --env TWITTER_ACCESS_TOKEN="$TWITTER_ACCESS_TOKEN=" \
  --env TWITTER_ACCESS_TOKEN_SECRET="$TWITTER_ACCESS_TOKEN_SECRET=" \
  --volume "$PWD:/app" --rm -it koenrh/delete-tweets -d 2018-01-01 /app/tweet.js

You could make this command more easily accessible by putting it an executable, and make sure that it is available in your $PATH.

deleteoldtweets's People

Contributors

plsrelax avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.