RedditAutoCrosspostBot

https://www.reddit.com/user/AutoCrosspostBot

This reddit bot listens to comments and looks for ones that match the pattern

/r/target_subreddit

It then saves the link to that comment for later processing. After some waiting period (e.g. 3 months), the bot checks the same comment, and if it has accrued enough upvotes, the bot will crosspost the submission that the comment replied to, to the target subreddit.

This project also shares the code for three additional bots:

sub_doesnt_exist_bot

https://www.reddit.com/user/sub_doesnt_exist_bot

Replies to the same type of comments and informs that the sub they linked does not exist.

same_subreddit_bot

https://www.reddit.com/user/same_subreddit_bot

Replies to comments that link to the same subreddit that comment was posted on.

same_post_bot

https://www.reddit.com/user/same_post_bot

Replies to comments that link to a subreddit that already has a post with the same content as the source submission.

Known problem: Reposts

This bot has two methods for preventing reposts. It first checks whether the source submission link was already posted to the target subreddit, and then it uses repostsleuth.com to check whether anything similar to that link was already posted to the target subreddit.

As far as I know, RepostSleuth doesn't support videos or any other non-image file format, so this method will fail to detect video reposts.

I am looking for a way to solve this problem. Suggestions are welcome.

Requierments

Python 3.X PostgreSQL Heroku (for production)

How to install

pip install -r requirements.txt

How to run

python reddit_auto_crosspost_bot.py

Heroku

I use Heroku to host/run this app TODO write more about this later

git clone https://github.com/Toldry/RedditAutoCrosspostBot.git
cd reddit_auto_crosspost_bot
heroku login
heroku ps:scale worker=1

PostgreSQL

This bot stores its data in a postgres database TODO write more about this later

Environment variables

PASSWORD=redacted
APP_CLIENT_SECRET=redacted
DATABASE_URL=redacted

TODO write more about this later

Donate

If you like the bot, you're welcome to donate to help me maintain and improve it ❤

paypal