Pythonを使用して古いツイートをすべて削除する方法

あまりにも多くの「歴史的な」ツイートを、私がツイートするすべてのばかげたものとともに残すという考えは好きではありません。

そこで、それらをすべて削除することにしました。

そのために、Twitterの設定からTwitterのすべてのツイートのアーカイブをリクエストしました。

アーカイブの生成には数日かかる場合があります。私のアーカイブは2015年にさかのぼりますが、2007年からTwitterを使用しています。おそらく、2015年に過去のツイートを削除したのかもしれませんが、覚えていません。

アーカイブを取得してダウンロードし、フォルダーを解凍して実行しました

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

次に、以下で説明するように、プロセス全体を実行するために必要なTwitterアプリのキーを設定するための環境変数を作成しました。https://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.