Code Monkey home page Code Monkey logo

hubot-slack's Introduction

hubot-slack

This is a Hubot adapter to use with Slack.

Build Status Coverage Status

Getting Started

Creating a new bot

  • npm install -g hubot coffee-script yo generator-hubot
  • mkdir -p /path/to/hubot
  • cd /path/to/hubot
  • yo hubot
  • npm install hubot-slack --save
  • Initialize git and make your initial commit
  • Check out the hubot docs for further guidance on how to build your bot

Testing your bot locally

  • HUBOT_SLACK_TOKEN=xoxb-1234-5678-91011-00e4dd ./bin/hubot --adapter slack

Deploying to Heroku

This is a modified set of instructions based on the instructions on the Hubot wiki.

  • Follow the instructions above to create a hubot locally

  • Install heroku toolbelt if you haven't already.

  • heroku create my-company-slackbot

  • heroku addons:create rediscloud:30

  • Activate the Hubot service on your "Team Services" page inside Slack.

  • Add the config variables. For example:

      % heroku config:add HEROKU_URL=https://my-company-slackbot.herokuapp.com
      % heroku config:add HUBOT_SLACK_TOKEN=xoxb-1234-5678-91011-00e4dd
    
  • Deploy the bot:

      % git push heroku master
    
  • Profit!

Upgrading from earlier versions of Hubot

Version 3 of the hubot-slack adapter requires different server support to previous versions. If you have an existing "hubot" integration set up you'll need to upgrade:

  • Go to https://my.slack.com/services/new/hubot and create a new hubot integration
  • Run npm install hubot-slack --save to update your code.
  • Test your bot locally using: HUBOT_SLACK_TOKEN=xoxb-1234-5678-91011-00e4dd ./bin/hubot --adapter slack
  • Update your production startup scripts to pass the new HUBOT_SLACK_TOKEN. You can remove the other HUBOT_SLACK_* environment variables if you want.
  • Deploy your new hubot to production.
  • Once you're happy it works, disable the old hubot integration from https://my.slack.com/services

Configuration

This adapter uses the following environment variables:

  • HUBOT_SLACK_TOKEN - this is the API token for the Slack user you would like to run Hubot under.

To add or remove your bot from specific channels or private groups, you can use the /kick and /invite slash commands that are built into Slack.

If you have scripts that send notifications to specific channels, use the channel name ie. HUBOT_TWITTER_MENTION_ROOM="#general" Keep in mind that your bot needs to be joined to your specific channels by the /invite slash command.

If you're using the hubot-auth script, you can get the user IDs required for the HUBOT_AUTH_ADMIN setting by calling the users.list API method.

Copyright © Slack Technologies, Inc. MIT License; see LICENSE for further details.

hubot-slack's People

Contributors

adamgross42 avatar alirayl avatar billinghamj avatar bnied avatar chayner avatar chsuh avatar crazymykl avatar danielsmink avatar davefp avatar dlackty avatar dstrelau avatar eric avatar eriklindebratt avatar erunion avatar evansolomon avatar grantmd avatar jeffreywescott avatar juanitofatas avatar kylejameswalker avatar lilyball avatar loisaidasam avatar mjsz avatar mtchurch avatar nanek avatar paulhammond avatar redhotvengeance avatar smashwilson avatar stonith avatar technicalpickles avatar tombell avatar

Watchers

 avatar  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.