pixelbot
pixelbot is a chat bot built on the [Hubot][hubot] framework. It was initially generated by [generator-hubot][generator-hubot], and configured to be deployed on [Heroku][heroku] to get you up and running as quick as possible.
Running pixelbot Locally
Configuration
Scripting
An example script is included at scripts/example.coffee, so check it out to get started, along with the Scripting Guide.
For many common tasks, there's a good chance someone has already one to do just the thing.
external-scripts
There will inevitably be functionality that everyone will want. Instead of writing it yourself, you can use existing plugins.
Hubot is able to load plugins from third-party npm packages. This is the recommended way to add functionality to your hubot. You can get a list of available hubot plugins on npmjs.com or by using npm search:
% npm search hubot-scripts panda NAME DESCRIPTION AUTHOR DATE VERSION KEYWORDS hubot-pandapanda a hubot script for panda responses =missu 2014-11-30 0.9.2 hubot hubot-scripts panda ... To use a package, check the package's documentation, but in general it is:
Use npm install --save to add the package to package.json and install it Add the package name to external-scripts.json as a double quoted string You can review external-scripts.json to see what is included by default.
Advanced Usage
It is also possible to define external-scripts.json
as an object to
explicitly specify which scripts from a package should be included. The example
below, for example, will only activate two of the six available scripts inside
the hubot-fun
plugin, but all four of those in hubot-auto-deploy
.
{
"hubot-fun": [
"crazy",
"thanks"
],
"hubot-auto-deploy": "*"
}
Be aware that not all plugins support this usage and will typically fallback to including all scripts.
hubot-scripts
Before hubot plugin packages were adopted, most plugins were held in the hubot-scripts package. Some of these plugins have yet to be migrated to their own packages. They can still be used but the setup is a bit different.
To enable scripts from the hubot-scripts package, add the script name with
extension as a double quoted string to the hubot-scripts.json
file in this
repo.
Persistence
If you are going to use the hubot-redis-brain
package (strongly suggested),
you will need to add the Redis to Go addon on Heroku which requires a verified
account or you can create an account at Redis to Go and manually
set the REDISTOGO_URL
variable.
% heroku config:add REDISTOGO_URL="..."
If you don't need any persistence feel free to remove the hubot-redis-brain
from external-scripts.json
and you don't need to worry about redis at all.