GithubHelp home page GithubHelp logo

acmbot's Introduction

ACMbot

This is a version of Github's Hubot that we here at the Temple ACM have deployed to help and amuse us.

This version is designed to be deployed using the hubot-slack adapter, for use with our Slack.

###Testing ACMbot locally

ACMbot is meant to be deployed to a UNIX or Linux environment and to interface with slack. This is not the most efficient way to do local testing, however. Luckily, there are better ways.

You can test your hubot by running the following from within the hubot directory.

% bin/hubot

You'll see some start up output about where your scripts come from and a prompt.

[Sun, 04 Dec 2011 18:41:11 GMT] INFO Loading adapter shell
[Sun, 04 Dec 2011 18:41:11 GMT] INFO Loading scripts from /home/acmadmin/Development/hubot/scripts
[Sun, 04 Dec 2011 18:41:11 GMT] INFO Loading scripts from /home/acmadmin/Development/hubot/src/scripts
ACMbot>

Then you can interact with hubot by typing acmbot help.

acmbot> acmbot help

acmbot> animate me <query> - The same thing as `image me`, except adds a few
convert me <expression> to <units> - Convert expression to given units.
help - Displays all of the help commands that ACMbot knows about.
...

Scripting

Take a look at the scripts in the ./scripts folder for examples. Delete any scripts you think are useless or boring. Add whatever functionality you want hubot to have. Read up on what you can do with hubot in the Scripting Guide.

Redis Persistence

If you are going to use the redis-brain.coffee script from hubot-scripts, you will need a redis instance of some sort running on the server. If you don't want to take advantage of the persistence of redis, then feel free to remove this script. Warning: this will make acmbot pretty damn stupid, so it's probably much easier to just install redis-server and leave it running.

hubot-scripts

There will inevitably be functionality that everyone will want. Instead of adding it to hubot itself, you can submit pull requests to hubot-scripts.

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.

external-scripts

ACMbot is now able to load scripts from third-party npm packages! To enable this functionality you can follow the following steps.

  1. Add the packages as dependencies into your package.json
  2. npm install to make sure those packages are installed

To enable third-party scripts that you've added you will need to add the package name as a double quoted string to the external-scripts.json file in this repo.

Deployment

This section is not a complete howto on deploying acmbot to our environment, it's just a quick refresher to get you up and running.

$ git clone https://github.com/temple-acm/acmbot.git
$ cd site
$ sudo npm install -g coffee-script hubot
$ gpg env.sh.gpg
$ source env.sh
$ ./bin/hubot
$ ./bin/hubot --adapter slack

acmbot's People

Watchers

James Cloos avatar David Y. avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.