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