Cómo eliminé todos mis tweets antiguos usando Python

No me gusta la idea de dejar demasiados tweets “históricos” con todas las tonterías sobre las que twitteo.

Entonces decidí borrarlos todos.

Para hacerlo, solicité un archivo de todos mis tweets en Twitter, desde la configuración de Twitter.

El archivo puede tardar días en generarse. Mi archivo data de 2015, aunque uso Twitter desde 2007. Quizás ya eliminé mis tweets anteriores en 2015, no lo recuerdo.

Obtuve el archivo, lo descargué, luego desempaqué la carpeta y ejecuté

python -m venv .venv
source .venv/bin/activate.fish
python -m pip install delete-tweets

Luego creé las variables de entorno para configurar las claves de una aplicación de Twitter, necesarias para ejecutar todo el proceso, como se describe enhttps://github.com/koenrh/delete-tweets:

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"

I used the consumer and access keys of a Twitter app I already had (Twitter now has a process to create new apps, so you must be reviewed and approved to do the same if you don’t have an app already there).

Tip: when you define environment variables in this way, they are recorded by default in the shell history. To avoid that with the Fish shell, run a new shell with fish --private to start the shell in private mode.

Then I ran:

delete-tweets --until 2021-01-01 tweet.js

to delete all the tweets I tweeted before 2021. It took a little while, but it worked.

It took way more to get the archive from Twitter than to delete the tweets, but in the end I got a clean slate.