- Adds ruby 3.0+ support with
YAML.unsafe_load_file
(PR #24) by @stevemelamedshopify
- Fixes client freezing (PR #22) by @tarynmusgrave
- BREAKING CHANGE: Use
approved_bot_ids
instead ofwhitelisted_bot_ids
(6243c11) by @DougEdey - Add support for named parameters in commands (PR #12) by @DougEdey
- Add support for custom parameters in commands (PR #17) by @DougEdey
- Tidy up some tests
- Force slack-ruby-client to be version 0.15.1 or above to allow for pagination of Conversations
- Add support for interactive block payloads (b6cf1db) by @drose-shopify
- Add code documentation and improve exception message
- Add approval of bot ids in the configuration through
allowed_bot_ids=
- Refactored Handler configuration into
Slackify::Router
andSlackify::Handlers::Factory
- Improved testing
- Remove the need to perform
Slackify.load_handler
- Breaking change: Given that we now load the handlers on
Slack.configure
, the configuration step done inconfig/application.rb
will have to be done in an initializer to have all the handler class loaded.
Update custom_event_subtype_handlers
to custom_message_subtype_handlers
and add support for custom_event_type_handlers
. This is a breaking change since we rename the field that was previously used. To fix, update any calls from custom_event_subtype_handlers
to custom_message_subtype_handlers
and you should be good to go.
Update how the bot_id
is set in the handler configuration. You can disable the slack auth test (which is used to obtain the bot_id) by setting SLACK_AUTH_SKIP=1
in your environment variables. If you are running in a Rails environment other than production, development or staging and would like to use the bot for real requests, you can trigger a manual auth test by calling Slackify.configuration.handlers.bot_auth_test
. Gemfile.lock was removed.
Custom unhandled_handler configuration fix. It wouldn't let you set a custom one as the validation was checking for is_a?
instead of <
Added remove_unhandled_handler
as a configuration option to disable the unhandled handler.
- Renaming the gem from toddlerbot to slackify.
- Cleanup of
lib/slackify
folder. - Added a new configuration: unhandled_handler. You can specify a subclass of
Slackify::Handlers::Base
in the config. This class will be called with#unhandled
when a message has no regex match.
Fix constantize vulnerability in the slack controller by introducing supported handler through #inherited
or Toddlerbot::BaseHandler
.
First release. Everything is new.