Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


CompileBot is a reddit bot that can execute source code in comments. All you have to do is mention CompileBot in your comments along with a language and source code:

+/u/CompileBot python

print "Hello World!"

CompileBot will then process your comment, execute it remotely, and then respond with the output:


Hello World!

How it works

CombileBot is powered by the "compilebot" module which is written in python (2.7). It uses the PRAW package to communicate with reddit and a modified fork of the python ideone-api which uses the Ideone online compiler to execute source code.


CompileBot would appreciate any help it can get. Even if you don't want to contribute to the compilebot source, we need people for testing, improving documentation, and making donations to help support CompileBot's server space and ideone subscription. For more details on contributing anything non-technical, you can find out more on the CompileBot contribution wiki.

If you would like to contribute new features, or fix bugs, or contribute anything else to the compilebot module, you can follow the instructions below to get a local instance of compilebot set up on your system.


If you're familliar with Docker, you might want to try using compilebot's Docker repository.

To install compilebot locally, you can follow the following steps. Using virtualenv is recommended.

git clone
cd compilebot

You'll need to initialize the ideone-api submodule and install it:

git submodule init
git submodule update
cd lib/ideone-api/
python install

Install the dependencies:

pip install -r requirements.txt

Now that all of the dependencies for compilebot have been installed, you'll have to configure the settings file. You can copy the included sample settings into a new file. From the main directory:

cd compilebot
cp sample-config.yml config.yml

Now, if you open config.yml in your favorite text editor you'll see customizable data for compilebot to use. If you would like to run all of compilebot's features, you'll need a reddit account and a ideone account. Once you have your login credentials, you can edit config.yml and fill in the following fields:

  reddit_user: # Your reddit user name
  reddit_pass: # Your reddit password
  ideone_user: # Your ideone username
  ideone_pass: # Your ideone password

Finally, try running compilebot:



Build Status

If you would like to test any changes, you can run the compilebot test suite in order to test each function. From the directory that contains, you can run all of the test modules:

python -m tests.all

Or just the unit tests:

python -m tests.unit

Or a single test module:

python -m tests.unit.reply


A bot that executes source code in reddit comments







No releases published


No packages published