Slack Developer Kit for Hubot
Go to GitHub



Jan 12, 2022

  • #637 #591 Add support for robot.hearMeMessage - thanks @benpbolton
  • #633 Fix #632 Change the default settings to “useRtmConnect: true” - thanks @seratch

Here is the list of all the issues/pull requests in this release:


Jan 26, 2021

  • #557 #612 Enable to increase page size for Web API calls - thanks @kintarowins @iancward
  • #615 #617 res.message.user is invalid when a message posted using a user token - thanks @buzztaiki

Here is the list of all the issues/pull requests in this release:


Oct 19, 2020

  • #609 Enable robot to hear thread_broadcast subtype messages - thanks @nitoyon

Here is the list of all the issues/pull requests in this release:


May 19, 2020

  • #597 Fix #593 New option to ignore events by other workspace users in shared channels - thanks @seratch
  • #596 Add timestamps for enter and leave messages - thanks @sinisterstuf
  • #574 Use Coffeescript conditional assignment shorthand thanks @sinisterstuf
  • #540 Add callback support to SlackBot::{send,reply} - thanks @rtlechow

Here is the list of all the issues/pull requests in this release:


Apr 3, 2020

  • Bot: catch and react to disconnection event (#572) thanks @mistydemeo
  • Fix #586 hubot-slack calling a suspicious number of times (#588) thanks @mistydemeo @seratch


Apr 30, 2019

  • Fixes an issue parsing the HUBOT_SLACK_CONVERSATION_CACHE_TTL_MS as a number (#562) thanks @aoberoi and @mistydemeo


Apr 29, 2019

  • Adds ability to configure the lifetime of conversation data in the cache using the HUBOT_SLACK_CONVERSATION_CACHE_TTL_MS environment variable (#560) thanks @aoberoi


Dec 21, 2018

  • Adds fileShared listener - thanks @daniel-beard (#546)
  • Fixes a bug where extension methods weren’t being added to the right prototype - thanks @shanedewael (#541)


Oct 1, 2018

  • updates to the latest security patch of @slack/client@v3 - thanks @aoberoi (#529)
  • adds testing across hubot major versions 2.x and 3.x - thanks @mistydemeo (#525)
  • applies a fix to keep users out of the Hubot brain when setting the DISABLE_USER_SYNC environment variable - thanks @jplindquist (#524)


Aug 10, 2018

  • fixes bug where messages from slackbot would not be handled properly - thanks @Eibwen (#520)
  • updates the version of lodash - thanks @mistydemeo (#521)
  • fixes a typo in the documentation - thanks @ind1go (#517)


Jul 17, 2018

  • Fixes an issue with the res.message.user object containing two nested slack properties (#505) - thanks @shanedewael.
  • Fixes an issue where messages from bots with no bot user may have had undefined value for res.messages.user (#507) - thanks @shanedewael.
  • Increases consistency of EnterMessage and LeaveMessage events by swapping to the events which are garaunteed to be delivered (#296) - thanks @aoberoi.
  • Fixes an issue where listeners were not matched because the text formatting did not properly account for messages without text defined but which do contain valid attachments, such as from IFTTT (#504) - thanks @aoberoi.
  • Fixes an issue where messages were delivered to Slack out of order (#379) - thanks @aoberoi.
  • Documentation improvements (#372, #468) - thanks @aoberoi.
  • Adds node v10 to the testing matrix (#510) - thanks @aoberoi.


Jul 3, 2018

  • Resolves security vulnerability warnings for CVE-2018-3728 by updating @slack/client (#486)
  • Fixes issue processing messages with attachments (#500)


Jun 14, 2018

  • Fixes bug that would cause a crash on user_change events (#497)


Jun 8, 2018

  • Decouple RTM datastore from Hubot (#465) - thanks @shanedewael
  • Create local maps to decrease Web API dependencies (#489, #491) - thanks @shanedewael
  • Add flag to allow disabling loading all users on startup (#471) - thanks @sinisterstuf
  • Add support for rtm.connect (#452) - thanks @lornajane
  • Add support for presence_changed events (#438) - thanks @leschekfm
  • Guarantee consistent user representations (#482) - thanks @shanedewael
  • Implements pagination for users.list (#454) - thanks @aoberoi
  • Modernize documentation (#478) - thanks @aoberoi
  • Fixes typo in documentation (#487) - thanks @lukehsiao
  • Updates Slack Standard OSS guidelines (#443) - thanks @aoberoi


Aug 24, 2017

  • Restore ability to inspect rawText and rawMessage on SlackMessage objects (#413) - thanks @mistydemeo
  • Relieve extraneous users.list Web API method calls from occurring due to hubot brain (#419) - thanks @chapmanc
  • Add ability to set RtmClient options and rtm.start options via env vars (#431, #421) - thanks @aoberoi
  • Documentation fix (#426) - thanks @TonioOoOo


Mar 29, 2017

  • Fixes issue when events arrive from user’s who are outside the team/workspace you are connected to (#404).


Feb 17, 2017

  • Adds support for message threads. Thanks @ndaversa!


Feb 15, 2017

  • fixes a bug where user_change events would cause hubot to crash (#391). thanks @aoberoi, @DonEmil, and @pearswj.


Jan 9, 2017

  • fixes a bug where hubot’s using a token without permission to read a user’s email would cause a crash (#388). thanks @aoberoi.


Jan 5, 2017

  • loads slack users into robot.brain. (#381) thanks @NKMR6194!
  • fixes various typos and inaccuracies in the docs (#383, #378, #376).


Nov 5, 2016

  • Fixed a surprisingly wide range of bugs whereby we incorrectly formatted incoming messages that tagged channels or users. Now if someone says “@foobar”, your bot will here “@foobar”, just as you’d expect.
  • So, it turns out you can’t have both an event handler in a base class called topic and a setter method in a derived class called topic. Who knew? Stupid dynamically typed languages.
  • v4.2.1 was retconned by the recently updated documentation. The retcon has been retconned.


Oct 12, 2016

  • Emergency bugfix because typos.


Oct 12, 2016

  • And now we have an even easier way of watching for message reactions


Sep 21, 2016

  • Somewhere out there, someone has been pining to handle message reactions. If that someone is you, this release lets you do that. Preprare to receive new ReactionMessage messages when reactions are added or removed from messages! To the rest of you: Carry on.


Sep 14, 2016

  • Sometimes you could send a message to an @username or a #channelname, but most of the time you couldn’t. We have found the problem, and politely asked it to leave.


Sep 12, 2016

  • Oh, so it turns out that the solution to using Slack’s message formatting was incorrectly conceived. Fixed.


Sep 12, 2016

  • So, you know how Hubot would crash when you tried to set the topic in a private channel? Yeah, me too. Fixed. (#350)
  • As it happens, we were taking on some of the message formatting work that the Slack servers can do on our behalf. Fixed. (#236, #356)
  • robot.messageRoom now accepts room names, not just IDs. Because sometimes all you have is a name. (#346)
  • Treely ruly ignore all self-generated messages, for realz this time.
  • Send all messages with as_user=true by default now.


Aug 3, 2016

  • v4 shipped with this amazing feature whereby we would silently destroy any non-string fields in a message object before sending it out. Y’all loved that feature so much, we just had to build on it. Now we silently destroy you entire message object before sending it out. J/K, that was actually a bug, and we fixed it.


Jul 19, 2016

  • Usernames with - and . no longer borked
  • You could craft a bot that would crash Hubot by simply having it send a message. Wow! That got fixed.


Jul 15, 2016

  • Now uses the latest version of node-slack-sdk (v3.4.1 as of this writing), inheriting all the improvements therein.
  • Better (and automatically enabled) reconnect logic. As in, it actually reconnects automatically at all.
  • Now you can upload files!
  • Significantly improved handling of messages with attachments, which is to say, we can deliver them.
  • Message formatting of links, usernames and channel names is now working far better than it ever did, which is damning with faint praise, but hey.
  • Long messages are now left for Slack to handle, bless their hearts.
  • Slack usernames with . and - are now treated with the respect and dignity due to all usernames.
  • Messages from bots are no longer filtered out, which is both cool and potentially terrifying, but we should never have silenced the robots in the first place.
  • Remember how if you tried to hack on this adapter and used npm link to plug that into a live bot? And how that didn’t work? Yeah? Well now it does. Stupid instanceof.
  • Total refactoring of the functionality, exposing a slightly different interface. So watch out for that.
  • You can now access the underlying Slack client directly, for when you really need low-level functionality therein.

subscribe via RSS