slack-ruby-client 0.7.9 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.github/FUNDING.yml +1 -0
- data/.gitignore +2 -0
- data/.rubocop.yml +32 -1
- data/.rubocop_todo.yml +98 -49
- data/.travis.yml +10 -14
- data/CHANGELOG.md +172 -24
- data/CONTRIBUTING.md +17 -6
- data/Dangerfile +2 -0
- data/Gemfile +10 -4
- data/LICENSE.md +1 -1
- data/README.md +276 -54
- data/RELEASING.md +19 -11
- data/Rakefile +2 -1
- data/UPGRADING.md +84 -2
- data/bin/commands.rb +43 -1
- data/bin/commands/admin_analytics.rb +15 -0
- data/bin/commands/admin_apps.rb +40 -0
- data/bin/commands/admin_apps_approved.rb +17 -0
- data/bin/commands/admin_apps_requests.rb +16 -0
- data/bin/commands/admin_apps_restricted.rb +17 -0
- data/bin/commands/admin_barriers.rb +47 -0
- data/bin/commands/admin_conversations.rb +169 -0
- data/bin/commands/admin_conversations_ekm.rb +17 -0
- data/bin/commands/admin_conversations_restrictAccess.rb +37 -0
- data/bin/commands/admin_conversations_whitelist.rb +37 -0
- data/bin/commands/admin_emoji.rb +54 -0
- data/bin/commands/admin_inviteRequests.rb +36 -0
- data/bin/commands/admin_inviteRequests_approved.rb +16 -0
- data/bin/commands/admin_inviteRequests_denied.rb +16 -0
- data/bin/commands/admin_teams.rb +27 -0
- data/bin/commands/admin_teams_admins.rb +16 -0
- data/bin/commands/admin_teams_owners.rb +16 -0
- data/bin/commands/admin_teams_settings.rb +64 -0
- data/bin/commands/admin_usergroups.rb +48 -0
- data/bin/commands/admin_users.rb +97 -0
- data/bin/commands/admin_users_session.rb +38 -0
- data/bin/commands/api.rb +3 -3
- data/bin/commands/apps.rb +15 -0
- data/bin/commands/apps_connections.rb +13 -0
- data/bin/commands/apps_event_authorizations.rb +16 -0
- data/bin/commands/apps_permissions.rb +23 -0
- data/bin/commands/apps_permissions_resources.rb +15 -0
- data/bin/commands/apps_permissions_scopes.rb +13 -0
- data/bin/commands/apps_permissions_users.rb +26 -0
- data/bin/commands/auth.rb +5 -4
- data/bin/commands/auth_teams.rb +16 -0
- data/bin/commands/bots.rb +4 -2
- data/bin/commands/calls.rb +52 -0
- data/bin/commands/calls_participants.rb +25 -0
- data/bin/commands/channels.rb +64 -43
- data/bin/commands/chat.rb +114 -24
- data/bin/commands/chat_scheduledMessages.rb +19 -0
- data/bin/commands/conversations.rb +196 -0
- data/bin/commands/dialog.rb +15 -0
- data/bin/commands/dnd.rb +9 -8
- data/bin/commands/emoji.rb +3 -2
- data/bin/commands/files.rb +45 -30
- data/bin/commands/files_comments.rb +3 -24
- data/bin/commands/files_remote.rb +78 -0
- data/bin/commands/groups.rb +53 -53
- data/bin/commands/im.rb +17 -13
- data/bin/commands/migration.rb +16 -0
- data/bin/commands/mpim.rb +16 -13
- data/bin/commands/oauth.rb +17 -2
- data/bin/commands/oauth_v2.rb +17 -0
- data/bin/commands/pins.rb +7 -10
- data/bin/commands/reactions.rb +17 -15
- data/bin/commands/reminders.rb +11 -10
- data/bin/commands/rtm.rb +19 -4
- data/bin/commands/search.rb +15 -11
- data/bin/commands/stars.rb +11 -8
- data/bin/commands/team.rb +15 -10
- data/bin/commands/team_profile.rb +3 -2
- data/bin/commands/usergroups.rb +22 -16
- data/bin/commands/usergroups_users.rb +7 -4
- data/bin/commands/users.rb +65 -37
- data/bin/commands/users_admin.rb +29 -0
- data/bin/commands/users_prefs.rb +13 -0
- data/bin/commands/users_profile.rb +8 -7
- data/bin/commands/views.rb +48 -0
- data/bin/commands/workflows.rb +38 -0
- data/bin/slack +3 -4
- data/examples/hi_real_time_and_web/Gemfile +1 -0
- data/examples/hi_real_time_and_web/hi.rb +8 -4
- data/examples/{hi_real_time_async_eventmachine → hi_real_time_async_async}/Gemfile +2 -1
- data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Procfile +0 -0
- data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/hi.rb +13 -8
- data/examples/hi_web/Gemfile +1 -0
- data/examples/hi_web/hi.rb +2 -1
- data/examples/new_ticket/Gemfile +1 -0
- data/examples/new_ticket/new_ticket.rb +2 -1
- data/lib/slack-ruby-client.rb +40 -26
- data/lib/slack.rb +1 -0
- data/lib/slack/config.rb +1 -0
- data/lib/slack/events/config.rb +32 -0
- data/lib/slack/events/request.rb +70 -0
- data/lib/slack/logger.rb +6 -5
- data/lib/slack/messages/formatting.rb +4 -4
- data/lib/slack/messages/message.rb +2 -6
- data/lib/slack/real_time/api/message.rb +3 -1
- data/lib/slack/real_time/api/message_id.rb +1 -0
- data/lib/slack/real_time/api/ping.rb +5 -2
- data/lib/slack/real_time/api/templates/event_handler.erb +1 -1
- data/lib/slack/real_time/api/typing.rb +3 -1
- data/lib/slack/real_time/client.rb +113 -32
- data/lib/slack/real_time/concurrency.rb +2 -2
- data/lib/slack/real_time/concurrency/async.rb +140 -0
- data/lib/slack/real_time/config.rb +20 -12
- data/lib/slack/real_time/models.rb +8 -7
- data/lib/slack/real_time/models/base.rb +2 -6
- data/lib/slack/real_time/models/bot.rb +1 -0
- data/lib/slack/real_time/models/channel.rb +1 -0
- data/lib/slack/real_time/models/group.rb +1 -0
- data/lib/slack/real_time/models/im.rb +1 -0
- data/lib/slack/real_time/models/team.rb +1 -0
- data/lib/slack/real_time/models/user.rb +1 -0
- data/lib/slack/real_time/socket.rb +46 -17
- data/lib/slack/real_time/stores.rb +4 -3
- data/lib/slack/real_time/stores/base.rb +5 -3
- data/lib/slack/real_time/stores/starter.rb +113 -72
- data/lib/slack/real_time/stores/store.rb +131 -88
- data/lib/slack/version.rb +2 -1
- data/lib/slack/web/api/endpoints.rb +110 -26
- data/lib/slack/web/api/endpoints/admin_analytics.rb +26 -0
- data/lib/slack/web/api/endpoints/admin_apps.rb +62 -0
- data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_apps_requests.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
- data/lib/slack/web/api/endpoints/admin_conversations.rb +260 -0
- data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +64 -0
- data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
- data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
- data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
- data/lib/slack/web/api/endpoints/admin_users.rb +161 -0
- data/lib/slack/web/api/endpoints/admin_users_session.rb +66 -0
- data/lib/slack/web/api/endpoints/api.rb +3 -4
- data/lib/slack/web/api/endpoints/apps.rb +27 -0
- data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
- data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
- data/lib/slack/web/api/endpoints/apps_permissions.rb +36 -0
- data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +31 -0
- data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +21 -0
- data/lib/slack/web/api/endpoints/apps_permissions_users.rb +50 -0
- data/lib/slack/web/api/endpoints/auth.rb +5 -4
- data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
- data/lib/slack/web/api/endpoints/bots.rb +5 -2
- data/lib/slack/web/api/endpoints/calls.rb +83 -0
- data/lib/slack/web/api/endpoints/calls_participants.rb +42 -0
- data/lib/slack/web/api/endpoints/channels.rb +105 -49
- data/lib/slack/web/api/endpoints/chat.rb +221 -40
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
- data/lib/slack/web/api/endpoints/conversations.rb +332 -0
- data/lib/slack/web/api/endpoints/dialog.rb +33 -0
- data/lib/slack/web/api/endpoints/dnd.rb +11 -9
- data/lib/slack/web/api/endpoints/emoji.rb +3 -2
- data/lib/slack/web/api/endpoints/files.rb +75 -38
- data/lib/slack/web/api/endpoints/files_comments.rb +3 -38
- data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
- data/lib/slack/web/api/endpoints/groups.rb +76 -53
- data/lib/slack/web/api/endpoints/im.rb +38 -21
- data/lib/slack/web/api/endpoints/migration.rb +28 -0
- data/lib/slack/web/api/endpoints/mpim.rb +37 -22
- data/lib/slack/web/api/endpoints/oauth.rb +25 -4
- data/lib/slack/web/api/endpoints/oauth_v2.rb +30 -0
- data/lib/slack/web/api/endpoints/pins.rb +10 -19
- data/lib/slack/web/api/endpoints/presence.rb +1 -1
- data/lib/slack/web/api/endpoints/reactions.rb +37 -28
- data/lib/slack/web/api/endpoints/reminders.rb +11 -10
- data/lib/slack/web/api/endpoints/rtm.rb +28 -7
- data/lib/slack/web/api/endpoints/search.rb +21 -14
- data/lib/slack/web/api/endpoints/stars.rb +24 -15
- data/lib/slack/web/api/endpoints/team.rb +21 -13
- data/lib/slack/web/api/endpoints/team_profile.rb +3 -2
- data/lib/slack/web/api/endpoints/usergroups.rb +33 -22
- data/lib/slack/web/api/endpoints/usergroups_users.rb +9 -4
- data/lib/slack/web/api/endpoints/users.rb +78 -29
- data/lib/slack/web/api/endpoints/users_admin.rb +49 -0
- data/lib/slack/web/api/endpoints/users_prefs.rb +21 -0
- data/lib/slack/web/api/endpoints/users_profile.rb +11 -10
- data/lib/slack/web/api/endpoints/views.rb +97 -0
- data/lib/slack/web/api/endpoints/workflows.rb +61 -0
- data/lib/slack/web/api/error.rb +2 -8
- data/lib/slack/web/api/errors.rb +850 -0
- data/lib/slack/web/api/errors/internal_error.rb +14 -0
- data/lib/slack/web/api/errors/slack_error.rb +29 -0
- data/lib/slack/web/api/errors/too_many_requests_error.rb +24 -0
- data/lib/slack/web/api/mixins.rb +6 -4
- data/lib/slack/web/api/mixins/channels.id.rb +6 -7
- data/lib/slack/web/api/mixins/conversations.id.rb +25 -0
- data/lib/slack/web/api/mixins/groups.id.rb +6 -7
- data/lib/slack/web/api/mixins/ids.id.rb +24 -0
- data/lib/slack/web/api/mixins/users.id.rb +6 -7
- data/lib/slack/web/api/mixins/users.search.rb +39 -36
- data/lib/slack/web/api/patches/chat.1.patch +72 -0
- data/lib/slack/web/api/patches/dialog.1.open-json-support.patch +17 -0
- data/lib/slack/web/api/patches/views.1.view-json.patch +40 -0
- data/lib/slack/web/api/patches/views.1.views-published.patch +16 -0
- data/lib/slack/web/api/templates/command.erb +5 -3
- data/lib/slack/web/api/templates/commands.erb +2 -1
- data/lib/slack/web/api/templates/endpoints.erb +5 -3
- data/lib/slack/web/api/templates/errors.erb +20 -0
- data/lib/slack/web/api/templates/method.erb +26 -4
- data/lib/slack/web/api/templates/method_spec.erb +3 -2
- data/lib/slack/web/client.rb +2 -1
- data/lib/slack/web/config.rb +21 -10
- data/lib/slack/web/faraday/connection.rb +25 -16
- data/lib/slack/web/faraday/request.rb +2 -0
- data/lib/slack/web/faraday/response/raise_error.rb +23 -1
- data/lib/slack/web/faraday/response/wrap_error.rb +18 -0
- data/lib/slack/web/pagination/cursor.rb +52 -0
- data/lib/slack_ruby_client.rb +1 -0
- data/lib/tasks/git.rake +2 -1
- data/lib/tasks/real_time.rake +16 -6
- data/lib/tasks/update.rake +1 -0
- data/lib/tasks/web.rake +38 -10
- data/screenshots/create-app.png +0 -0
- data/slack-ruby-client.gemspec +9 -6
- data/spec/fixtures/slack/web/429_error.yml +2 -0
- data/spec/fixtures/slack/web/503_error.yml +14 -0
- data/spec/fixtures/slack/web/channels_info.yml +108 -15
- data/spec/fixtures/slack/web/conversations_setTopic.yml +69 -0
- data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +142 -0
- data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +208 -0
- data/spec/fixtures/slack/web/paginated_users_list.yml +181 -0
- data/spec/fixtures/slack/web/rtm_connect.yml +70 -0
- data/spec/fixtures/slack/web/rtm_start.yml +1 -1
- data/spec/fixtures/slack/web/views_open_error.yml +76 -0
- data/spec/integration/integration_spec.rb +116 -48
- data/spec/slack/config_spec.rb +2 -0
- data/spec/slack/events/config_spec.rb +33 -0
- data/spec/slack/events/request_spec.rb +183 -0
- data/spec/slack/messages/formatting_spec.rb +25 -14
- data/spec/slack/real_time/api/message_spec.rb +6 -1
- data/spec/slack/real_time/api/ping_spec.rb +2 -0
- data/spec/slack/real_time/api/typing_spec.rb +5 -1
- data/spec/slack/real_time/client_spec.rb +462 -134
- data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +3 -1
- data/spec/slack/real_time/event_handlers/bot_spec.rb +6 -3
- data/spec/slack/real_time/event_handlers/channel_spec.rb +9 -6
- data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +3 -2
- data/spec/slack/real_time/event_handlers/group_spec.rb +5 -4
- data/spec/slack/real_time/event_handlers/im_spec.rb +4 -3
- data/spec/slack/real_time/event_handlers/team_spec.rb +8 -4
- data/spec/slack/real_time/event_handlers/user_spec.rb +5 -2
- data/spec/slack/real_time/rtm_connect_spec.rb +14 -0
- data/spec/slack/real_time/rtm_start_spec.rb +1 -0
- data/spec/slack/real_time/store_spec.rb +2 -1
- data/spec/slack/slack_spec.rb +39 -7
- data/spec/slack/version_spec.rb +2 -1
- data/spec/slack/web/api/endpoints/admin_analytics_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_barriers_spec.rb +38 -0
- data/spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +32 -0
- data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +98 -0
- data/spec/slack/web/api/endpoints/admin_conversations_whitelist_spec.rb +32 -0
- data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +37 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/admin_teams_admins_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_owners_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +53 -0
- data/spec/slack/web/api/endpoints/admin_teams_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +37 -0
- data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +21 -0
- data/spec/slack/web/api/endpoints/admin_users_spec.rb +67 -0
- data/spec/slack/web/api/endpoints/api_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/apps_connections_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/apps_permissions_scopes_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +19 -0
- data/spec/slack/web/api/endpoints/apps_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/auth_teams_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/bots_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/calls_participants_spec.rb +24 -0
- data/spec/slack/web/api/endpoints/calls_spec.rb +31 -0
- data/spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/conversations_spec.rb +109 -0
- data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +13 -4
- data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +5 -3
- data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +140 -24
- data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +36 -0
- data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +2 -0
- data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +21 -6
- data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +95 -0
- data/spec/slack/web/api/endpoints/dnd_spec.rb +6 -0
- data/spec/slack/web/api/endpoints/emoji_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/files_comments_spec.rb +3 -21
- data/spec/slack/web/api/endpoints/files_remote_spec.rb +24 -0
- data/spec/slack/web/api/endpoints/files_spec.rb +17 -5
- data/spec/slack/web/api/endpoints/im_spec.rb +5 -4
- data/spec/slack/web/api/endpoints/migration_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/mpim_spec.rb +5 -4
- data/spec/slack/web/api/endpoints/oauth_spec.rb +5 -4
- data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/pins_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/reactions_spec.rb +8 -1
- data/spec/slack/web/api/endpoints/reminders_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/rtm_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/search_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/stars_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/team_profile_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/team_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/usergroups_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/users_admin_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/users_prefs_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/users_profile_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/views_spec.rb +29 -0
- data/spec/slack/web/api/endpoints/workflows_spec.rb +26 -0
- data/spec/slack/web/api/error_spec.rb +5 -3
- data/spec/slack/web/api/errors/slack_error_spec.rb +38 -0
- data/spec/slack/web/api/mixins/channels_spec.rb +24 -12
- data/spec/slack/web/api/mixins/conversations_list_spec.rb +21 -0
- data/spec/slack/web/api/mixins/conversations_spec.rb +43 -0
- data/spec/slack/web/api/mixins/groups_spec.rb +24 -12
- data/spec/slack/web/api/mixins/users_spec.rb +30 -17
- data/spec/slack/web/api/pagination/cursor_spec.rb +100 -0
- data/spec/slack/web/client_spec.rb +215 -14
- data/spec/slack/web/faraday/response/raise_error_spec.rb +85 -0
- data/spec/spec_helper.rb +8 -1
- data/spec/support/queue_with_timeout.rb +6 -5
- data/spec/support/real_time/concurrency/mock.rb +2 -2
- data/spec/support/real_time/connected_client.rb +13 -2
- data/spec/support/real_time/event.rb +1 -0
- data/spec/support/token.rb +1 -0
- data/spec/support/vcr.rb +6 -1
- metadata +280 -55
- data/examples/hi_real_time/Gemfile +0 -5
- data/examples/hi_real_time/hi.gif +0 -0
- data/examples/hi_real_time/hi.rb +0 -37
- data/examples/hi_real_time_async_celluloid/Gemfile +0 -6
- data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
- data/examples/hi_real_time_async_eventmachine/hi.rb +0 -36
- data/lib/slack/real_time/concurrency/celluloid.rb +0 -113
- data/lib/slack/real_time/concurrency/eventmachine.rb +0 -60
- data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
- data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
- data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -20
- data/screenshots/register-bot.png +0 -0
- data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -31
- data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -47
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module Slack
|
|
2
3
|
module RealTime
|
|
3
4
|
module Stores
|
|
@@ -26,97 +27,137 @@ module Slack
|
|
|
26
27
|
@users = {}
|
|
27
28
|
end
|
|
28
29
|
|
|
29
|
-
attrs.users
|
|
30
|
+
attrs.users&.each do |data|
|
|
30
31
|
user = Models::User.new(data)
|
|
31
32
|
@users[data.id] = @users.key?(data.id) ? @users[data.id].merge(user) : user
|
|
32
|
-
end
|
|
33
|
+
end
|
|
33
34
|
|
|
34
35
|
@channels = {}
|
|
35
|
-
attrs.channels
|
|
36
|
+
attrs.channels&.each do |data|
|
|
36
37
|
@channels[data.id] = Models::Channel.new(data)
|
|
37
|
-
end
|
|
38
|
+
end
|
|
38
39
|
|
|
39
40
|
@bots = {}
|
|
40
|
-
attrs.bots
|
|
41
|
+
attrs.bots&.each do |data|
|
|
41
42
|
@bots[data.id] = Models::Bot.new(data)
|
|
42
|
-
end
|
|
43
|
+
end
|
|
43
44
|
|
|
44
45
|
@groups = {}
|
|
45
|
-
attrs.groups
|
|
46
|
+
attrs.groups&.each do |data|
|
|
46
47
|
@groups[data.id] = Models::Group.new(data)
|
|
47
|
-
end
|
|
48
|
+
end
|
|
48
49
|
|
|
49
50
|
@ims = {}
|
|
50
|
-
attrs.ims
|
|
51
|
+
attrs.ims&.each do |data|
|
|
51
52
|
@ims[data.id] = Models::Im.new(data)
|
|
52
|
-
end
|
|
53
|
+
end
|
|
53
54
|
end
|
|
54
55
|
|
|
55
56
|
### RealTime Events
|
|
56
57
|
|
|
58
|
+
# An enterprise grid migration has started on an external workspace..
|
|
59
|
+
# @see https://api.slack.com/events/external_org_migration_started
|
|
60
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/external_org_migration_started.json
|
|
61
|
+
# on :external_org_migration_started do |data|
|
|
62
|
+
|
|
63
|
+
# An enterprise grid migration has finished on an external workspace..
|
|
64
|
+
# @see https://api.slack.com/events/external_org_migration_finished
|
|
65
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/external_org_migration_finished.json
|
|
66
|
+
# on :external_org_migration_finished do |data|
|
|
67
|
+
|
|
68
|
+
# A private channel was deleted.
|
|
69
|
+
# @see https://api.slack.com/events/group_deleted
|
|
70
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_deleted.json
|
|
71
|
+
# on :group_deleted do |data|
|
|
72
|
+
|
|
73
|
+
# Determine the current presence status for a list of users.
|
|
74
|
+
# @see https://api.slack.com/events/presence_query
|
|
75
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/presence_query.json
|
|
76
|
+
# on :presence_query do |data|
|
|
77
|
+
|
|
78
|
+
# The membership of an existing User Group has changed.
|
|
79
|
+
# @see https://api.slack.com/events/subteam_members_changed
|
|
80
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_members_changed.json
|
|
81
|
+
# on :subteam_members_changed do |data|
|
|
82
|
+
|
|
83
|
+
# Subscribe to presence events for the specified users.
|
|
84
|
+
# @see https://api.slack.com/events/presence_sub
|
|
85
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/presence_sub.json
|
|
86
|
+
# on :presence_sub do |data|
|
|
87
|
+
|
|
88
|
+
# A user left a public or private channel.
|
|
89
|
+
# @see https://api.slack.com/events/member_left_channel
|
|
90
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/member_left_channel.json
|
|
91
|
+
# on :member_left_channel do |data|
|
|
92
|
+
|
|
93
|
+
# A user joined a public or private channel.
|
|
94
|
+
# @see https://api.slack.com/events/member_joined_channel
|
|
95
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/member_joined_channel.json
|
|
96
|
+
# on :member_joined_channel do |data|
|
|
97
|
+
|
|
57
98
|
# The server intends to close the connection soon..
|
|
58
99
|
# @see https://api.slack.com/events/goodbye
|
|
59
|
-
# @see https://github.com/
|
|
100
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/goodbye.json
|
|
60
101
|
# on :goodbye do |data|
|
|
61
102
|
|
|
62
103
|
# Verifies ownership of an Events API Request URL.
|
|
63
104
|
# @see https://api.slack.com/events/url_verification
|
|
64
|
-
# @see https://github.com/
|
|
105
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/url_verification.json
|
|
65
106
|
# on :url_verification do |data|
|
|
66
107
|
|
|
67
108
|
# A message was posted in a multiparty direct message channel.
|
|
68
109
|
# @see https://api.slack.com/events/message.mpim
|
|
69
|
-
# @see https://github.com/
|
|
110
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/message.mpim.json
|
|
70
111
|
# on :message.mpim do |data|
|
|
71
112
|
|
|
72
113
|
# A message was posted in a direct message channel.
|
|
73
114
|
# @see https://api.slack.com/events/message.im
|
|
74
|
-
# @see https://github.com/
|
|
115
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/message.im.json
|
|
75
116
|
# on :message.im do |data|
|
|
76
117
|
|
|
77
118
|
# A message was posted to a private channel.
|
|
78
119
|
# @see https://api.slack.com/events/message.groups
|
|
79
|
-
# @see https://github.com/
|
|
120
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/message.groups.json
|
|
80
121
|
# on :message.groups do |data|
|
|
81
122
|
|
|
82
123
|
# A message was posted to a channel.
|
|
83
124
|
# @see https://api.slack.com/events/message.channels
|
|
84
|
-
# @see https://github.com/
|
|
125
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/message.channels.json
|
|
85
126
|
# on :message.channels do |data|
|
|
86
127
|
|
|
87
128
|
# A direct message read marker was updated.
|
|
88
129
|
# @see https://api.slack.com/events/im_marked
|
|
89
|
-
# @see https://github.com/
|
|
130
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_marked.json
|
|
90
131
|
# on :im_marked do |data|
|
|
91
132
|
|
|
92
133
|
# Bulk updates were made to a DM channel's history.
|
|
93
134
|
# @see https://api.slack.com/events/im_history_changed
|
|
94
|
-
# @see https://github.com/
|
|
135
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_history_changed.json
|
|
95
136
|
# on :im_history_changed do |data|
|
|
96
137
|
|
|
97
138
|
# The list of accounts a user is signed into has changed.
|
|
98
139
|
# @see https://api.slack.com/events/accounts_changed
|
|
99
|
-
# @see https://github.com/
|
|
140
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/accounts_changed.json
|
|
100
141
|
# on :accounts_changed do |data|
|
|
101
142
|
|
|
102
143
|
# An integration bot was added.
|
|
103
144
|
# @see https://api.slack.com/events/bot_added
|
|
104
|
-
# @see https://github.com/
|
|
145
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/bot_added.json
|
|
105
146
|
on :bot_added do |data|
|
|
106
147
|
bots[data.bot.id] = Models::Bot.new(data.bot)
|
|
107
148
|
end
|
|
108
149
|
|
|
109
150
|
# An integration bot was changed.
|
|
110
151
|
# @see https://api.slack.com/events/bot_changed
|
|
111
|
-
# @see https://github.com/
|
|
152
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/bot_changed.json
|
|
112
153
|
on :bot_changed do |data|
|
|
113
154
|
bot = bots[data.bot.id]
|
|
114
|
-
bot
|
|
155
|
+
bot&.merge!(data.bot)
|
|
115
156
|
end
|
|
116
157
|
|
|
117
158
|
# A team channel was archived.
|
|
118
159
|
# @see https://api.slack.com/events/channel_archive
|
|
119
|
-
# @see https://github.com/
|
|
160
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_archive.json
|
|
120
161
|
on :channel_archive do |data|
|
|
121
162
|
channel = channels[data.channel]
|
|
122
163
|
channel.is_archived = true if channel
|
|
@@ -124,7 +165,7 @@ module Slack
|
|
|
124
165
|
|
|
125
166
|
# A team channel was created.
|
|
126
167
|
# @see https://api.slack.com/events/channel_created
|
|
127
|
-
# @see https://github.com/
|
|
168
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_created.json
|
|
128
169
|
on :channel_created do |data|
|
|
129
170
|
channel = Models::Channel.new(data.channel)
|
|
130
171
|
channels[channel.id] = channel
|
|
@@ -132,19 +173,19 @@ module Slack
|
|
|
132
173
|
|
|
133
174
|
# A team channel was deleted.
|
|
134
175
|
# @see https://api.slack.com/events/channel_deleted
|
|
135
|
-
# @see https://github.com/
|
|
176
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_deleted.json
|
|
136
177
|
on :channel_deleted do |data|
|
|
137
178
|
channels.delete(data.channel)
|
|
138
179
|
end
|
|
139
180
|
|
|
140
181
|
# Bulk updates were made to a channel's history.
|
|
141
182
|
# @see https://api.slack.com/events/channel_history_changed
|
|
142
|
-
# @see https://github.com/
|
|
183
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_history_changed.json
|
|
143
184
|
# on :channel_history_changed do |data|
|
|
144
185
|
|
|
145
186
|
# You joined a channel.
|
|
146
187
|
# @see https://api.slack.com/events/channel_joined
|
|
147
|
-
# @see https://github.com/
|
|
188
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_joined.json
|
|
148
189
|
on :channel_joined do |data|
|
|
149
190
|
channel_id = data.channel.id
|
|
150
191
|
channel = channels[channel_id]
|
|
@@ -157,7 +198,7 @@ module Slack
|
|
|
157
198
|
|
|
158
199
|
# You left a channel.
|
|
159
200
|
# @see https://api.slack.com/events/channel_left
|
|
160
|
-
# @see https://github.com/
|
|
201
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_left.json
|
|
161
202
|
on :channel_left do |data|
|
|
162
203
|
channel = channels[data.channel]
|
|
163
204
|
channel.members.delete(self.self.id) if channel.key? :members
|
|
@@ -165,12 +206,12 @@ module Slack
|
|
|
165
206
|
|
|
166
207
|
# Your channel read marker was updated.
|
|
167
208
|
# @see https://api.slack.com/events/channel_marked
|
|
168
|
-
# @see https://github.com/
|
|
209
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_marked.json
|
|
169
210
|
# on :channel_marked do |data|
|
|
170
211
|
|
|
171
212
|
# A team channel was renamed.
|
|
172
213
|
# @see https://api.slack.com/events/channel_rename
|
|
173
|
-
# @see https://github.com/
|
|
214
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_rename.json
|
|
174
215
|
on :channel_rename do |data|
|
|
175
216
|
channel = channels[data.channel.id]
|
|
176
217
|
channel.name = data.channel.name if channel
|
|
@@ -178,7 +219,7 @@ module Slack
|
|
|
178
219
|
|
|
179
220
|
# A team channel was unarchived.
|
|
180
221
|
# @see https://api.slack.com/events/channel_unarchive
|
|
181
|
-
# @see https://github.com/
|
|
222
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_unarchive.json
|
|
182
223
|
on :channel_unarchive do |data|
|
|
183
224
|
channel = channels[data.channel]
|
|
184
225
|
channel.is_archived = false if channel
|
|
@@ -186,84 +227,84 @@ module Slack
|
|
|
186
227
|
|
|
187
228
|
# A team slash command has been added or changed.
|
|
188
229
|
# @see https://api.slack.com/events/commands_changed
|
|
189
|
-
# @see https://github.com/
|
|
230
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/commands_changed.json
|
|
190
231
|
# on :commands_changed do |data|
|
|
191
232
|
|
|
192
233
|
# Do not Disturb settings changed for the current user.
|
|
193
234
|
# @see https://api.slack.com/events/dnd_updated
|
|
194
|
-
# @see https://github.com/
|
|
235
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/dnd_updated.json
|
|
195
236
|
# on :dnd_updated do |data|
|
|
196
237
|
|
|
197
238
|
# Do not Disturb settings changed for a team member.
|
|
198
239
|
# @see https://api.slack.com/events/dnd_updated_user
|
|
199
|
-
# @see https://github.com/
|
|
240
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/dnd_updated_user.json
|
|
200
241
|
# on :dnd_updated_user do |data|
|
|
201
242
|
|
|
202
243
|
# The team email domain has changed.
|
|
203
244
|
# @see https://api.slack.com/events/email_domain_changed
|
|
204
|
-
# @see https://github.com/
|
|
245
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/email_domain_changed.json
|
|
205
246
|
on :email_domain_changed do |data|
|
|
206
247
|
team.email_domain = data.email_domain
|
|
207
248
|
end
|
|
208
249
|
|
|
209
250
|
# A team custom emoji has been added or changed.
|
|
210
251
|
# @see https://api.slack.com/events/emoji_changed
|
|
211
|
-
# @see https://github.com/
|
|
252
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/emoji_changed.json
|
|
212
253
|
# on :emoji_changed do |data|
|
|
213
254
|
|
|
214
255
|
# A file was changed.
|
|
215
256
|
# @see https://api.slack.com/events/file_change
|
|
216
|
-
# @see https://github.com/
|
|
257
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_change.json
|
|
217
258
|
# on :file_change do |data|
|
|
218
259
|
|
|
219
260
|
# A file comment was added.
|
|
220
261
|
# @see https://api.slack.com/events/file_comment_added
|
|
221
|
-
# @see https://github.com/
|
|
262
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_comment_added.json
|
|
222
263
|
# on :file_comment_added do |data| do
|
|
223
264
|
|
|
224
265
|
# A file comment was deleted.
|
|
225
266
|
# @see https://api.slack.com/events/file_comment_deleted
|
|
226
|
-
# @see https://github.com/
|
|
267
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_comment_deleted.json
|
|
227
268
|
# on :file_comment_deleted do |data|
|
|
228
269
|
|
|
229
270
|
# A file comment was edited.
|
|
230
271
|
# @see https://api.slack.com/events/file_comment_edited
|
|
231
|
-
# @see https://github.com/
|
|
272
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_comment_edited.json
|
|
232
273
|
# on :file_comment_edited do |data|
|
|
233
274
|
|
|
234
275
|
# A file was created.
|
|
235
276
|
# @see https://api.slack.com/events/file_created
|
|
236
|
-
# @see https://github.com/
|
|
277
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_created.json
|
|
237
278
|
# on :file_created do |data|
|
|
238
279
|
|
|
239
280
|
# A file was deleted.
|
|
240
281
|
# @see https://api.slack.com/events/file_deleted
|
|
241
|
-
# @see https://github.com/
|
|
282
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_deleted.json
|
|
242
283
|
# on :file_deleted do |data|
|
|
243
284
|
|
|
244
285
|
# A file was made private.
|
|
245
286
|
# @see https://api.slack.com/events/file_private
|
|
246
|
-
# @see https://github.com/
|
|
287
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_private.json
|
|
247
288
|
# on :file_private do |data|
|
|
248
289
|
|
|
249
290
|
# A file was made public.
|
|
250
291
|
# @see https://api.slack.com/events/file_public
|
|
251
|
-
# @see https://github.com/
|
|
292
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_public.json
|
|
252
293
|
# on :file_public do |data|
|
|
253
294
|
|
|
254
295
|
# A file was shared.
|
|
255
296
|
# @see https://api.slack.com/events/file_shared
|
|
256
|
-
# @see https://github.com/
|
|
297
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_shared.json
|
|
257
298
|
# on :file_shared do |data|
|
|
258
299
|
|
|
259
300
|
# A file was unshared.
|
|
260
301
|
# @see https://api.slack.com/events/file_unshared
|
|
261
|
-
# @see https://github.com/
|
|
302
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_unshared.json
|
|
262
303
|
# on :file_unshared do |data|
|
|
263
304
|
|
|
264
305
|
# A private group was archived.
|
|
265
306
|
# @see https://api.slack.com/events/group_archive
|
|
266
|
-
# @see https://github.com/
|
|
307
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_archive.json
|
|
267
308
|
on :group_archive do |data|
|
|
268
309
|
channel = groups[data.channel]
|
|
269
310
|
channel.is_archived = true if channel
|
|
@@ -271,46 +312,46 @@ module Slack
|
|
|
271
312
|
|
|
272
313
|
# You closed a group channel.
|
|
273
314
|
# @see https://api.slack.com/events/group_close
|
|
274
|
-
# @see https://github.com/
|
|
315
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_close.json
|
|
275
316
|
on :group_close do |data|
|
|
276
317
|
groups[data.channel].is_open = false
|
|
277
318
|
end
|
|
278
319
|
|
|
279
320
|
# Bulk updates were made to a group's history.
|
|
280
321
|
# @see https://api.slack.com/events/group_history_changed
|
|
281
|
-
# @see https://github.com/
|
|
322
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_history_changed.json
|
|
282
323
|
# on :group_history_changed do |data|
|
|
283
324
|
|
|
284
325
|
# You joined a private group.
|
|
285
326
|
# @see https://api.slack.com/events/group_joined
|
|
286
|
-
# @see https://github.com/
|
|
327
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_joined.json
|
|
287
328
|
on :group_joined do |data|
|
|
288
329
|
groups[data.channel.id] = Models::Channel.new(data.channel)
|
|
289
330
|
end
|
|
290
331
|
|
|
291
332
|
# You left a private group.
|
|
292
333
|
# @see https://api.slack.com/events/group_left
|
|
293
|
-
# @see https://github.com/
|
|
334
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_left.json
|
|
294
335
|
on :group_left do |data|
|
|
295
336
|
channel = groups[data.channel]
|
|
296
|
-
channel.members.delete(self.self.id) if channel
|
|
337
|
+
channel.members.delete(self.self.id) if channel&.key?(:members)
|
|
297
338
|
end
|
|
298
339
|
|
|
299
340
|
# A private group read marker was updated.
|
|
300
341
|
# @see https://api.slack.com/events/group_marked
|
|
301
|
-
# @see https://github.com/
|
|
342
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_marked.json
|
|
302
343
|
# on :group_marked do |data|
|
|
303
344
|
|
|
304
345
|
# You opened a group channel.
|
|
305
346
|
# @see https://api.slack.com/events/group_open
|
|
306
|
-
# @see https://github.com/
|
|
347
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_open.json
|
|
307
348
|
on :group_open do |data|
|
|
308
349
|
groups[data.channel].is_open = true
|
|
309
350
|
end
|
|
310
351
|
|
|
311
352
|
# A private group was renamed.
|
|
312
353
|
# @see https://api.slack.com/events/group_rename
|
|
313
|
-
# @see https://github.com/
|
|
354
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_rename.json
|
|
314
355
|
on :group_rename do |data|
|
|
315
356
|
channel = groups[data.channel.id]
|
|
316
357
|
channel.name = data.channel.name if channel
|
|
@@ -318,7 +359,7 @@ module Slack
|
|
|
318
359
|
|
|
319
360
|
# A private group was unarchived.
|
|
320
361
|
# @see https://api.slack.com/events/group_unarchive
|
|
321
|
-
# @see https://github.com/
|
|
362
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_unarchive.json
|
|
322
363
|
on :group_unarchive do |data|
|
|
323
364
|
channel = groups[data.channel]
|
|
324
365
|
channel.is_archived = false if channel
|
|
@@ -326,57 +367,59 @@ module Slack
|
|
|
326
367
|
|
|
327
368
|
# You closed a direct message channel.
|
|
328
369
|
# @see https://api.slack.com/events/im_close
|
|
329
|
-
# @see https://github.com/
|
|
370
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_close.json
|
|
330
371
|
on :im_close do |data|
|
|
331
|
-
return unless ims
|
|
372
|
+
return unless ims&.key?(data.channel)
|
|
373
|
+
|
|
332
374
|
ims[data.channel].is_open = false
|
|
333
375
|
end
|
|
334
376
|
|
|
335
377
|
# A direct message channel was created.
|
|
336
378
|
# @see https://api.slack.com/events/im_created
|
|
337
|
-
# @see https://github.com/
|
|
379
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_created.json
|
|
338
380
|
on :im_created do |data|
|
|
339
381
|
ims[data.channel.id] = Models::Im.new(data.channel)
|
|
340
382
|
end
|
|
341
383
|
|
|
342
384
|
# Bulk updates were made to a DM channel's history.
|
|
343
385
|
# @see https://api.slack.com/events/im_history_changed
|
|
344
|
-
# @see https://github.com/
|
|
386
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_history_changed.json
|
|
345
387
|
# on :im_history_changed do |data|
|
|
346
388
|
|
|
347
389
|
# A direct message read marker was updated.
|
|
348
390
|
# @see https://api.slack.com/events/im_marked
|
|
349
|
-
# @see https://github.com/
|
|
391
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_marked.json
|
|
350
392
|
# on :im_marked do |data|
|
|
351
393
|
|
|
352
394
|
# You opened a direct message channel.
|
|
353
395
|
# @see https://api.slack.com/events/im_open
|
|
354
|
-
# @see https://github.com/
|
|
396
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_open.json
|
|
355
397
|
on :im_open do |data|
|
|
356
|
-
return unless ims
|
|
398
|
+
return unless ims&.key?(data.channel)
|
|
399
|
+
|
|
357
400
|
ims[data.channel].is_open = true
|
|
358
401
|
end
|
|
359
402
|
|
|
360
403
|
# You manually updated your presence.
|
|
361
404
|
# @see https://api.slack.com/events/manual_presence_change
|
|
362
|
-
# @see https://github.com/
|
|
405
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/manual_presence_change.json
|
|
363
406
|
on :manual_presence_change do |data|
|
|
364
407
|
self.self.presence = data.presence
|
|
365
408
|
end
|
|
366
409
|
|
|
367
410
|
# A pin was added to a channel.
|
|
368
411
|
# @see https://api.slack.com/events/pin_added
|
|
369
|
-
# @see https://github.com/
|
|
412
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/pin_added.json
|
|
370
413
|
# on :pin_added do |data|
|
|
371
414
|
|
|
372
415
|
# A pin was removed from a channel.
|
|
373
416
|
# @see https://api.slack.com/events/pin_removed
|
|
374
|
-
# @see https://github.com/
|
|
417
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/pin_removed.json
|
|
375
418
|
# on :pin_removed do |data|
|
|
376
419
|
|
|
377
420
|
# You have updated your preferences.
|
|
378
421
|
# @see https://api.slack.com/events/pref_change
|
|
379
|
-
# @see https://github.com/
|
|
422
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/pref_change.json
|
|
380
423
|
on :pref_change do |data|
|
|
381
424
|
self.self.prefs ||= {}
|
|
382
425
|
self.self.prefs[data.name] = data.value
|
|
@@ -384,7 +427,7 @@ module Slack
|
|
|
384
427
|
|
|
385
428
|
# A team member's presence changed.
|
|
386
429
|
# @see https://api.slack.com/events/presence_change
|
|
387
|
-
# @see https://github.com/
|
|
430
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/presence_change.json
|
|
388
431
|
on :presence_change do |data|
|
|
389
432
|
user = users[data.user]
|
|
390
433
|
user.presence = data.presence if user
|
|
@@ -392,52 +435,52 @@ module Slack
|
|
|
392
435
|
|
|
393
436
|
# A team member has added an emoji reaction to an item.
|
|
394
437
|
# @see https://api.slack.com/events/reaction_added
|
|
395
|
-
# @see https://github.com/
|
|
438
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/reaction_added.json
|
|
396
439
|
# on :reaction_added do |data|
|
|
397
440
|
|
|
398
441
|
# A team member removed an emoji reaction.
|
|
399
442
|
# @see https://api.slack.com/events/reaction_removed
|
|
400
|
-
# @see https://github.com/
|
|
443
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/reaction_removed.json
|
|
401
444
|
# on :reaction_removed do |data|
|
|
402
445
|
|
|
403
446
|
# Experimental.
|
|
404
447
|
# @see https://api.slack.com/events/reconnect_url
|
|
405
|
-
# @see https://github.com/
|
|
448
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/reconnect_url.json
|
|
406
449
|
# on :reconnect_url do |data|
|
|
407
450
|
|
|
408
451
|
# A team member has starred an item.
|
|
409
452
|
# @see https://api.slack.com/events/star_added
|
|
410
|
-
# @see https://github.com/
|
|
453
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/star_added.json
|
|
411
454
|
# on :star_added do |data|
|
|
412
455
|
|
|
413
456
|
# A team member removed a star.
|
|
414
457
|
# @see https://api.slack.com/events/star_removed
|
|
415
|
-
# @see https://github.com/
|
|
458
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/star_removed.json
|
|
416
459
|
# on :star_removed do |data|
|
|
417
460
|
|
|
418
461
|
# A user group has been added to the team.
|
|
419
462
|
# @see https://api.slack.com/events/subteam_created
|
|
420
|
-
# @see https://github.com/
|
|
463
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_created.json
|
|
421
464
|
# on :subteam_created do |data|
|
|
422
465
|
|
|
423
466
|
# You have been added to a user group.
|
|
424
467
|
# @see https://api.slack.com/events/subteam_self_added
|
|
425
|
-
# @see https://github.com/
|
|
468
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_self_added.json
|
|
426
469
|
# on :subteam_self_added do |data|
|
|
427
470
|
|
|
428
471
|
# You have been removed from a user group.
|
|
429
472
|
# @see https://api.slack.com/events/subteam_self_removed
|
|
430
|
-
# @see https://github.com/
|
|
473
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_self_removed.json
|
|
431
474
|
# on :subteam_self_removed do |data|
|
|
432
475
|
|
|
433
476
|
# An existing user group has been updated or its members changed.
|
|
434
477
|
# @see https://api.slack.com/events/subteam_updated
|
|
435
|
-
# @see https://github.com/
|
|
478
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_updated.json
|
|
436
479
|
# on :subteam_updated do |data|
|
|
437
480
|
|
|
438
481
|
# The team domain has changed.
|
|
439
482
|
# @see https://api.slack.com/events/team_domain_change
|
|
440
|
-
# @see https://github.com/
|
|
483
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_domain_change.json
|
|
441
484
|
on :team_domain_change do |data|
|
|
442
485
|
team.url = data.url
|
|
443
486
|
team.domain = data.domain
|
|
@@ -445,26 +488,26 @@ module Slack
|
|
|
445
488
|
|
|
446
489
|
# A new team member has joined.
|
|
447
490
|
# @see https://api.slack.com/events/team_join
|
|
448
|
-
# @see https://github.com/
|
|
491
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_join.json
|
|
449
492
|
on :team_join do |data|
|
|
450
493
|
users[data.user.id] = Models::User.new(data.user)
|
|
451
494
|
end
|
|
452
495
|
|
|
453
496
|
# The team is being migrated between servers.
|
|
454
497
|
# @see https://api.slack.com/events/team_migration_started
|
|
455
|
-
# @see https://github.com/
|
|
498
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_migration_started.json
|
|
456
499
|
# on :team_migration_started do |data|
|
|
457
500
|
|
|
458
501
|
# The team billing plan has changed.
|
|
459
502
|
# @see https://api.slack.com/events/team_plan_change
|
|
460
|
-
# @see https://github.com/
|
|
503
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_plan_change.json
|
|
461
504
|
on :team_plan_change do |data|
|
|
462
505
|
team.plan = data.plan
|
|
463
506
|
end
|
|
464
507
|
|
|
465
508
|
# A team preference has been updated.
|
|
466
509
|
# @see https://api.slack.com/events/team_pref_change
|
|
467
|
-
# @see https://github.com/
|
|
510
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_pref_change.json
|
|
468
511
|
on :team_pref_change do |data|
|
|
469
512
|
team.prefs ||= {}
|
|
470
513
|
team.prefs[data.name] = data.value
|
|
@@ -472,36 +515,36 @@ module Slack
|
|
|
472
515
|
|
|
473
516
|
# Team profile fields have been updated.
|
|
474
517
|
# @see https://api.slack.com/events/team_profile_change
|
|
475
|
-
# @see https://github.com/
|
|
518
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_profile_change.json
|
|
476
519
|
# on :team_profile_change do |data|
|
|
477
520
|
|
|
478
521
|
# Team profile fields have been deleted.
|
|
479
522
|
# @see https://api.slack.com/events/team_profile_delete
|
|
480
|
-
# @see https://github.com/
|
|
523
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_profile_delete.json
|
|
481
524
|
# on :team_profile_delete do |data|
|
|
482
525
|
|
|
483
526
|
# Team profile fields have been reordered.
|
|
484
527
|
# @see https://api.slack.com/events/team_profile_reorder
|
|
485
|
-
# @see https://github.com/
|
|
528
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_profile_reorder.json
|
|
486
529
|
# on :team_profile_reorder do |data|
|
|
487
530
|
|
|
488
531
|
# The team name has changed.
|
|
489
532
|
# @see https://api.slack.com/events/team_rename
|
|
490
|
-
# @see https://github.com/
|
|
533
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_rename.json
|
|
491
534
|
on :team_rename do |data|
|
|
492
535
|
team.name = data.name
|
|
493
536
|
end
|
|
494
537
|
|
|
495
538
|
# A team member's data has changed.
|
|
496
539
|
# @see https://api.slack.com/events/user_change
|
|
497
|
-
# @see https://github.com/
|
|
540
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/user_change.json
|
|
498
541
|
on :user_change do |data|
|
|
499
542
|
users[data.user.id] = Models::User.new(data.user)
|
|
500
543
|
end
|
|
501
544
|
|
|
502
545
|
# A channel member is typing a message.
|
|
503
546
|
# @see https://api.slack.com/events/user_typing
|
|
504
|
-
# @see https://github.com/
|
|
547
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/user_typing.json
|
|
505
548
|
# on :user_typing do |data|
|
|
506
549
|
end
|
|
507
550
|
end
|