Skip to content

jangobrecht/MastodonUnschedule

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MastodonUnschedule

A simple command-line tool to view and delete scheduled posts on Mastodon. Features an interactive menu for easy selection.

Why This Tool?

My Mastodon client allows me to schedule posts but doesn't have a feature to delete scheduled posts yet. I created this tool to fill that gap until the feature is added to the client.

Features

  • List all your scheduled Mastodon posts
  • Interactive menu with arrow key navigation
  • Shows scheduled time and post preview
  • Safe deletion with cancel option
  • Works with any Mastodon instance

Requirements

  • Python 3.7 or higher
  • A Mastodon account with API access

Setup

  1. Create and activate a virtual environment:

    python3 -m venv venv
    source venv/bin/activate
  2. Install dependencies:

    pip install -r requirements.txt
  3. Create a .env file with your Mastodon credentials:

    cp .env.example .env
  4. Edit .env and add your credentials:

    • MASTODON_INSTANCE: Your Mastodon instance URL (e.g., https://mastodon.social)
    • MASTODON_CLIENT_KEY: Your application's client key
    • MASTODON_CLIENT_SECRET: Your application's client secret
    • MASTODON_ACCESS_TOKEN: Your access token

Usage

Make sure your virtual environment is activated:

source venv/bin/activate

Run the tool:

python mastodon-unschedule.py

The tool will:

  1. Fetch all your scheduled posts
  2. Display them in an interactive menu
  3. Allow you to select one with arrow keys
  4. Delete the selected post

Getting Mastodon API Credentials

  1. Log in to your Mastodon instance
  2. Go to Settings → Development
  3. Click "New Application"
  4. Fill in the application details:
    • Application name: Choose any name (e.g., "Scheduled Post Manager")
    • Scopes: Enable read:statuses and write:statuses
  5. Click "Submit"
  6. Copy the following to your .env file:
    • Your access tokenMASTODON_ACCESS_TOKEN
    • Client keyMASTODON_CLIENT_KEY
    • Client secretMASTODON_CLIENT_SECRET
    • Instance URL (e.g., https://mastodon.social) → MASTODON_INSTANCE

License

MIT License - see LICENSE file for details

Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request.

About

Delete scheduled Mastodon posts via CLI until your favourite client supports it

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages