- Bots added using numeric keys now work
- Bots added before the server starts which raise errors when started should not longer take the server down
- New
client
method for accessing the underlying Slack ruby client; this is useful for getting the channels or users (e.g.client.channels
orclient.users
).
- Evaluate
on_slack_event
blocks against the bot instance, rather than the class.
- Add
on_slack_event
for adding low-level event callbacks liketeam_join
orpresence_changed
- Add new bot-private API method
user_message?(data)
, which returns true if the message is some utterance from a user
- Allow replying from the low-level
on(:message)
callback, although caution should be exercised when doing this (i.e. make sure you aren't replying to bot or other low-level API messages!)
- Add
clear
method to queues
- Upgrate
slack-ruby-client
dependency to latest version
- Re-use error raising from within Slack::Web::Api
- Prevent bots with the same key as existing bots from being added (@keydunov)
- Fixed detection of RTM-compatible messages
- Allow bots to send a 'typing' message
- Messages will be sent via the Real-Team API if possible (not all message parameters are acceptable there)
- Subsequent bot callbacks won't fire if an earlier one returns
false
SlackBotServer::Bot
now exposesbot_user_name
,bot_user_id
,team_name
, andteam_id
methods- The logger can now be set via
SlackBotServer.logger=
- Access the underlying Slack client via the
SlackBotServer::Bot#client
method
- Swapped internal API library from
slack-api
toslack-ruby-client
- Improve internal bot logging API
- Ensure rtm data is reloaded when reconnecting
- Add missing/implicit requires to server.rb and bot.rb
- Only listen for instructions on the queue if its non-nil
- Fix bug where malformed bot key could crash when processing instructions
- Allow
SlackBotServer::RedisQueue.new
to take a custom redis key; note that this has changed the argument format of the initialiser
- The
SlackBotServer::Server#on_new_proc
has been renamed toServer#on_add
- The
add
andadd_bot
methods onSlackBotServer::Server
andSlackBotServer::RemoteControl
control have been merged asadd_bot
- Multiple arguments may be passed via the
add_bot
method to the block given toSlackBotServer::on_add