slack-ruby-client 0.13.1 → 2.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 +4 -4
- data/.github/FUNDING.yml +1 -0
- data/.github/workflows/integration_test.yml +26 -0
- data/.github/workflows/lint.yml +14 -0
- data/.github/workflows/pr_lint.yml +21 -0
- data/.github/workflows/test.yml +36 -0
- data/.gitignore +5 -3
- data/.rubocop.yml +34 -5
- data/.rubocop_todo.yml +180 -46
- data/.ruby-version +1 -0
- data/CHANGELOG.md +119 -2
- data/CONTRIBUTING.md +23 -11
- data/Dangerfile +2 -0
- data/Gemfile +22 -5
- data/Gemfile.danger +6 -0
- data/LICENSE.md +1 -1
- data/README.md +236 -101
- data/RELEASING.md +2 -2
- data/Rakefile +2 -1
- data/UPGRADING.md +100 -2
- 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 +28 -0
- data/bin/commands/admin_apps_restricted.rb +17 -0
- data/bin/commands/admin_audit_anomaly_allow.rb +23 -0
- data/bin/commands/admin_auth_policy.rb +39 -0
- data/bin/commands/admin_barriers.rb +47 -0
- data/bin/commands/admin_conversations.rb +171 -0
- data/bin/commands/admin_conversations_ekm.rb +17 -0
- data/bin/commands/admin_conversations_restrictAccess.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/admin_users_unsupportedVersions.rb +15 -0
- data/bin/commands/api.rb +1 -1
- 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 +52 -0
- data/bin/commands/auth.rb +1 -0
- data/bin/commands/auth_teams.rb +16 -0
- data/bin/commands/bookmarks.rb +53 -0
- data/bin/commands/bots.rb +2 -0
- data/bin/commands/calls.rb +52 -0
- data/bin/commands/calls_participants.rb +25 -0
- data/bin/commands/chat.rb +61 -14
- data/bin/commands/chat_scheduledMessages.rb +19 -0
- data/bin/commands/conversations.rb +82 -10
- data/bin/commands/dialog.rb +1 -0
- data/bin/commands/dnd.rb +6 -3
- data/bin/commands/emoji.rb +1 -0
- data/bin/commands/files.rb +34 -18
- data/bin/commands/files_comments.rb +1 -21
- data/bin/commands/files_remote.rb +78 -0
- data/bin/commands/migration.rb +2 -0
- data/bin/commands/oauth.rb +2 -14
- data/bin/commands/oauth_v2.rb +29 -0
- data/bin/commands/openid_connect.rb +27 -0
- data/bin/commands/pins.rb +3 -6
- data/bin/commands/reactions.rb +3 -3
- data/bin/commands/reminders.rb +7 -0
- data/bin/commands/rtm.rb +1 -15
- data/bin/commands/search.rb +6 -1
- data/bin/commands/stars.rb +8 -6
- data/bin/commands/team.rb +6 -0
- data/bin/commands/team_billing.rb +13 -0
- data/bin/commands/team_preferences.rb +13 -0
- data/bin/commands/team_profile.rb +1 -0
- data/bin/commands/tooling_tokens.rb +14 -0
- data/bin/commands/usergroups.rb +7 -1
- data/bin/commands/usergroups_users.rb +3 -0
- data/bin/commands/users.rb +6 -4
- data/bin/commands/users_admin.rb +1 -0
- data/bin/commands/users_prefs.rb +1 -0
- data/bin/commands/users_profile.rb +6 -5
- data/bin/commands/views.rb +50 -0
- data/bin/commands/workflows.rb +38 -0
- data/bin/commands.rb +41 -8
- data/bin/slack +3 -4
- data/examples/hi_real_time_and_web/Gemfile +1 -0
- data/examples/hi_real_time_and_web/hi.rb +7 -3
- data/examples/hi_real_time_async_async/Gemfile +1 -0
- data/examples/hi_real_time_async_async/hi.rb +6 -2
- data/examples/hi_web/Gemfile +1 -0
- data/examples/hi_web/hi.rb +1 -0
- data/examples/new_ticket/Gemfile +1 -0
- data/examples/new_ticket/new_ticket.rb +1 -0
- 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 +1 -0
- data/lib/slack/messages/message.rb +1 -4
- data/lib/slack/real_time/api/message.rb +6 -3
- 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 +5 -1
- data/lib/slack/real_time/api/typing.rb +5 -2
- data/lib/slack/real_time/client.rb +105 -54
- data/lib/slack/real_time/concurrency/async.rb +77 -6
- data/lib/slack/real_time/concurrency.rb +1 -2
- data/lib/slack/real_time/config.rb +9 -13
- data/lib/slack/real_time/models/base.rb +1 -4
- data/lib/slack/real_time/models/bot.rb +1 -0
- data/lib/slack/real_time/models/channel.rb +5 -0
- data/lib/slack/real_time/models/im.rb +1 -0
- data/lib/slack/real_time/models/{group.rb → mpim.rb} +2 -1
- 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 +3 -1
- data/lib/slack/real_time/socket.rb +45 -17
- data/lib/slack/real_time/stores/base.rb +28 -14
- data/lib/slack/real_time/stores/starter.rb +325 -297
- data/lib/slack/real_time/stores/store.rb +271 -196
- data/lib/slack/real_time/stores.rb +2 -7
- 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 +51 -0
- data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_audit_anomaly_allow.rb +34 -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 +264 -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_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/admin_users_unsupportedVersions.rb +25 -0
- data/lib/slack/web/api/endpoints/api.rb +2 -3
- 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 +77 -0
- data/lib/slack/web/api/endpoints/auth.rb +2 -1
- data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
- data/lib/slack/web/api/endpoints/bookmarks.rb +88 -0
- data/lib/slack/web/api/endpoints/bots.rb +4 -1
- 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/chat.rb +168 -65
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
- data/lib/slack/web/api/endpoints/conversations.rb +182 -67
- data/lib/slack/web/api/endpoints/dialog.rb +5 -4
- data/lib/slack/web/api/endpoints/dnd.rb +9 -4
- data/lib/slack/web/api/endpoints/emoji.rb +1 -0
- data/lib/slack/web/api/endpoints/files.rb +69 -37
- 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/migration.rb +6 -3
- data/lib/slack/web/api/endpoints/oauth.rb +7 -31
- 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 +11 -18
- data/lib/slack/web/api/endpoints/reactions.rb +22 -21
- data/lib/slack/web/api/endpoints/reminders.rb +23 -10
- data/lib/slack/web/api/endpoints/rtm.rb +3 -25
- data/lib/slack/web/api/endpoints/search.rb +31 -16
- data/lib/slack/web/api/endpoints/stars.rb +14 -11
- data/lib/slack/web/api/endpoints/team.rb +15 -4
- 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 +2 -1
- data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
- data/lib/slack/web/api/endpoints/usergroups.rb +31 -20
- data/lib/slack/web/api/endpoints/usergroups_users.rb +13 -8
- data/lib/slack/web/api/endpoints/users.rb +24 -23
- data/lib/slack/web/api/endpoints/users_admin.rb +3 -2
- data/lib/slack/web/api/endpoints/users_prefs.rb +1 -0
- data/lib/slack/web/api/endpoints/users_profile.rb +8 -7
- data/lib/slack/web/api/endpoints/views.rb +102 -0
- data/lib/slack/web/api/endpoints/workflows.rb +61 -0
- data/lib/slack/web/api/endpoints.rb +82 -18
- data/lib/slack/web/api/error.rb +1 -0
- data/lib/slack/web/api/errors/server_error.rb +37 -0
- data/lib/slack/web/api/errors/slack_error.rb +14 -1
- data/lib/slack/web/api/errors/too_many_requests_error.rb +2 -4
- data/lib/slack/web/api/errors.rb +1116 -0
- data/lib/slack/web/api/mixins/{channels.id.rb → conversations.id.rb} +5 -6
- data/lib/slack/web/api/mixins/ids.id.rb +3 -2
- data/lib/slack/web/api/mixins/users.id.rb +3 -4
- data/lib/slack/web/api/mixins/users.search.rb +3 -1
- data/lib/slack/web/api/mixins.rb +2 -2
- data/lib/slack/web/api/patches/chat.attachments-blocks.patch +69 -0
- data/lib/slack/web/api/patches/{dialog.1.open-json-support.patch → dialog.encoded-json.patch} +4 -4
- data/lib/slack/web/api/patches/views.view-json.patch +55 -0
- data/lib/slack/web/api/templates/command.erb +1 -0
- data/lib/slack/web/api/templates/commands.erb +1 -0
- data/lib/slack/web/api/templates/endpoints.erb +2 -2
- data/lib/slack/web/api/templates/errors.erb +20 -0
- data/lib/slack/web/api/templates/method.erb +6 -2
- data/lib/slack/web/api/templates/method_spec.erb +2 -1
- data/lib/slack/web/client.rb +2 -1
- data/lib/slack/web/config.rb +5 -2
- data/lib/slack/web/faraday/connection.rb +24 -20
- data/lib/slack/web/faraday/request.rb +5 -1
- data/lib/slack/web/faraday/response/raise_error.rb +14 -7
- data/lib/slack/web/faraday/response/wrap_error.rb +24 -0
- data/lib/slack/web/pagination/cursor.rb +7 -7
- data/lib/slack-ruby-client.rb +12 -5
- data/lib/slack.rb +1 -0
- data/lib/slack_ruby_client.rb +1 -0
- data/lib/tasks/git.rake +1 -0
- data/lib/tasks/real_time.rake +51 -21
- data/lib/tasks/update.rake +1 -0
- data/lib/tasks/web.rake +48 -12
- data/screenshots/create-app.png +0 -0
- data/slack-ruby-client.gemspec +7 -12
- data/spec/fixtures/slack/web/429_error.yml +50 -54
- 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 +501 -69
- data/spec/fixtures/slack/web/rtm_connect.yml +347 -26
- 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 +115 -47
- data/spec/slack/config_spec.rb +2 -0
- data/spec/slack/events/config_spec.rb +35 -0
- data/spec/slack/events/request_spec.rb +188 -0
- data/spec/slack/messages/formatting_spec.rb +35 -13
- data/spec/slack/real_time/api/message_spec.rb +7 -2
- data/spec/slack/real_time/api/ping_spec.rb +3 -1
- data/spec/slack/real_time/api/typing_spec.rb +6 -2
- data/spec/slack/real_time/client_spec.rb +300 -142
- data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +2 -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 +20 -17
- data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +3 -2
- data/spec/slack/real_time/event_handlers/im_spec.rb +31 -27
- data/spec/slack/real_time/event_handlers/{group_spec.rb → private_channel_spec.rb} +36 -27
- data/spec/slack/real_time/event_handlers/{channel_spec.rb → public_channel_spec.rb} +31 -24
- data/spec/slack/real_time/event_handlers/team_spec.rb +8 -7
- data/spec/slack/real_time/event_handlers/user_spec.rb +7 -5
- data/spec/slack/real_time/rtm_connect_spec.rb +2 -1
- data/spec/slack/real_time/stores/store_spec.rb +50 -0
- data/spec/slack/slack_spec.rb +41 -6
- 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 +13 -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_audit_anomaly_allow_spec.rb +8 -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/admin_users_unsupportedVersions_spec.rb +8 -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/{apps_permissions_resources_spec.rb → auth_teams_spec.rb} +2 -1
- data/spec/slack/web/api/endpoints/bookmarks_spec.rb +40 -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/custom_specs/auth_spec.rb +9 -7
- data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +144 -40
- data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +18 -6
- data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +8 -3
- data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +112 -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 +18 -4
- data/spec/slack/web/api/endpoints/migration_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/oauth_spec.rb +1 -22
- 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/{apps_permissions_scopes_spec.rb → team_billing_spec.rb} +2 -1
- data/spec/slack/web/api/endpoints/team_preferences_spec.rb +8 -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/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 +1 -0
- data/spec/slack/web/api/endpoints/users_prefs_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/users_profile_spec.rb +1 -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 +26 -7
- data/spec/slack/web/api/mixins/conversations_list_spec.rb +21 -0
- data/spec/slack/web/api/mixins/conversations_spec.rb +45 -0
- data/spec/slack/web/api/mixins/users_spec.rb +19 -8
- data/spec/slack/web/api/pagination/cursor_spec.rb +47 -15
- data/spec/slack/web/client_spec.rb +199 -22
- data/spec/slack/web/faraday/request_spec.rb +80 -0
- data/spec/slack/web/faraday/response/raise_error_spec.rb +48 -12
- data/spec/spec_helper.rb +9 -2
- data/spec/support/queue_with_timeout.rb +5 -4
- data/spec/support/real_time/concurrency/mock.rb +1 -0
- data/spec/support/real_time/connected_client.rb +6 -6
- data/spec/support/real_time/event.rb +1 -0
- data/spec/support/real_time/loaded_client.rb +120 -0
- data/spec/support/token.rb +1 -0
- data/spec/support/vcr.rb +37 -1
- metadata +174 -262
- data/.travis.yml +0 -32
- data/bin/commands/apps_permissions.rb +0 -22
- data/bin/commands/apps_permissions_resources.rb +0 -14
- data/bin/commands/apps_permissions_scopes.rb +0 -12
- data/bin/commands/apps_permissions_users.rb +0 -25
- data/bin/commands/channels.rb +0 -175
- data/bin/commands/groups.rb +0 -174
- data/bin/commands/im.rb +0 -67
- data/bin/commands/mpim.rb +0 -65
- 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_celluloid/Procfile +0 -2
- data/examples/hi_real_time_async_celluloid/hi.rb +0 -35
- 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 -35
- data/lib/slack/real_time/concurrency/celluloid.rb +0 -118
- data/lib/slack/real_time/concurrency/eventmachine.rb +0 -66
- data/lib/slack/web/api/endpoints/apps_permissions.rb +0 -35
- data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +0 -30
- data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +0 -20
- data/lib/slack/web/api/endpoints/apps_permissions_users.rb +0 -49
- data/lib/slack/web/api/endpoints/channels.rb +0 -266
- data/lib/slack/web/api/endpoints/groups.rb +0 -265
- data/lib/slack/web/api/endpoints/im.rb +0 -113
- data/lib/slack/web/api/endpoints/mpim.rb +0 -108
- data/lib/slack/web/api/endpoints/presence.rb +0 -23
- data/lib/slack/web/api/mixins/channels.id.json +0 -20
- 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 -21
- data/lib/slack/web/api/patches/chat.4.postEphemeral-attachments-support.patch +0 -17
- data/lib/slack/web/api/patches/chat.5.postEphemeral-text-or-attachments.patch +0 -13
- data/screenshots/register-bot.png +0 -0
- data/spec/fixtures/slack/web/503_error.yml +0 -14
- data/spec/fixtures/slack/web/channels_info.yml +0 -46
- data/spec/fixtures/slack/web/groups_info.yml +0 -43
- data/spec/fixtures/slack/web/rtm_start.yml +0 -104
- data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -106
- data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -47
- data/spec/slack/real_time/rtm_start_spec.rb +0 -13
- data/spec/slack/real_time/store_spec.rb +0 -11
- data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +0 -15
- data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +0 -18
- data/spec/slack/web/api/endpoints/conversations_spec.rb +0 -100
- 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 -38
- data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -38
- data/spec/slack/web/api/errors/service_unavailable_spec.rb +0 -14
- data/spec/slack/web/api/mixins/channels_spec.rb +0 -33
- data/spec/slack/web/api/mixins/groups_spec.rb +0 -33
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
module Slack
|
|
@@ -5,6 +6,24 @@ module Slack
|
|
|
5
6
|
module Api
|
|
6
7
|
module Endpoints
|
|
7
8
|
module Files
|
|
9
|
+
#
|
|
10
|
+
# Finishes an upload started with files.getUploadURLExternal
|
|
11
|
+
#
|
|
12
|
+
# @option options [array] :files
|
|
13
|
+
# Array of file ids and their corresponding (optional) titles.
|
|
14
|
+
# @option options [Object] :channel_id
|
|
15
|
+
# Channel ID where the file will be shared. If not specified the file will be private.
|
|
16
|
+
# @option options [string] :initial_comment
|
|
17
|
+
# The message text introducing the file in specified channels.
|
|
18
|
+
# @option options [string] :thread_ts
|
|
19
|
+
# Provide another message's ts value to upload this file as a reply. Never use a reply's ts value; use its parent instead.
|
|
20
|
+
# @see https://api.slack.com/methods/files.completeUploadExternal
|
|
21
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.completeUploadExternal.json
|
|
22
|
+
def files_completeUploadExternal(options = {})
|
|
23
|
+
raise ArgumentError, 'Required arguments :files missing' if options[:files].nil?
|
|
24
|
+
post('files.completeUploadExternal', options)
|
|
25
|
+
end
|
|
26
|
+
|
|
8
27
|
#
|
|
9
28
|
# Deletes a file.
|
|
10
29
|
#
|
|
@@ -13,7 +32,7 @@ module Slack
|
|
|
13
32
|
# @see https://api.slack.com/methods/files.delete
|
|
14
33
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.delete.json
|
|
15
34
|
def files_delete(options = {})
|
|
16
|
-
|
|
35
|
+
raise ArgumentError, 'Required arguments :file missing' if options[:file].nil?
|
|
17
36
|
post('files.delete', options)
|
|
18
37
|
end
|
|
19
38
|
|
|
@@ -28,25 +47,44 @@ module Slack
|
|
|
28
47
|
# New filetype of the file. See https://api.slack.com/types/file#file_types for a list of all supported types.
|
|
29
48
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/undocumented/files/files.edit.json
|
|
30
49
|
def files_edit(options = {})
|
|
31
|
-
|
|
32
|
-
|
|
50
|
+
raise ArgumentError, 'Required arguments :file missing' if options[:file].nil?
|
|
51
|
+
raise ArgumentError, 'Required arguments :title missing' if options[:title].nil?
|
|
33
52
|
logger.warn('The files.edit method is undocumented.')
|
|
34
53
|
post('files.edit', options)
|
|
35
54
|
end
|
|
36
55
|
|
|
37
56
|
#
|
|
38
|
-
# Gets
|
|
57
|
+
# Gets a URL for an edge external file upload
|
|
58
|
+
#
|
|
59
|
+
# @option options [string] :filename
|
|
60
|
+
# Name of the file being uploaded.
|
|
61
|
+
# @option options [integer] :length
|
|
62
|
+
# Size in bytes of the file being uploaded.
|
|
63
|
+
# @option options [string] :alt_txt
|
|
64
|
+
# Description of image for screen-reader.
|
|
65
|
+
# @option options [string] :snippet_type
|
|
66
|
+
# Syntax type of the snippet being uploaded.
|
|
67
|
+
# @see https://api.slack.com/methods/files.getUploadURLExternal
|
|
68
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.getUploadURLExternal.json
|
|
69
|
+
def files_getUploadURLExternal(options = {})
|
|
70
|
+
raise ArgumentError, 'Required arguments :filename missing' if options[:filename].nil?
|
|
71
|
+
raise ArgumentError, 'Required arguments :length missing' if options[:length].nil?
|
|
72
|
+
post('files.getUploadURLExternal', options)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
#
|
|
76
|
+
# Gets information about a file.
|
|
39
77
|
#
|
|
40
78
|
# @option options [file] :file
|
|
41
79
|
# Specify a file by providing its ID.
|
|
42
|
-
# @option options [
|
|
80
|
+
# @option options [string] :cursor
|
|
43
81
|
# Parameter for pagination. File comments are paginated for a single file. Set cursor equal to the next_cursor attribute returned by the previous request's response_metadata. This parameter is optional, but pagination is mandatory: the default value simply fetches the first "page" of the collection of comments. See pagination for more details.
|
|
44
|
-
# @option options [
|
|
82
|
+
# @option options [integer] :limit
|
|
45
83
|
# The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the list hasn't been reached.
|
|
46
84
|
# @see https://api.slack.com/methods/files.info
|
|
47
85
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.info.json
|
|
48
86
|
def files_info(options = {})
|
|
49
|
-
|
|
87
|
+
raise ArgumentError, 'Required arguments :file missing' if options[:file].nil?
|
|
50
88
|
if block_given?
|
|
51
89
|
Pagination::Cursor.new(self, :files_info, options).each do |page|
|
|
52
90
|
yield page
|
|
@@ -57,34 +95,28 @@ module Slack
|
|
|
57
95
|
end
|
|
58
96
|
|
|
59
97
|
#
|
|
60
|
-
#
|
|
98
|
+
# List for a team, in a channel, or from a user with applied filters.
|
|
61
99
|
#
|
|
62
100
|
# @option options [channel] :channel
|
|
63
101
|
# Filter files appearing in a specific channel, indicated by its ID.
|
|
64
|
-
# @option options [
|
|
102
|
+
# @option options [string] :files
|
|
103
|
+
# .
|
|
104
|
+
# @option options [boolean] :show_files_hidden_by_limit
|
|
105
|
+
# Show truncated file info for files hidden due to being too old, and the team who owns the file being over the file limit.
|
|
106
|
+
# @option options [string] :team_id
|
|
107
|
+
# encoded team id to list files in, required if org token is used.
|
|
108
|
+
# @option options [string] :ts_from
|
|
65
109
|
# Filter files created after this timestamp (inclusive).
|
|
66
|
-
# @option options [
|
|
110
|
+
# @option options [string] :ts_to
|
|
67
111
|
# Filter files created before this timestamp (inclusive).
|
|
68
|
-
# @option options [
|
|
69
|
-
# Filter files by type
|
|
70
|
-
#
|
|
71
|
-
# all - All files
|
|
72
|
-
# spaces - Posts
|
|
73
|
-
# snippets - Snippets
|
|
74
|
-
# images - Image files
|
|
75
|
-
# gdocs - Google docs
|
|
76
|
-
# zips - Zip files
|
|
77
|
-
# pdfs - PDF files
|
|
78
|
-
#
|
|
79
|
-
#
|
|
80
|
-
# You can pass multiple values in the types argument, like types=spaces,snippets.The default value is all, which does not filter the list.
|
|
81
|
-
# .
|
|
112
|
+
# @option options [string] :types
|
|
113
|
+
# Filter files by type (see below). You can pass multiple values in the types argument, like types=spaces,snippets.The default value is all, which does not filter the list.
|
|
82
114
|
# @option options [user] :user
|
|
83
115
|
# Filter files created by a single user.
|
|
84
116
|
# @see https://api.slack.com/methods/files.list
|
|
85
117
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.list.json
|
|
86
118
|
def files_list(options = {})
|
|
87
|
-
options = options.merge(channel:
|
|
119
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
88
120
|
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
|
89
121
|
post('files.list', options)
|
|
90
122
|
end
|
|
@@ -97,7 +129,7 @@ module Slack
|
|
|
97
129
|
# @see https://api.slack.com/methods/files.revokePublicURL
|
|
98
130
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.revokePublicURL.json
|
|
99
131
|
def files_revokePublicURL(options = {})
|
|
100
|
-
|
|
132
|
+
raise ArgumentError, 'Required arguments :file missing' if options[:file].nil?
|
|
101
133
|
post('files.revokePublicURL', options)
|
|
102
134
|
end
|
|
103
135
|
|
|
@@ -110,9 +142,9 @@ module Slack
|
|
|
110
142
|
# Channel to share the file in. Works with both public (channel ID) and private channels (group ID).
|
|
111
143
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/undocumented/files/files.share.json
|
|
112
144
|
def files_share(options = {})
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
options = options.merge(channel:
|
|
145
|
+
raise ArgumentError, 'Required arguments :file missing' if options[:file].nil?
|
|
146
|
+
raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
|
|
147
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
116
148
|
logger.warn('The files.share method is undocumented.')
|
|
117
149
|
post('files.share', options)
|
|
118
150
|
end
|
|
@@ -125,28 +157,28 @@ module Slack
|
|
|
125
157
|
# @see https://api.slack.com/methods/files.sharedPublicURL
|
|
126
158
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.sharedPublicURL.json
|
|
127
159
|
def files_sharedPublicURL(options = {})
|
|
128
|
-
|
|
160
|
+
raise ArgumentError, 'Required arguments :file missing' if options[:file].nil?
|
|
129
161
|
post('files.sharedPublicURL', options)
|
|
130
162
|
end
|
|
131
163
|
|
|
132
164
|
#
|
|
133
165
|
# Uploads or creates a file.
|
|
134
166
|
#
|
|
135
|
-
# @option options [
|
|
167
|
+
# @option options [string] :channels
|
|
136
168
|
# Comma-separated list of channel names or IDs where the file will be shared.
|
|
137
|
-
# @option options [
|
|
169
|
+
# @option options [string] :content
|
|
138
170
|
# File contents via a POST variable. If omitting this parameter, you must provide a file.
|
|
139
171
|
# @option options [file] :file
|
|
140
172
|
# File contents via multipart/form-data. If omitting this parameter, you must submit content.
|
|
141
|
-
# @option options [
|
|
173
|
+
# @option options [string] :filename
|
|
142
174
|
# Filename of file.
|
|
143
|
-
# @option options [
|
|
175
|
+
# @option options [string] :filetype
|
|
144
176
|
# A file type identifier.
|
|
145
|
-
# @option options [
|
|
177
|
+
# @option options [string] :initial_comment
|
|
146
178
|
# The message text introducing the file in specified channels.
|
|
147
|
-
# @option options [
|
|
179
|
+
# @option options [string] :thread_ts
|
|
148
180
|
# Provide another message's ts value to upload this file as a reply. Never use a reply's ts value; use its parent instead.
|
|
149
|
-
# @option options [
|
|
181
|
+
# @option options [string] :title
|
|
150
182
|
# Title of file.
|
|
151
183
|
# @see https://api.slack.com/methods/files.upload
|
|
152
184
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.upload.json
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
module Slack
|
|
@@ -5,53 +6,20 @@ module Slack
|
|
|
5
6
|
module Api
|
|
6
7
|
module Endpoints
|
|
7
8
|
module FilesComments
|
|
8
|
-
#
|
|
9
|
-
# Add a comment to an existing file.
|
|
10
|
-
#
|
|
11
|
-
# @option options [Object] :comment
|
|
12
|
-
# Text of the comment to add.
|
|
13
|
-
# @option options [file] :file
|
|
14
|
-
# File to add a comment to.
|
|
15
|
-
# @see https://api.slack.com/methods/files.comments.add
|
|
16
|
-
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files.comments/files.comments.add.json
|
|
17
|
-
def files_comments_add(options = {})
|
|
18
|
-
throw ArgumentError.new('Required arguments :comment missing') if options[:comment].nil?
|
|
19
|
-
throw ArgumentError.new('Required arguments :file missing') if options[:file].nil?
|
|
20
|
-
post('files.comments.add', options)
|
|
21
|
-
end
|
|
22
|
-
|
|
23
9
|
#
|
|
24
10
|
# Deletes an existing comment on a file.
|
|
25
11
|
#
|
|
26
12
|
# @option options [file] :file
|
|
27
13
|
# File to delete a comment from.
|
|
28
|
-
# @option options [
|
|
14
|
+
# @option options [string] :id
|
|
29
15
|
# The comment to delete.
|
|
30
16
|
# @see https://api.slack.com/methods/files.comments.delete
|
|
31
17
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files.comments/files.comments.delete.json
|
|
32
18
|
def files_comments_delete(options = {})
|
|
33
|
-
|
|
34
|
-
|
|
19
|
+
raise ArgumentError, 'Required arguments :file missing' if options[:file].nil?
|
|
20
|
+
raise ArgumentError, 'Required arguments :id missing' if options[:id].nil?
|
|
35
21
|
post('files.comments.delete', options)
|
|
36
22
|
end
|
|
37
|
-
|
|
38
|
-
#
|
|
39
|
-
# Edit an existing file comment.
|
|
40
|
-
#
|
|
41
|
-
# @option options [Object] :comment
|
|
42
|
-
# Text of the comment to edit.
|
|
43
|
-
# @option options [file] :file
|
|
44
|
-
# File containing the comment to edit.
|
|
45
|
-
# @option options [Object] :id
|
|
46
|
-
# The comment to edit.
|
|
47
|
-
# @see https://api.slack.com/methods/files.comments.edit
|
|
48
|
-
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files.comments/files.comments.edit.json
|
|
49
|
-
def files_comments_edit(options = {})
|
|
50
|
-
throw ArgumentError.new('Required arguments :comment missing') if options[:comment].nil?
|
|
51
|
-
throw ArgumentError.new('Required arguments :file missing') if options[:file].nil?
|
|
52
|
-
throw ArgumentError.new('Required arguments :id missing') if options[:id].nil?
|
|
53
|
-
post('files.comments.edit', options)
|
|
54
|
-
end
|
|
55
23
|
end
|
|
56
24
|
end
|
|
57
25
|
end
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
|
3
|
+
|
|
4
|
+
module Slack
|
|
5
|
+
module Web
|
|
6
|
+
module Api
|
|
7
|
+
module Endpoints
|
|
8
|
+
module FilesRemote
|
|
9
|
+
#
|
|
10
|
+
# Adds a file from a remote service
|
|
11
|
+
#
|
|
12
|
+
# @option options [string] :external_id
|
|
13
|
+
# Creator defined GUID for the file.
|
|
14
|
+
# @option options [string] :external_url
|
|
15
|
+
# URL of the remote file.
|
|
16
|
+
# @option options [string] :title
|
|
17
|
+
# Title of the file being shared.
|
|
18
|
+
# @option options [string] :filetype
|
|
19
|
+
# type of file.
|
|
20
|
+
# @option options [Object] :indexable_file_contents
|
|
21
|
+
# A text file (txt, pdf, doc, etc.) containing textual search terms that are used to improve discovery of the remote file.
|
|
22
|
+
# @option options [Object] :preview_image
|
|
23
|
+
# Preview of the document via multipart/form-data.
|
|
24
|
+
# @see https://api.slack.com/methods/files.remote.add
|
|
25
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files.remote/files.remote.add.json
|
|
26
|
+
def files_remote_add(options = {})
|
|
27
|
+
raise ArgumentError, 'Required arguments :external_id missing' if options[:external_id].nil?
|
|
28
|
+
raise ArgumentError, 'Required arguments :external_url missing' if options[:external_url].nil?
|
|
29
|
+
raise ArgumentError, 'Required arguments :title missing' if options[:title].nil?
|
|
30
|
+
post('files.remote.add', options)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
#
|
|
34
|
+
# Retrieve information about a remote file added to Slack
|
|
35
|
+
#
|
|
36
|
+
# @option options [string] :external_id
|
|
37
|
+
# Creator defined GUID for the file.
|
|
38
|
+
# @option options [file] :file
|
|
39
|
+
# Specify a file by providing its ID.
|
|
40
|
+
# @see https://api.slack.com/methods/files.remote.info
|
|
41
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files.remote/files.remote.info.json
|
|
42
|
+
def files_remote_info(options = {})
|
|
43
|
+
post('files.remote.info', options)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
#
|
|
47
|
+
# Retrieve information about a remote file added to Slack
|
|
48
|
+
#
|
|
49
|
+
# @option options [channel] :channel
|
|
50
|
+
# Filter files appearing in a specific channel, indicated by its ID.
|
|
51
|
+
# @option options [string] :cursor
|
|
52
|
+
# Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first "page" of the collection. See pagination for more detail.
|
|
53
|
+
# @option options [integer] :limit
|
|
54
|
+
# The maximum number of items to return.
|
|
55
|
+
# @option options [string] :ts_from
|
|
56
|
+
# Filter files created after this timestamp (inclusive).
|
|
57
|
+
# @option options [string] :ts_to
|
|
58
|
+
# Filter files created before this timestamp (inclusive).
|
|
59
|
+
# @see https://api.slack.com/methods/files.remote.list
|
|
60
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files.remote/files.remote.list.json
|
|
61
|
+
def files_remote_list(options = {})
|
|
62
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
63
|
+
if block_given?
|
|
64
|
+
Pagination::Cursor.new(self, :files_remote_list, options).each do |page|
|
|
65
|
+
yield page
|
|
66
|
+
end
|
|
67
|
+
else
|
|
68
|
+
post('files.remote.list', options)
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
#
|
|
73
|
+
# Remove a remote file.
|
|
74
|
+
#
|
|
75
|
+
# @option options [string] :external_id
|
|
76
|
+
# Creator defined GUID for the file.
|
|
77
|
+
# @option options [file] :file
|
|
78
|
+
# Specify a file by providing its ID.
|
|
79
|
+
# @see https://api.slack.com/methods/files.remote.remove
|
|
80
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files.remote/files.remote.remove.json
|
|
81
|
+
def files_remote_remove(options = {})
|
|
82
|
+
post('files.remote.remove', options)
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
#
|
|
86
|
+
# Share a remote file into a channel.
|
|
87
|
+
#
|
|
88
|
+
# @option options [string] :channels
|
|
89
|
+
# Comma-separated list of channel IDs where the file will be shared.
|
|
90
|
+
# @option options [string] :external_id
|
|
91
|
+
# The globally unique identifier (GUID) for the file, as set by the app registering the file with Slack. Either this field or file or both are required.
|
|
92
|
+
# @option options [file] :file
|
|
93
|
+
# Specify a file registered with Slack by providing its ID. Either this field or external_id or both are required.
|
|
94
|
+
# @see https://api.slack.com/methods/files.remote.share
|
|
95
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files.remote/files.remote.share.json
|
|
96
|
+
def files_remote_share(options = {})
|
|
97
|
+
raise ArgumentError, 'Required arguments :channels missing' if options[:channels].nil?
|
|
98
|
+
post('files.remote.share', options)
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
#
|
|
102
|
+
# Updates an existing remote file.
|
|
103
|
+
#
|
|
104
|
+
# @option options [string] :external_id
|
|
105
|
+
# Creator defined GUID for the file.
|
|
106
|
+
# @option options [string] :external_url
|
|
107
|
+
# URL of the remote file.
|
|
108
|
+
# @option options [file] :file
|
|
109
|
+
# Specify a file by providing its ID.
|
|
110
|
+
# @option options [string] :filetype
|
|
111
|
+
# type of file.
|
|
112
|
+
# @option options [Object] :indexable_file_contents
|
|
113
|
+
# File containing contents that can be used to improve searchability for the remote file.
|
|
114
|
+
# @option options [Object] :preview_image
|
|
115
|
+
# Preview of the document via multipart/form-data.
|
|
116
|
+
# @option options [string] :title
|
|
117
|
+
# Title of the file being shared.
|
|
118
|
+
# @see https://api.slack.com/methods/files.remote.update
|
|
119
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files.remote/files.remote.update.json
|
|
120
|
+
def files_remote_update(options = {})
|
|
121
|
+
post('files.remote.update', options)
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
module Slack
|
|
@@ -8,14 +9,16 @@ module Slack
|
|
|
8
9
|
#
|
|
9
10
|
# For Enterprise Grid workspaces, map local user IDs to global user IDs
|
|
10
11
|
#
|
|
11
|
-
# @option options [
|
|
12
|
+
# @option options [array] :users
|
|
12
13
|
# A comma-separated list of user ids, up to 400 per request.
|
|
13
|
-
# @option options [
|
|
14
|
+
# @option options [string] :team_id
|
|
15
|
+
# Specify team_id starts with T in case of Org Token.
|
|
16
|
+
# @option options [boolean] :to_old
|
|
14
17
|
# Specify true to convert W global user IDs to workspace-specific U IDs. Defaults to false.
|
|
15
18
|
# @see https://api.slack.com/methods/migration.exchange
|
|
16
19
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/migration/migration.exchange.json
|
|
17
20
|
def migration_exchange(options = {})
|
|
18
|
-
|
|
21
|
+
raise ArgumentError, 'Required arguments :users missing' if options[:users].nil?
|
|
19
22
|
post('migration.exchange', options)
|
|
20
23
|
end
|
|
21
24
|
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
module Slack
|
|
@@ -8,46 +9,21 @@ module Slack
|
|
|
8
9
|
#
|
|
9
10
|
# Exchanges a temporary OAuth verifier code for an access token.
|
|
10
11
|
#
|
|
11
|
-
# @option options [
|
|
12
|
+
# @option options [string] :client_id
|
|
12
13
|
# Issued when you created your application.
|
|
13
|
-
# @option options [
|
|
14
|
+
# @option options [string] :client_secret
|
|
14
15
|
# Issued when you created your application.
|
|
15
|
-
# @option options [
|
|
16
|
+
# @option options [string] :code
|
|
16
17
|
# The code param returned via the OAuth callback.
|
|
17
|
-
# @option options [
|
|
18
|
+
# @option options [string] :redirect_uri
|
|
18
19
|
# This must match the originally submitted URI (if one was sent).
|
|
19
|
-
# @option options [
|
|
20
|
-
# Request the user to add your app only to a single channel.
|
|
20
|
+
# @option options [boolean] :single_channel
|
|
21
|
+
# Request the user to add your app only to a single channel. Only valid with a legacy workspace app.
|
|
21
22
|
# @see https://api.slack.com/methods/oauth.access
|
|
22
23
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/oauth/oauth.access.json
|
|
23
24
|
def oauth_access(options = {})
|
|
24
|
-
throw ArgumentError.new('Required arguments :client_id missing') if options[:client_id].nil?
|
|
25
|
-
throw ArgumentError.new('Required arguments :client_secret missing') if options[:client_secret].nil?
|
|
26
|
-
throw ArgumentError.new('Required arguments :code missing') if options[:code].nil?
|
|
27
25
|
post('oauth.access', options)
|
|
28
26
|
end
|
|
29
|
-
|
|
30
|
-
#
|
|
31
|
-
# Exchanges a temporary OAuth verifier code for a workspace token.
|
|
32
|
-
#
|
|
33
|
-
# @option options [Object] :client_id
|
|
34
|
-
# Issued when you created your application.
|
|
35
|
-
# @option options [Object] :client_secret
|
|
36
|
-
# Issued when you created your application.
|
|
37
|
-
# @option options [Object] :code
|
|
38
|
-
# The code param returned via the OAuth callback.
|
|
39
|
-
# @option options [Object] :redirect_uri
|
|
40
|
-
# This must match the originally submitted URI (if one was sent).
|
|
41
|
-
# @option options [Object] :single_channel
|
|
42
|
-
# Request the user to add your app only to a single channel.
|
|
43
|
-
# @see https://api.slack.com/methods/oauth.token
|
|
44
|
-
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/oauth/oauth.token.json
|
|
45
|
-
def oauth_token(options = {})
|
|
46
|
-
throw ArgumentError.new('Required arguments :client_id missing') if options[:client_id].nil?
|
|
47
|
-
throw ArgumentError.new('Required arguments :client_secret missing') if options[:client_secret].nil?
|
|
48
|
-
throw ArgumentError.new('Required arguments :code missing') if options[:code].nil?
|
|
49
|
-
post('oauth.token', options)
|
|
50
|
-
end
|
|
51
27
|
end
|
|
52
28
|
end
|
|
53
29
|
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
|
3
|
+
|
|
4
|
+
module Slack
|
|
5
|
+
module Web
|
|
6
|
+
module Api
|
|
7
|
+
module Endpoints
|
|
8
|
+
module OauthV2
|
|
9
|
+
#
|
|
10
|
+
# Exchanges a temporary OAuth verifier code for an access token.
|
|
11
|
+
#
|
|
12
|
+
# @option options [string] :client_id
|
|
13
|
+
# Issued when you created your application.
|
|
14
|
+
# @option options [string] :client_secret
|
|
15
|
+
# Issued when you created your application.
|
|
16
|
+
# @option options [string] :code
|
|
17
|
+
# The code param returned via the OAuth callback.
|
|
18
|
+
# @option options [string] :grant_type
|
|
19
|
+
# The grant_type param as described in the OAuth spec.
|
|
20
|
+
# @option options [string] :redirect_uri
|
|
21
|
+
# This must match the originally submitted URI (if one was sent).
|
|
22
|
+
# @option options [string] :refresh_token
|
|
23
|
+
# The refresh_token param as described in the OAuth spec.
|
|
24
|
+
# @see https://api.slack.com/methods/oauth.v2.access
|
|
25
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/oauth.v2/oauth.v2.access.json
|
|
26
|
+
def oauth_v2_access(options = {})
|
|
27
|
+
post('oauth.v2.access', options)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
#
|
|
31
|
+
# Exchanges a legacy access token for a new expiring access token and refresh token
|
|
32
|
+
#
|
|
33
|
+
# @option options [string] :client_id
|
|
34
|
+
# Issued when you created your application.
|
|
35
|
+
# @option options [string] :client_secret
|
|
36
|
+
# Issued when you created your application.
|
|
37
|
+
# @see https://api.slack.com/methods/oauth.v2.exchange
|
|
38
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/oauth.v2/oauth.v2.exchange.json
|
|
39
|
+
def oauth_v2_exchange(options = {})
|
|
40
|
+
raise ArgumentError, 'Required arguments :client_id missing' if options[:client_id].nil?
|
|
41
|
+
raise ArgumentError, 'Required arguments :client_secret missing' if options[:client_secret].nil?
|
|
42
|
+
post('oauth.v2.exchange', options)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
|
3
|
+
|
|
4
|
+
module Slack
|
|
5
|
+
module Web
|
|
6
|
+
module Api
|
|
7
|
+
module Endpoints
|
|
8
|
+
module OpenidConnect
|
|
9
|
+
#
|
|
10
|
+
# Exchanges a temporary OAuth verifier code for an access token for Sign in with Slack.
|
|
11
|
+
#
|
|
12
|
+
# @option options [string] :client_id
|
|
13
|
+
# Issued when you created your application.
|
|
14
|
+
# @option options [string] :client_secret
|
|
15
|
+
# Issued when you created your application.
|
|
16
|
+
# @option options [string] :code
|
|
17
|
+
# The code param returned via the OAuth callback.
|
|
18
|
+
# @option options [string] :grant_type
|
|
19
|
+
# The grant_type param as described in the OAuth spec.
|
|
20
|
+
# @option options [string] :redirect_uri
|
|
21
|
+
# This must match the originally submitted URI (if one was sent).
|
|
22
|
+
# @option options [string] :refresh_token
|
|
23
|
+
# The refresh_token param as described in the OAuth spec.
|
|
24
|
+
# @see https://api.slack.com/methods/openid.connect.token
|
|
25
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/openid.connect/openid.connect.token.json
|
|
26
|
+
def openid_connect_token(options = {})
|
|
27
|
+
post('openid.connect.token', options)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
#
|
|
31
|
+
# Get the identity of a user who has authorized Sign in with Slack.
|
|
32
|
+
#
|
|
33
|
+
# @see https://api.slack.com/methods/openid.connect.userInfo
|
|
34
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/openid.connect/openid.connect.userInfo.json
|
|
35
|
+
def openid_connect_userInfo(options = {})
|
|
36
|
+
post('openid.connect.userInfo', options)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
module Slack
|
|
@@ -9,18 +10,14 @@ module Slack
|
|
|
9
10
|
# Pins an item to a channel.
|
|
10
11
|
#
|
|
11
12
|
# @option options [channel] :channel
|
|
12
|
-
# Channel to pin the
|
|
13
|
-
# @option options [
|
|
14
|
-
#
|
|
15
|
-
# @option options [Object] :file_comment
|
|
16
|
-
# File comment to pin.
|
|
17
|
-
# @option options [Object] :timestamp
|
|
18
|
-
# Timestamp of the message to pin.
|
|
13
|
+
# Channel to pin the messsage to. You must also include a timestamp when pinning messages.
|
|
14
|
+
# @option options [string] :timestamp
|
|
15
|
+
# Timestamp of the message to pin. You must also include the channel.
|
|
19
16
|
# @see https://api.slack.com/methods/pins.add
|
|
20
17
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/pins/pins.add.json
|
|
21
18
|
def pins_add(options = {})
|
|
22
|
-
|
|
23
|
-
options = options.merge(channel:
|
|
19
|
+
raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
|
|
20
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
24
21
|
post('pins.add', options)
|
|
25
22
|
end
|
|
26
23
|
|
|
@@ -32,8 +29,8 @@ module Slack
|
|
|
32
29
|
# @see https://api.slack.com/methods/pins.list
|
|
33
30
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/pins/pins.list.json
|
|
34
31
|
def pins_list(options = {})
|
|
35
|
-
|
|
36
|
-
options = options.merge(channel:
|
|
32
|
+
raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
|
|
33
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
37
34
|
post('pins.list', options)
|
|
38
35
|
end
|
|
39
36
|
|
|
@@ -42,17 +39,13 @@ module Slack
|
|
|
42
39
|
#
|
|
43
40
|
# @option options [channel] :channel
|
|
44
41
|
# Channel where the item is pinned to.
|
|
45
|
-
# @option options [
|
|
46
|
-
# File to un-pin.
|
|
47
|
-
# @option options [Object] :file_comment
|
|
48
|
-
# File comment to un-pin.
|
|
49
|
-
# @option options [Object] :timestamp
|
|
42
|
+
# @option options [string] :timestamp
|
|
50
43
|
# Timestamp of the message to un-pin.
|
|
51
44
|
# @see https://api.slack.com/methods/pins.remove
|
|
52
45
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/pins/pins.remove.json
|
|
53
46
|
def pins_remove(options = {})
|
|
54
|
-
|
|
55
|
-
options = options.merge(channel:
|
|
47
|
+
raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
|
|
48
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
56
49
|
post('pins.remove', options)
|
|
57
50
|
end
|
|
58
51
|
end
|