slack-ruby-client 0.13.1 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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,42 @@ module Slack
|
|
5
6
|
module Api
|
6
7
|
module Endpoints
|
7
8
|
module Conversations
|
9
|
+
#
|
10
|
+
# Accepts an invitation to a Slack Connect channel.
|
11
|
+
#
|
12
|
+
# @option options [string] :channel_name
|
13
|
+
# Name of the channel. If the channel does not exist already in your workspace, this name is the one that the channel will take.
|
14
|
+
# @option options [Object] :channel_id
|
15
|
+
# ID of the channel that you'd like to accept. Must provide either invite_id or channel_id.
|
16
|
+
# @option options [boolean] :free_trial_accepted
|
17
|
+
# Whether you'd like to use your workspace's free trial to begin using Slack Connect.
|
18
|
+
# @option options [Object] :invite_id
|
19
|
+
# See the shared_channel_invite_received event payload for more details on how to retrieve the ID of the invitation.
|
20
|
+
# @option options [boolean] :is_private
|
21
|
+
# Whether the channel should be private.
|
22
|
+
# @option options [string] :team_id
|
23
|
+
# The ID of the workspace to accept the channel in. If an org-level token is used to call this method, the team_id argument is required.
|
24
|
+
# @see https://api.slack.com/methods/conversations.acceptSharedInvite
|
25
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.acceptSharedInvite.json
|
26
|
+
def conversations_acceptSharedInvite(options = {})
|
27
|
+
raise ArgumentError, 'Required arguments :channel_name missing' if options[:channel_name].nil?
|
28
|
+
post('conversations.acceptSharedInvite', options)
|
29
|
+
end
|
30
|
+
|
31
|
+
#
|
32
|
+
# Approves an invitation to a Slack Connect channel
|
33
|
+
#
|
34
|
+
# @option options [Object] :invite_id
|
35
|
+
# ID of the shared channel invite to approve.
|
36
|
+
# @option options [Object] :target_team
|
37
|
+
# The team or enterprise id of the other party involved in the invitation you are approving.
|
38
|
+
# @see https://api.slack.com/methods/conversations.approveSharedInvite
|
39
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.approveSharedInvite.json
|
40
|
+
def conversations_approveSharedInvite(options = {})
|
41
|
+
raise ArgumentError, 'Required arguments :invite_id missing' if options[:invite_id].nil?
|
42
|
+
post('conversations.approveSharedInvite', options)
|
43
|
+
end
|
44
|
+
|
8
45
|
#
|
9
46
|
# Archives a conversation.
|
10
47
|
#
|
@@ -13,8 +50,8 @@ module Slack
|
|
13
50
|
# @see https://api.slack.com/methods/conversations.archive
|
14
51
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.archive.json
|
15
52
|
def conversations_archive(options = {})
|
16
|
-
|
17
|
-
options = options.merge(channel:
|
53
|
+
raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
|
54
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
18
55
|
post('conversations.archive', options)
|
19
56
|
end
|
20
57
|
|
@@ -26,47 +63,63 @@ module Slack
|
|
26
63
|
# @see https://api.slack.com/methods/conversations.close
|
27
64
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.close.json
|
28
65
|
def conversations_close(options = {})
|
29
|
-
|
30
|
-
options = options.merge(channel:
|
66
|
+
raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
|
67
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
31
68
|
post('conversations.close', options)
|
32
69
|
end
|
33
70
|
|
34
71
|
#
|
35
72
|
# Initiates a public or private channel-based conversation
|
36
73
|
#
|
37
|
-
# @option options [
|
74
|
+
# @option options [string] :name
|
38
75
|
# Name of the public or private channel to create.
|
39
|
-
# @option options [
|
76
|
+
# @option options [boolean] :is_private
|
40
77
|
# Create a private channel instead of a public one.
|
41
|
-
# @option options [
|
42
|
-
#
|
78
|
+
# @option options [string] :team_id
|
79
|
+
# encoded team id to create the channel in, required if org token is used.
|
43
80
|
# @see https://api.slack.com/methods/conversations.create
|
44
81
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.create.json
|
45
82
|
def conversations_create(options = {})
|
46
|
-
|
83
|
+
raise ArgumentError, 'Required arguments :name missing' if options[:name].nil?
|
47
84
|
post('conversations.create', options)
|
48
85
|
end
|
49
86
|
|
87
|
+
#
|
88
|
+
# Declines a Slack Connect channel invite.
|
89
|
+
#
|
90
|
+
# @option options [Object] :invite_id
|
91
|
+
# ID of the Slack Connect invite to decline. Subscribe to the shared_channel_invite_accepted event to receive IDs of Slack Connect channel invites that have been accepted and are awaiting approval.
|
92
|
+
# @option options [Object] :target_team
|
93
|
+
# The team or enterprise id of the other party involved in the invitation you are declining.
|
94
|
+
# @see https://api.slack.com/methods/conversations.declineSharedInvite
|
95
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.declineSharedInvite.json
|
96
|
+
def conversations_declineSharedInvite(options = {})
|
97
|
+
raise ArgumentError, 'Required arguments :invite_id missing' if options[:invite_id].nil?
|
98
|
+
post('conversations.declineSharedInvite', options)
|
99
|
+
end
|
100
|
+
|
50
101
|
#
|
51
102
|
# Fetches a conversation's history of messages and events.
|
52
103
|
#
|
53
104
|
# @option options [channel] :channel
|
54
105
|
# Conversation ID to fetch history for.
|
55
|
-
# @option options [
|
106
|
+
# @option options [string] :cursor
|
56
107
|
# 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.
|
57
|
-
# @option options [
|
58
|
-
#
|
108
|
+
# @option options [boolean] :include_all_metadata
|
109
|
+
# Return all metadata associated with this message.
|
110
|
+
# @option options [boolean] :inclusive
|
111
|
+
# Include messages with oldest or latest timestamps in results. Ignored unless either timestamp is specified.
|
59
112
|
# @option options [timestamp] :latest
|
60
|
-
#
|
61
|
-
# @option options [
|
113
|
+
# Only messages before this Unix timestamp will be included in results. Default is the current time.
|
114
|
+
# @option options [number] :limit
|
62
115
|
# The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't been reached.
|
63
116
|
# @option options [timestamp] :oldest
|
64
|
-
#
|
117
|
+
# Only messages after this Unix timestamp will be included in results.
|
65
118
|
# @see https://api.slack.com/methods/conversations.history
|
66
119
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.history.json
|
67
120
|
def conversations_history(options = {})
|
68
|
-
|
69
|
-
options = options.merge(channel:
|
121
|
+
raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
|
122
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
70
123
|
if block_given?
|
71
124
|
Pagination::Cursor.new(self, :conversations_history, options).each do |page|
|
72
125
|
yield page
|
@@ -81,13 +134,15 @@ module Slack
|
|
81
134
|
#
|
82
135
|
# @option options [channel] :channel
|
83
136
|
# Conversation ID to learn more about.
|
84
|
-
# @option options [
|
137
|
+
# @option options [boolean] :include_locale
|
85
138
|
# Set this to true to receive the locale for this conversation. Defaults to false.
|
139
|
+
# @option options [boolean] :include_num_members
|
140
|
+
# Set to true to include the member count for the specified conversation. Defaults to false.
|
86
141
|
# @see https://api.slack.com/methods/conversations.info
|
87
142
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.info.json
|
88
143
|
def conversations_info(options = {})
|
89
|
-
|
90
|
-
options = options.merge(channel:
|
144
|
+
raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
|
145
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
91
146
|
post('conversations.info', options)
|
92
147
|
end
|
93
148
|
|
@@ -96,17 +151,36 @@ module Slack
|
|
96
151
|
#
|
97
152
|
# @option options [channel] :channel
|
98
153
|
# The ID of the public or private channel to invite user(s) to.
|
99
|
-
# @option options [
|
100
|
-
# A comma separated list of user IDs. Up to
|
154
|
+
# @option options [string] :users
|
155
|
+
# A comma separated list of user IDs. Up to 1000 users may be listed.
|
101
156
|
# @see https://api.slack.com/methods/conversations.invite
|
102
157
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.invite.json
|
103
158
|
def conversations_invite(options = {})
|
104
|
-
|
105
|
-
|
106
|
-
options = options.merge(channel:
|
159
|
+
raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
|
160
|
+
raise ArgumentError, 'Required arguments :users missing' if options[:users].nil?
|
161
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
107
162
|
post('conversations.invite', options)
|
108
163
|
end
|
109
164
|
|
165
|
+
#
|
166
|
+
# Sends an invitation to a Slack Connect channel
|
167
|
+
#
|
168
|
+
# @option options [channel] :channel
|
169
|
+
# ID of the channel on your team that you'd like to share.
|
170
|
+
# @option options [array] :emails
|
171
|
+
# Optional email to receive this invite. Either emails or user_ids must be provided.
|
172
|
+
# @option options [boolean] :external_limited
|
173
|
+
# Optional boolean on whether invite is to a external limited member. Defaults to true.
|
174
|
+
# @option options [array] :user_ids
|
175
|
+
# Optional user_id to receive this invite. Either emails or user_ids must be provided.
|
176
|
+
# @see https://api.slack.com/methods/conversations.inviteShared
|
177
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.inviteShared.json
|
178
|
+
def conversations_inviteShared(options = {})
|
179
|
+
raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
|
180
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
181
|
+
post('conversations.inviteShared', options)
|
182
|
+
end
|
183
|
+
|
110
184
|
#
|
111
185
|
# Joins an existing conversation.
|
112
186
|
#
|
@@ -115,8 +189,8 @@ module Slack
|
|
115
189
|
# @see https://api.slack.com/methods/conversations.join
|
116
190
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.join.json
|
117
191
|
def conversations_join(options = {})
|
118
|
-
|
119
|
-
options = options.merge(channel:
|
192
|
+
raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
|
193
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
120
194
|
post('conversations.join', options)
|
121
195
|
end
|
122
196
|
|
@@ -130,9 +204,9 @@ module Slack
|
|
130
204
|
# @see https://api.slack.com/methods/conversations.kick
|
131
205
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.kick.json
|
132
206
|
def conversations_kick(options = {})
|
133
|
-
|
134
|
-
|
135
|
-
options = options.merge(channel:
|
207
|
+
raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
|
208
|
+
raise ArgumentError, 'Required arguments :user missing' if options[:user].nil?
|
209
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
136
210
|
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
137
211
|
post('conversations.kick', options)
|
138
212
|
end
|
@@ -145,21 +219,23 @@ module Slack
|
|
145
219
|
# @see https://api.slack.com/methods/conversations.leave
|
146
220
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.leave.json
|
147
221
|
def conversations_leave(options = {})
|
148
|
-
|
149
|
-
options = options.merge(channel:
|
222
|
+
raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
|
223
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
150
224
|
post('conversations.leave', options)
|
151
225
|
end
|
152
226
|
|
153
227
|
#
|
154
228
|
# Lists all channels in a Slack team.
|
155
229
|
#
|
156
|
-
# @option options [
|
230
|
+
# @option options [string] :cursor
|
157
231
|
# 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.
|
158
|
-
# @option options [
|
232
|
+
# @option options [boolean] :exclude_archived
|
159
233
|
# Set to true to exclude archived channels from the list.
|
160
|
-
# @option options [
|
234
|
+
# @option options [number] :limit
|
161
235
|
# 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. Must be an integer no larger than 1000.
|
162
|
-
# @option options [
|
236
|
+
# @option options [string] :team_id
|
237
|
+
# encoded team id to list channels in, required if token belongs to org-wide app.
|
238
|
+
# @option options [string] :types
|
163
239
|
# Mix and match channel types by providing a comma-separated list of any combination of public_channel, private_channel, mpim, im.
|
164
240
|
# @see https://api.slack.com/methods/conversations.list
|
165
241
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.list.json
|
@@ -173,20 +249,55 @@ module Slack
|
|
173
249
|
end
|
174
250
|
end
|
175
251
|
|
252
|
+
#
|
253
|
+
# Lists shared channel invites that have been generated or received but have not been approved by all parties
|
254
|
+
#
|
255
|
+
# @option options [string] :cursor
|
256
|
+
# Set to next_cursor returned by previous call to list items in subsequent page.
|
257
|
+
# @option options [string] :team_id
|
258
|
+
# Encoded team id for the workspace to retrieve invites for, required if org token is used.
|
259
|
+
# @see https://api.slack.com/methods/conversations.listConnectInvites
|
260
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.listConnectInvites.json
|
261
|
+
def conversations_listConnectInvites(options = {})
|
262
|
+
if block_given?
|
263
|
+
Pagination::Cursor.new(self, :conversations_listConnectInvites, options).each do |page|
|
264
|
+
yield page
|
265
|
+
end
|
266
|
+
else
|
267
|
+
post('conversations.listConnectInvites', options)
|
268
|
+
end
|
269
|
+
end
|
270
|
+
|
271
|
+
#
|
272
|
+
# Sets the read cursor in a channel.
|
273
|
+
#
|
274
|
+
# @option options [channel] :channel
|
275
|
+
# Channel or conversation to set the read cursor for.
|
276
|
+
# @option options [timestamp] :ts
|
277
|
+
# Unique identifier of message you want marked as most recently seen in this conversation.
|
278
|
+
# @see https://api.slack.com/methods/conversations.mark
|
279
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.mark.json
|
280
|
+
def conversations_mark(options = {})
|
281
|
+
raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
|
282
|
+
raise ArgumentError, 'Required arguments :ts missing' if options[:ts].nil?
|
283
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
284
|
+
post('conversations.mark', options)
|
285
|
+
end
|
286
|
+
|
176
287
|
#
|
177
288
|
# Retrieve members of a conversation.
|
178
289
|
#
|
179
290
|
# @option options [channel] :channel
|
180
291
|
# ID of the conversation to retrieve members for.
|
181
|
-
# @option options [
|
292
|
+
# @option options [string] :cursor
|
182
293
|
# 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.
|
183
|
-
# @option options [
|
294
|
+
# @option options [number] :limit
|
184
295
|
# The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't been reached.
|
185
296
|
# @see https://api.slack.com/methods/conversations.members
|
186
297
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.members.json
|
187
298
|
def conversations_members(options = {})
|
188
|
-
|
189
|
-
options = options.merge(channel:
|
299
|
+
raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
|
300
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
190
301
|
if block_given?
|
191
302
|
Pagination::Cursor.new(self, :conversations_members, options).each do |page|
|
192
303
|
yield page
|
@@ -201,14 +312,16 @@ module Slack
|
|
201
312
|
#
|
202
313
|
# @option options [channel] :channel
|
203
314
|
# Resume a conversation by supplying an im or mpim's ID. Or provide the users field instead.
|
204
|
-
# @option options [
|
315
|
+
# @option options [boolean] :prevent_creation
|
316
|
+
# Do not create a direct message or multi-person direct message. This is used to see if there is an existing dm or mpdm.
|
317
|
+
# @option options [boolean] :return_im
|
205
318
|
# Boolean, indicates you want the full IM channel definition in the response.
|
206
|
-
# @option options [
|
319
|
+
# @option options [string] :users
|
207
320
|
# Comma separated lists of users. If only one user is included, this creates a 1:1 DM. The ordering of the users is preserved whenever a multi-person direct message is returned. Supply a channel when not supplying users.
|
208
321
|
# @see https://api.slack.com/methods/conversations.open
|
209
322
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.open.json
|
210
323
|
def conversations_open(options = {})
|
211
|
-
options = options.merge(channel:
|
324
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
212
325
|
post('conversations.open', options)
|
213
326
|
end
|
214
327
|
|
@@ -217,14 +330,14 @@ module Slack
|
|
217
330
|
#
|
218
331
|
# @option options [channel] :channel
|
219
332
|
# ID of conversation to rename.
|
220
|
-
# @option options [
|
333
|
+
# @option options [string] :name
|
221
334
|
# New name for conversation.
|
222
335
|
# @see https://api.slack.com/methods/conversations.rename
|
223
336
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.rename.json
|
224
337
|
def conversations_rename(options = {})
|
225
|
-
|
226
|
-
|
227
|
-
options = options.merge(channel:
|
338
|
+
raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
|
339
|
+
raise ArgumentError, 'Required arguments :name missing' if options[:name].nil?
|
340
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
228
341
|
post('conversations.rename', options)
|
229
342
|
end
|
230
343
|
|
@@ -234,23 +347,25 @@ module Slack
|
|
234
347
|
# @option options [channel] :channel
|
235
348
|
# Conversation ID to fetch thread from.
|
236
349
|
# @option options [timestamp] :ts
|
237
|
-
# Unique identifier of a thread's parent message.
|
238
|
-
# @option options [
|
350
|
+
# Unique identifier of either a thread's parent message or a message in the thread. ts must be the timestamp of an existing message with 0 or more replies. If there are no replies then just the single message referenced by ts will return - it is just an ordinary, unthreaded message.
|
351
|
+
# @option options [string] :cursor
|
239
352
|
# 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.
|
240
|
-
# @option options [
|
241
|
-
#
|
353
|
+
# @option options [boolean] :include_all_metadata
|
354
|
+
# Return all metadata associated with this message.
|
355
|
+
# @option options [boolean] :inclusive
|
356
|
+
# Include messages with oldest or latest timestamps in results. Ignored unless either timestamp is specified.
|
242
357
|
# @option options [timestamp] :latest
|
243
|
-
#
|
244
|
-
# @option options [
|
358
|
+
# Only messages before this Unix timestamp will be included in results.
|
359
|
+
# @option options [number] :limit
|
245
360
|
# The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't been reached.
|
246
361
|
# @option options [timestamp] :oldest
|
247
|
-
#
|
362
|
+
# Only messages after this Unix timestamp will be included in results.
|
248
363
|
# @see https://api.slack.com/methods/conversations.replies
|
249
364
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.replies.json
|
250
365
|
def conversations_replies(options = {})
|
251
|
-
|
252
|
-
|
253
|
-
options = options.merge(channel:
|
366
|
+
raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
|
367
|
+
raise ArgumentError, 'Required arguments :ts missing' if options[:ts].nil?
|
368
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
254
369
|
if block_given?
|
255
370
|
Pagination::Cursor.new(self, :conversations_replies, options).each do |page|
|
256
371
|
yield page
|
@@ -265,14 +380,14 @@ module Slack
|
|
265
380
|
#
|
266
381
|
# @option options [channel] :channel
|
267
382
|
# Conversation to set the purpose of.
|
268
|
-
# @option options [
|
383
|
+
# @option options [string] :purpose
|
269
384
|
# A new, specialer purpose.
|
270
385
|
# @see https://api.slack.com/methods/conversations.setPurpose
|
271
386
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.setPurpose.json
|
272
387
|
def conversations_setPurpose(options = {})
|
273
|
-
|
274
|
-
|
275
|
-
options = options.merge(channel:
|
388
|
+
raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
|
389
|
+
raise ArgumentError, 'Required arguments :purpose missing' if options[:purpose].nil?
|
390
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
276
391
|
post('conversations.setPurpose', options)
|
277
392
|
end
|
278
393
|
|
@@ -281,14 +396,14 @@ module Slack
|
|
281
396
|
#
|
282
397
|
# @option options [channel] :channel
|
283
398
|
# Conversation to set the topic of.
|
284
|
-
# @option options [
|
399
|
+
# @option options [string] :topic
|
285
400
|
# The new topic string. Does not support formatting or linkification.
|
286
401
|
# @see https://api.slack.com/methods/conversations.setTopic
|
287
402
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.setTopic.json
|
288
403
|
def conversations_setTopic(options = {})
|
289
|
-
|
290
|
-
|
291
|
-
options = options.merge(channel:
|
404
|
+
raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
|
405
|
+
raise ArgumentError, 'Required arguments :topic missing' if options[:topic].nil?
|
406
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
292
407
|
post('conversations.setTopic', options)
|
293
408
|
end
|
294
409
|
|
@@ -300,8 +415,8 @@ module Slack
|
|
300
415
|
# @see https://api.slack.com/methods/conversations.unarchive
|
301
416
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.unarchive.json
|
302
417
|
def conversations_unarchive(options = {})
|
303
|
-
|
304
|
-
options = options.merge(channel:
|
418
|
+
raise ArgumentError, 'Required arguments :channel missing' if options[:channel].nil?
|
419
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
305
420
|
post('conversations.unarchive', options)
|
306
421
|
end
|
307
422
|
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,15 +9,15 @@ module Slack
|
|
8
9
|
#
|
9
10
|
# Open a dialog with a user
|
10
11
|
#
|
11
|
-
# @option options [
|
12
|
+
# @option options [string] :dialog
|
12
13
|
# The dialog definition. This must be a JSON-encoded string.
|
13
|
-
# @option options [
|
14
|
+
# @option options [string] :trigger_id
|
14
15
|
# Exchange a trigger to post to the user.
|
15
16
|
# @see https://api.slack.com/methods/dialog.open
|
16
17
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/dialog/dialog.open.json
|
17
18
|
def dialog_open(options = {})
|
18
|
-
|
19
|
-
|
19
|
+
raise ArgumentError, 'Required arguments :dialog missing' if options[:dialog].nil?
|
20
|
+
raise ArgumentError, 'Required arguments :trigger_id missing' if options[:trigger_id].nil?
|
20
21
|
# dialog must be passed as an encoded JSON string
|
21
22
|
if options.key?(:dialog)
|
22
23
|
dialog = options[:dialog]
|
@@ -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
|
@@ -26,6 +27,8 @@ module Slack
|
|
26
27
|
#
|
27
28
|
# Retrieves a user's current Do Not Disturb status.
|
28
29
|
#
|
30
|
+
# @option options [string] :team_id
|
31
|
+
# Encoded team id where passed in user param belongs, required if org token is used. If no user param is passed, then a team which has access to the app should be passed.
|
29
32
|
# @option options [user] :user
|
30
33
|
# User to fetch status for (defaults to current user).
|
31
34
|
# @see https://api.slack.com/methods/dnd.info
|
@@ -38,23 +41,25 @@ module Slack
|
|
38
41
|
#
|
39
42
|
# Turns on Do Not Disturb mode for the current user, or changes its duration.
|
40
43
|
#
|
41
|
-
# @option options [
|
44
|
+
# @option options [string] :num_minutes
|
42
45
|
# Number of minutes, from now, to snooze until.
|
43
46
|
# @see https://api.slack.com/methods/dnd.setSnooze
|
44
47
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/dnd/dnd.setSnooze.json
|
45
48
|
def dnd_setSnooze(options = {})
|
46
|
-
throw ArgumentError.new('Required arguments :num_minutes missing') if options[:num_minutes].nil?
|
47
49
|
post('dnd.setSnooze', options)
|
48
50
|
end
|
49
51
|
|
50
52
|
#
|
51
|
-
# Retrieves the Do Not Disturb status for users on a team.
|
53
|
+
# Retrieves the Do Not Disturb status for up to 50 users on a team.
|
52
54
|
#
|
53
|
-
# @option options [
|
55
|
+
# @option options [string] :users
|
54
56
|
# Comma-separated list of users to fetch Do Not Disturb status for.
|
57
|
+
# @option options [string] :team_id
|
58
|
+
# Encoded team id where passed in users belong, required if org token is used.
|
55
59
|
# @see https://api.slack.com/methods/dnd.teamInfo
|
56
60
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/dnd/dnd.teamInfo.json
|
57
61
|
def dnd_teamInfo(options = {})
|
62
|
+
raise ArgumentError, 'Required arguments :users missing' if options[:users].nil?
|
58
63
|
post('dnd.teamInfo', options)
|
59
64
|
end
|
60
65
|
end
|