Crossposts Reddit posts to Mastodon
Find a file
2023-08-02 00:02:51 +02:00
.env.example Added some more example values in .env.example 2022-12-10 00:47:44 +01:00
.gitignore Initial commit 2022-12-09 00:04:01 +01:00
cleanup.py Stop cleanup when hitting rate limit 2023-08-01 23:57:15 +02:00
environment.yml Change env yaml to a complete conda export to prevent breaking changes 2023-08-01 19:03:10 +02:00
masto.py Add some comments 2023-08-01 18:59:46 +02:00
README.md Fix typo 2023-08-02 00:02:51 +02:00
reddit.py Add some comments 2023-08-01 18:59:46 +02:00
script.py Add some comments 2023-08-01 18:59:46 +02:00

Reddit Mastodon Crossposter

Prerequisites

  • Python 3
  • conda/mamba

Usage

  1. Install conda env with conda env create -f environment.yml.

  2. Initialize PRAW with e.g. reddit.py (please refer to the PRAW docs).

  3. Initialize Mastodon.py with e.g. masto.py (please refer to the Mastodon.py docs).

  4. Set all .env variables if there are any remaining. (The code does not check for missing environment variables and assumes that everything is set correctly.)

  5. Create a script post_toots.sh and make it executable chmod +x post_toots.sh:

    #!/bin/bash
    
    cd /absolute/path/to/reddit-mastodon-crossposter
    /absolute/path/to/conda run -n reddit python script.py
    
  6. Open the (user) cronjob editor with crontab -e and add the line 0 * * * * /absolute/path/to/post_toots.sh > /dev/null 2>&1. This cronjob runs hourly and the command outputs are not mailed to the user. Alternatively, 2>&1 can be ommited for debugging purposes if the error outputs should be mailed to the user.