Skip to content

Slack client library for node.js, written in Coffeescript

License

Notifications You must be signed in to change notification settings

ashevat/node-slack-client

 
 

Repository files navigation

Node.js Slack Client Library

Travis-CI Build Status

Build Status

Description

This is a Slack client library for Node.js. It's intended to expose all of the functionality of Slack's Real Time Messaging API while providing some common abstractions and generally making your life easier, if you want it to.

This code has been built to support our hubot-slack adapter. Most other functionality isn't yet supported, and documentation is minimal, at best.

Installation

npm install slack-client --save

Usage

Slack = require 'slack-client'

slackToken = 'xoxb-YOUR-TOKEN-HERE' # Add a bot at https://my.slack.com/services/new/bot and copy the token here.
autoReconnect = true # Automatically reconnect after an error response from Slack.
autoMark = true # Automatically mark each message as read after it is processed.

slack = new Slack(slackToken, autoReconnect, autoMark)

slack.on 'open', ->
    console.log "Connected to #{slack.team.name} as @#{slack.self.name}"

slack.on 'message', (message) ->
    console.log message

slack.on 'error', (err) ->
    console.error "Error", err

slack.login()

A full example of how to use this module from Node.js can be found in the /examples directory.

Contribute

Here's the most direct way to get your work merged into the project.

  1. Fork the project
  2. Clone down your fork
  3. Create a feature branch
  4. Hack away and add tests, not necessarily in that order
  5. Make sure everything still passes by running tests
  6. If necessary, rebase your commits into logical chunks without errors
  7. Add yourself to package.json as a contributor
  8. Push the branch up to your fork
  9. Send a pull request for your branch

Copyright

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

TODOs

  1. Better/any timeouts on initial websocket connection
  2. Better/any timeouts on API calls
  3. Document the connection options, etc
  4. Emit more events around unreads and mentions

About

Slack client library for node.js, written in Coffeescript

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • CoffeeScript 100.0%