A script for deleting old toots. Based partially on tweet-deleting script by @flesueur (https://gist.github.com/flesueur/bcb2d9185b64c5191915d860ad19f23f)
You can use this script to delete toots that are older than a certain number of days. By default it will keep any pinned toots, but you can change that in
config.py if you want them to be deleted. You can also make a list toots that you want to save, by adding the ID numbers to the
toots_to_save list in
config.py (see point 9 below). The ID of a toot is the last part of its individual URL. e.g. for https://ausglam.space/@hugh/101294246770105799 the id is
This script requires Python3, the
mastodon.py package and an API access token.
- Install Python3 if you don't already have it
- Install the mastodon package:
pip3 install mastodon.py
- Copy example.config.py to a new file called config.py (e.g.
cp example.config.py config.py)
- Log in to your Mastodon account
- Click the settings cog
- Click on Development
- Click 'NEW APPLICATION'
- Enter an application name, and give the app 'read' and 'write' Scopes
- Click 'SUBMIT'
- Click on the name of the new app
- Copy the 'access token' string
YOUR_ACCESS_TOKEN_HEREin config.py with the access token string
- Set the base_url to match your mastodon server
- Set the
days_to_keepto the number of days you want to keep toots before deleting them
- If you do not wish to keep all pinned toots regardless of age, change
- If there are any other toots you want to keep, put the ID numbers (without quotes) in the
toots_to_savelist, separated by commas. For example:
toots_to_save = [100029521330725397, 100013562864734780, 100044187305250752]
- Run the script with
python3 ephemetoot.py. Depending on how many toots you have and how long you want to keep them, it may take a minute or two before you see any results.
- To run automatically every day try using crontab:
@daily python3 ~/ephemetoot/ephemetoot.py
Please log an issue with as much detail as possible (but don't include your access token!).