DEV Community

Eileen
Eileen

Posted on

Build a Reddit Moderator Bot With Standard Library + Code.xyz in 10 Minutes

If you're a subreddit moderator, chances are you've received requests from community members to delete an inappropriate comment or ban an ill-mannered user. But it's 2018 going on 2019 - we're in the midst of the biggest tech era and spoiled with things like AI, automation and bots. We no longer need to perform menial tasks like monitoring subreddits. Instead, I'll teach you in 3 easy steps how to build a Reddit bot that will automatically check a subreddit for flagged comments. 

Community members can use "!delete" or "!ban" to request bot moderation

Whether you have no programming knowledge or 15 years of professional experience, you'll be able to deploy this bot with Standard Library in under 10 minutes.

If you're not familiar with Standard Library, we're a serverless platform that enables everyone (yes, everyone! Calling all PMs, designers, marketing teams, sales people, oh and engineers… 🙋) to build, ship, and integrate scalable APIs in a matter of seconds. With the help of our online editor, Code.xyz, you can do all of this right from your browser. 

Standard Library

Requirements

Step 1: Get Reddit bot template

Estimated time: 30 seconds
Head over to Code.xyz in your browser and select reddit-moderator-bot by @eileenzhong (that's me! 🤓👋) in the Community API Sources tab:

Select "reddit-moderator-bot" by @eileenzhong

Name your API:

Name your API

Once done, you'll conveniently land in Code.xyz (Standard Library's in-browser text editor) with the Reddit bot project code. 

Step 2: Copy and paste

Estimated time: 2-5 minutes
This next step involves expert knowledge of the copy-and-paste skill to set some required environment variables. You'll notice there are three sets of variables listed in your env.json file: local, dev, and release. We'll be deploying our code to the dev environment, so we only need to worry about the dev variables for this tutorial!

All fields are found in env.json:

Open env.json

To retrieve your STDLIB_LIBRARY_TOKEN, right click between the quotation marks and select "Insert Library Token…":

Insert library token by accessing the context menu

Keys prefaced with REDDIT_-* can be found on Reddit (REDDIT_USERNAME and REDDIT_PASSWORD are your moderator account's username and password, respectively).
If you don't already have a Reddit app, register for one here with your moderator account:

Register a Reddit app

Copy the REDDIT_CLIENT_ID and REDDIT_SECRET_KEY:
Click edit to view private Reddit credentials
Retrieve your REDDIT_CLIENT_ID and REDDIT_SECRET_KEY

Paste both into env.json:
Filled out env.json

When your env.json file is properly filled out like the above screenshot, the bot is ready for some preliminary testing. 
Fill out the required parameters (definitions and screenshots below):

**Parameter definitions**

subreddit: the name of the subreddit you are moderating
threshold: what score do you want the comment to have in order to perform the requested action? 
allowBanPermission: true (allow ban requests) / false (ignore ban requests)

Click Debug to launch the parameter editor

Then click the "Run" button, which will do 2 things: execute and deploy the program.
Custom parameters

Congratulations, you've deployed an API to Standard Library! 😎 🎉 🎊

Step 3: Set it and forget it

Estimated time: 1 minute

Customize the task schedule
Schedule the task

The final step is to put your bot to work. You can do this in Code.xyz by scheduling a task, which will automatically execute the API you just created according to the schedule you choose.

Suggestion: depending on subreddit traffic, you might increase or decrease the frequency of bot invocation. A good start is to have the bot do a scan once every 5 minutes.

Once you click the "Schedule Task" button in the bottom right corner, your Reddit bot will scan r/{subreddit} to reply to any new !ban/!delete requests and perform these tasks on any comments that meet the score threshold according to the schedule you have chosen.

That's it! 🌟 Now imagine… if it was this quick and painless to deploy a Reddit moderator bot, what else can Standard Library do for you? Feel free to reach out with any ideas or questions: eileen@stdlib.com.


Eileen is a software engineer at Standard Library.

Top comments (2)

Collapse
 
onlyexcellentboy profile image
onlyexcellentboy

Hello!

Collapse
 
shaccoo profile image
shaccoo

Are these templates staill available in this application ??