Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including hubot-slack-attachment with all npm packages installed. Try it out:

var hubotSlackAttachment = require("hubot-slack-attachment")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

hubot-slack-attachment v1.0.1

Re-enable `slack-attachment` event for hubot-slack

Re-enable slack-attachment in hubot-slack

When Slack introduced version 3 of their hubot-slack adapter the old slack-attachment was removed due to constraints in the RTM API.

This module attempts to reintroduce the event using Incoming Webhooks to somehow replicate the lost feature.

To use again slack-attachment events, just run the following in your hubot repository:

npm install hubot-slack-attachment --save

And then add hubot-slack-attachment to external-scripts.json.

Last but not least, you need to add the environment variable HUBOT_SLACK_INCOMING_WEBHOOK to the URL for the new incoming webhook you've just defined.

Usage

Emit a slack.attachment event with the following parameters:

robot.emit 'slack.attachment',
  message: msg.message
  content:
    # see https://api.slack.com/docs/attachments
    text: "Attachment text"
    fallback: "Attachment fallback"
    fields: [{
      title: "Field title"
      value: "Field value"
    }]
  channel: "#general" # optional, defaults to message.room
  username: "foobot" # optional, defaults to robot.name
  icon_url: "..." # optional
  icon_emoji: "..." # optional

Known Issues

  • The user name sending the attachment will be #{robot.name} (bot), so if your bot is named hubot it will appear as hubot (bot)

Contributors

The following people deserve as much credit as I do for contributing to make this little project better:

License

This software is licensed under MIT License. See [LICENSE][LICENSE] for more details.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free