The bot finds comments with imperial units, and replies with metric units. See ./test/converter-test.js for what conversions are currently supported, and see Pivotal Tracker for what's coming up next.
There is a chance it will reply to certain triggers like "good bot". See personality-test.js for what the triggers are.
This is a javascript app built with Node.js, and all of the app code is in the src directory.
The app starts in bot.js, and it polls the Reddit servers in an infinite loop. The app has two major components:
converter.js and conversion_helper.js are responsible for converting imperial units to metric units.
personality.js create sassy responses to certain trigger words
Create your bot's reddit account.
Create a reddit script
app through your reddit preferences. (Use http://localhost
as your redirect url, we don't need it.) From there, you should be able to get your OAuth username and secret
Download the code, and create a file ./private/environment.yaml
that looks like:
oauth-username: your-oauth-username
oauth-secret: your-oauth-secret
reddit-username: your-username-here
reddit-password: your-password-here
version: your-bot-version
dev-mode: false #true will print POST requests to the console, instead of actually making the POST to the server
run npm install
then node ./src/bot.js
and you should have the bot up and running!
run npm test
The pre-commit hook will run before each commit. It will only allow code to be committed if the following preconditions are met:
- There are no failing tests
- All tests are run (no
.only()
statements isolating tests) - There are no unnecessary console.log statements
To enable git hooks, copy the file pre-commit into your ./.git/hooks/
directory
Feel free to message me on reddit or open a github issue
Metric Units Bot is participating in Hacktoberfest! See a list of things we need help with and win free T-shirts!
Feedback & code reviews are always welcome.
This source is distributed under GNU GPLv3
Pull requests or derivative works welcome. but please don't make a freedom_units_bot just to spite me D: