slack-ruby-client 0.13.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/FUNDING.yml +1 -0
- data/.gitignore +1 -0
- data/.rubocop.yml +29 -5
- data/.rubocop_todo.yml +124 -44
- data/.travis.yml +5 -8
- data/CHANGELOG.md +92 -2
- data/CONTRIBUTING.md +19 -8
- data/Dangerfile +2 -0
- data/Gemfile +10 -5
- data/LICENSE.md +1 -1
- data/README.md +186 -49
- data/RELEASING.md +1 -1
- data/Rakefile +2 -1
- data/UPGRADING.md +72 -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 +17 -0
- data/bin/commands/admin_apps_restricted.rb +17 -0
- data/bin/commands/admin_auth_policy.rb +39 -0
- data/bin/commands/admin_barriers.rb +47 -0
- data/bin/commands/admin_conversations.rb +169 -0
- data/bin/commands/admin_conversations_ekm.rb +17 -0
- data/bin/commands/admin_conversations_restrictAccess.rb +37 -0
- data/bin/commands/admin_conversations_whitelist.rb +37 -0
- data/bin/commands/admin_emoji.rb +54 -0
- data/bin/commands/admin_inviteRequests.rb +36 -0
- data/bin/commands/admin_inviteRequests_approved.rb +16 -0
- data/bin/commands/admin_inviteRequests_denied.rb +16 -0
- data/bin/commands/admin_teams.rb +27 -0
- data/bin/commands/admin_teams_admins.rb +16 -0
- data/bin/commands/admin_teams_owners.rb +16 -0
- data/bin/commands/admin_teams_settings.rb +64 -0
- data/bin/commands/admin_usergroups.rb +48 -0
- data/bin/commands/admin_users.rb +98 -0
- data/bin/commands/admin_users_session.rb +78 -0
- data/bin/commands/api.rb +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 +51 -0
- data/bin/commands/apps_permissions.rb +1 -0
- data/bin/commands/apps_permissions_resources.rb +1 -0
- data/bin/commands/apps_permissions_scopes.rb +1 -0
- data/bin/commands/apps_permissions_users.rb +1 -0
- data/bin/commands/auth.rb +1 -0
- data/bin/commands/auth_teams.rb +16 -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/channels.rb +1 -153
- data/bin/commands/chat.rb +56 -12
- data/bin/commands/chat_scheduledMessages.rb +19 -0
- data/bin/commands/conversations.rb +75 -5
- 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 +10 -18
- data/bin/commands/files_comments.rb +1 -21
- data/bin/commands/files_remote.rb +78 -0
- data/bin/commands/groups.rb +1 -161
- data/bin/commands/im.rb +1 -62
- data/bin/commands/migration.rb +2 -0
- data/bin/commands/mpim.rb +1 -60
- 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 +3 -2
- data/bin/commands/search.rb +6 -1
- data/bin/commands/stars.rb +8 -6
- data/bin/commands/team.rb +5 -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 +48 -0
- data/bin/commands/workflows.rb +38 -0
- data/bin/commands.rb +38 -8
- data/bin/slack +2 -3
- 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 +3 -1
- data/lib/slack/real_time/api/message_id.rb +1 -0
- data/lib/slack/real_time/api/ping.rb +5 -2
- data/lib/slack/real_time/api/typing.rb +3 -1
- data/lib/slack/real_time/client.rb +101 -32
- 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 +6 -10
- 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 +1 -0
- data/lib/slack/real_time/models/group.rb +1 -0
- data/lib/slack/real_time/models/im.rb +1 -0
- data/lib/slack/real_time/models/team.rb +1 -0
- data/lib/slack/real_time/models/user.rb +1 -0
- data/lib/slack/real_time/models.rb +1 -0
- data/lib/slack/real_time/socket.rb +45 -17
- data/lib/slack/real_time/stores/base.rb +5 -7
- data/lib/slack/real_time/stores/starter.rb +17 -3
- data/lib/slack/real_time/stores/store.rb +33 -25
- data/lib/slack/real_time/stores.rb +1 -0
- data/lib/slack/version.rb +2 -1
- data/lib/slack/web/api/endpoints/admin_analytics.rb +28 -0
- data/lib/slack/web/api/endpoints/admin_apps.rb +78 -0
- data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_apps_requests.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_auth_policy.rb +72 -0
- data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
- data/lib/slack/web/api/endpoints/admin_conversations.rb +260 -0
- data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +64 -0
- data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
- data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
- data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
- data/lib/slack/web/api/endpoints/admin_users.rb +163 -0
- data/lib/slack/web/api/endpoints/admin_users_session.rb +122 -0
- data/lib/slack/web/api/endpoints/api.rb +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 +75 -0
- data/lib/slack/web/api/endpoints/apps_permissions.rb +1 -0
- data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +1 -0
- data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +1 -0
- data/lib/slack/web/api/endpoints/apps_permissions_users.rb +1 -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/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/channels.rb +2 -243
- data/lib/slack/web/api/endpoints/chat.rb +144 -47
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
- data/lib/slack/web/api/endpoints/conversations.rb +152 -41
- data/lib/slack/web/api/endpoints/dialog.rb +3 -2
- 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 +24 -29
- data/lib/slack/web/api/endpoints/files_comments.rb +2 -34
- data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
- data/lib/slack/web/api/endpoints/groups.rb +1 -253
- data/lib/slack/web/api/endpoints/im.rb +1 -101
- data/lib/slack/web/api/endpoints/migration.rb +5 -2
- data/lib/slack/web/api/endpoints/mpim.rb +1 -96
- 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 +8 -15
- data/lib/slack/web/api/endpoints/reactions.rb +20 -19
- data/lib/slack/web/api/endpoints/reminders.rb +18 -5
- data/lib/slack/web/api/endpoints/rtm.rb +11 -10
- data/lib/slack/web/api/endpoints/search.rb +28 -13
- data/lib/slack/web/api/endpoints/stars.rb +14 -11
- data/lib/slack/web/api/endpoints/team.rb +13 -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 +27 -16
- data/lib/slack/web/api/endpoints/usergroups_users.rb +10 -5
- data/lib/slack/web/api/endpoints/users.rb +21 -20
- data/lib/slack/web/api/endpoints/users_admin.rb +1 -0
- 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 +97 -0
- data/lib/slack/web/api/endpoints/workflows.rb +61 -0
- data/lib/slack/web/api/endpoints.rb +76 -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 +1040 -0
- data/lib/slack/web/api/mixins/{channels.id.rb → conversations.id.rb} +4 -5
- data/lib/slack/web/api/mixins/ids.id.rb +3 -2
- data/lib/slack/web/api/mixins/users.id.rb +2 -3
- data/lib/slack/web/api/mixins/users.search.rb +1 -0
- data/lib/slack/web/api/mixins.rb +2 -2
- data/lib/slack/web/api/patches/chat.1.patch +70 -0
- data/lib/slack/web/api/patches/views.1.view-json.patch +40 -0
- data/lib/slack/web/api/patches/views.1.views-published.patch +16 -0
- data/lib/slack/web/api/templates/command.erb +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 +5 -1
- 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 +3 -0
- data/lib/slack/web/faraday/connection.rb +24 -20
- data/lib/slack/web/faraday/request.rb +3 -1
- data/lib/slack/web/faraday/response/raise_error.rb +21 -6
- 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 +10 -4
- 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 +15 -5
- data/lib/tasks/update.rake +1 -0
- data/lib/tasks/web.rake +39 -10
- data/screenshots/create-app.png +0 -0
- data/slack-ruby-client.gemspec +9 -6
- 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 +267 -30
- data/spec/fixtures/slack/web/rtm_start.yml +771 -60
- data/spec/fixtures/slack/web/users_info.yml +153 -69
- data/spec/fixtures/slack/web/users_list.yml +102 -41
- data/spec/fixtures/slack/web/views_open_error.yml +83 -0
- data/spec/integration/integration_spec.rb +115 -47
- data/spec/slack/config_spec.rb +2 -0
- data/spec/slack/events/config_spec.rb +33 -0
- data/spec/slack/events/request_spec.rb +184 -0
- data/spec/slack/messages/formatting_spec.rb +25 -13
- data/spec/slack/real_time/api/message_spec.rb +6 -1
- data/spec/slack/real_time/api/ping_spec.rb +2 -0
- data/spec/slack/real_time/api/typing_spec.rb +5 -1
- data/spec/slack/real_time/client_spec.rb +244 -50
- 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 +3 -2
- data/spec/slack/real_time/event_handlers/channel_spec.rb +10 -7
- data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +2 -1
- data/spec/slack/real_time/event_handlers/group_spec.rb +5 -4
- data/spec/slack/real_time/event_handlers/im_spec.rb +9 -8
- data/spec/slack/real_time/event_handlers/team_spec.rb +3 -1
- data/spec/slack/real_time/event_handlers/user_spec.rb +3 -2
- data/spec/slack/real_time/rtm_connect_spec.rb +2 -1
- data/spec/slack/real_time/rtm_start_spec.rb +2 -1
- data/spec/slack/real_time/store_spec.rb +2 -1
- data/spec/slack/slack_spec.rb +40 -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 +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/admin_auth_policy_spec.rb +35 -0
- data/spec/slack/web/api/endpoints/admin_barriers_spec.rb +38 -0
- data/spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +32 -0
- data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +98 -0
- data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +37 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/admin_teams_admins_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_owners_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +53 -0
- data/spec/slack/web/api/endpoints/admin_teams_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +37 -0
- data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +41 -0
- data/spec/slack/web/api/endpoints/admin_users_spec.rb +67 -0
- data/spec/slack/web/api/endpoints/api_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/apps_connections_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/apps_manifest_spec.rb +36 -0
- data/spec/slack/web/api/endpoints/apps_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/{apps_permissions_scopes_spec.rb → auth_teams_spec.rb} +2 -1
- 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 +112 -36
- data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +12 -4
- data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +8 -3
- data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +95 -0
- data/spec/slack/web/api/endpoints/dnd_spec.rb +4 -3
- data/spec/slack/web/api/endpoints/emoji_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/files_comments_spec.rb +3 -21
- data/spec/slack/web/api/endpoints/files_remote_spec.rb +24 -0
- data/spec/slack/web/api/endpoints/files_spec.rb +5 -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_resources_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 +43 -0
- data/spec/slack/web/api/mixins/users_spec.rb +17 -8
- data/spec/slack/web/api/pagination/cursor_spec.rb +41 -13
- data/spec/slack/web/client_spec.rb +168 -19
- 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/token.rb +1 -0
- data/spec/support/vcr.rb +37 -1
- metadata +205 -147
- 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/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/slack/real_time/concurrency/celluloid_spec.rb +0 -106
- data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -47
- 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
|
+
throw ArgumentError.new('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
|
+
throw ArgumentError.new('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
|
#
|
|
@@ -14,7 +51,7 @@ module Slack
|
|
|
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
53
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
17
|
-
options = options.merge(channel:
|
|
54
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
18
55
|
post('conversations.archive', options)
|
|
19
56
|
end
|
|
20
57
|
|
|
@@ -27,19 +64,19 @@ module Slack
|
|
|
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
66
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
30
|
-
options = options.merge(channel:
|
|
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 = {})
|
|
@@ -47,18 +84,32 @@ module Slack
|
|
|
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
|
+
throw ArgumentError.new('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 [
|
|
108
|
+
# @option options [boolean] :inclusive
|
|
58
109
|
# Include messages with latest or oldest timestamp in results only when either timestamp is specified.
|
|
59
110
|
# @option options [timestamp] :latest
|
|
60
|
-
# End of time range of messages to include in results.
|
|
61
|
-
# @option options [
|
|
111
|
+
# End of time range of messages to include in results. Default is the current time.
|
|
112
|
+
# @option options [number] :limit
|
|
62
113
|
# 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
114
|
# @option options [timestamp] :oldest
|
|
64
115
|
# Start of time range of messages to include in results.
|
|
@@ -66,7 +117,7 @@ module Slack
|
|
|
66
117
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.history.json
|
|
67
118
|
def conversations_history(options = {})
|
|
68
119
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
69
|
-
options = options.merge(channel:
|
|
120
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
70
121
|
if block_given?
|
|
71
122
|
Pagination::Cursor.new(self, :conversations_history, options).each do |page|
|
|
72
123
|
yield page
|
|
@@ -81,13 +132,15 @@ module Slack
|
|
|
81
132
|
#
|
|
82
133
|
# @option options [channel] :channel
|
|
83
134
|
# Conversation ID to learn more about.
|
|
84
|
-
# @option options [
|
|
135
|
+
# @option options [boolean] :include_locale
|
|
85
136
|
# Set this to true to receive the locale for this conversation. Defaults to false.
|
|
137
|
+
# @option options [boolean] :include_num_members
|
|
138
|
+
# Set to true to include the member count for the specified conversation. Defaults to false.
|
|
86
139
|
# @see https://api.slack.com/methods/conversations.info
|
|
87
140
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.info.json
|
|
88
141
|
def conversations_info(options = {})
|
|
89
142
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
90
|
-
options = options.merge(channel:
|
|
143
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
91
144
|
post('conversations.info', options)
|
|
92
145
|
end
|
|
93
146
|
|
|
@@ -96,17 +149,36 @@ module Slack
|
|
|
96
149
|
#
|
|
97
150
|
# @option options [channel] :channel
|
|
98
151
|
# 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
|
|
152
|
+
# @option options [string] :users
|
|
153
|
+
# A comma separated list of user IDs. Up to 1000 users may be listed.
|
|
101
154
|
# @see https://api.slack.com/methods/conversations.invite
|
|
102
155
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.invite.json
|
|
103
156
|
def conversations_invite(options = {})
|
|
104
157
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
105
158
|
throw ArgumentError.new('Required arguments :users missing') if options[:users].nil?
|
|
106
|
-
options = options.merge(channel:
|
|
159
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
107
160
|
post('conversations.invite', options)
|
|
108
161
|
end
|
|
109
162
|
|
|
163
|
+
#
|
|
164
|
+
# Sends an invitation to a Slack Connect channel
|
|
165
|
+
#
|
|
166
|
+
# @option options [channel] :channel
|
|
167
|
+
# ID of the channel on your team that you'd like to share.
|
|
168
|
+
# @option options [array] :emails
|
|
169
|
+
# Optional email to receive this invite. Either emails or user_ids must be provided.
|
|
170
|
+
# @option options [boolean] :external_limited
|
|
171
|
+
# Optional boolean on whether invite is to a external limited member. Defaults to true.
|
|
172
|
+
# @option options [array] :user_ids
|
|
173
|
+
# Optional user_id to receive this invite. Either emails or user_ids must be provided.
|
|
174
|
+
# @see https://api.slack.com/methods/conversations.inviteShared
|
|
175
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.inviteShared.json
|
|
176
|
+
def conversations_inviteShared(options = {})
|
|
177
|
+
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
178
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
179
|
+
post('conversations.inviteShared', options)
|
|
180
|
+
end
|
|
181
|
+
|
|
110
182
|
#
|
|
111
183
|
# Joins an existing conversation.
|
|
112
184
|
#
|
|
@@ -116,7 +188,7 @@ module Slack
|
|
|
116
188
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.join.json
|
|
117
189
|
def conversations_join(options = {})
|
|
118
190
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
119
|
-
options = options.merge(channel:
|
|
191
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
120
192
|
post('conversations.join', options)
|
|
121
193
|
end
|
|
122
194
|
|
|
@@ -132,7 +204,7 @@ module Slack
|
|
|
132
204
|
def conversations_kick(options = {})
|
|
133
205
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
134
206
|
throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
|
|
135
|
-
options = options.merge(channel:
|
|
207
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
136
208
|
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
|
137
209
|
post('conversations.kick', options)
|
|
138
210
|
end
|
|
@@ -146,20 +218,22 @@ module Slack
|
|
|
146
218
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.leave.json
|
|
147
219
|
def conversations_leave(options = {})
|
|
148
220
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
149
|
-
options = options.merge(channel:
|
|
221
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
150
222
|
post('conversations.leave', options)
|
|
151
223
|
end
|
|
152
224
|
|
|
153
225
|
#
|
|
154
226
|
# Lists all channels in a Slack team.
|
|
155
227
|
#
|
|
156
|
-
# @option options [
|
|
228
|
+
# @option options [string] :cursor
|
|
157
229
|
# 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 [
|
|
230
|
+
# @option options [boolean] :exclude_archived
|
|
159
231
|
# Set to true to exclude archived channels from the list.
|
|
160
|
-
# @option options [
|
|
232
|
+
# @option options [number] :limit
|
|
161
233
|
# 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 [
|
|
234
|
+
# @option options [string] :team_id
|
|
235
|
+
# encoded team id to list channels in, required if token belongs to org-wide app.
|
|
236
|
+
# @option options [string] :types
|
|
163
237
|
# Mix and match channel types by providing a comma-separated list of any combination of public_channel, private_channel, mpim, im.
|
|
164
238
|
# @see https://api.slack.com/methods/conversations.list
|
|
165
239
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.list.json
|
|
@@ -173,20 +247,55 @@ module Slack
|
|
|
173
247
|
end
|
|
174
248
|
end
|
|
175
249
|
|
|
250
|
+
#
|
|
251
|
+
# Lists shared channel invites that have been generated or received but have not been approved by all parties
|
|
252
|
+
#
|
|
253
|
+
# @option options [string] :cursor
|
|
254
|
+
# Set to next_cursor returned by previous call to list items in subsequent page.
|
|
255
|
+
# @option options [string] :team_id
|
|
256
|
+
# Encoded team id for the workspace to retrieve invites for, required if org token is used.
|
|
257
|
+
# @see https://api.slack.com/methods/conversations.listConnectInvites
|
|
258
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.listConnectInvites.json
|
|
259
|
+
def conversations_listConnectInvites(options = {})
|
|
260
|
+
if block_given?
|
|
261
|
+
Pagination::Cursor.new(self, :conversations_listConnectInvites, options).each do |page|
|
|
262
|
+
yield page
|
|
263
|
+
end
|
|
264
|
+
else
|
|
265
|
+
post('conversations.listConnectInvites', options)
|
|
266
|
+
end
|
|
267
|
+
end
|
|
268
|
+
|
|
269
|
+
#
|
|
270
|
+
# Sets the read cursor in a channel.
|
|
271
|
+
#
|
|
272
|
+
# @option options [channel] :channel
|
|
273
|
+
# Channel or conversation to set the read cursor for.
|
|
274
|
+
# @option options [timestamp] :ts
|
|
275
|
+
# Unique identifier of message you want marked as most recently seen in this conversation.
|
|
276
|
+
# @see https://api.slack.com/methods/conversations.mark
|
|
277
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.mark.json
|
|
278
|
+
def conversations_mark(options = {})
|
|
279
|
+
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
280
|
+
throw ArgumentError.new('Required arguments :ts missing') if options[:ts].nil?
|
|
281
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
282
|
+
post('conversations.mark', options)
|
|
283
|
+
end
|
|
284
|
+
|
|
176
285
|
#
|
|
177
286
|
# Retrieve members of a conversation.
|
|
178
287
|
#
|
|
179
288
|
# @option options [channel] :channel
|
|
180
289
|
# ID of the conversation to retrieve members for.
|
|
181
|
-
# @option options [
|
|
290
|
+
# @option options [string] :cursor
|
|
182
291
|
# 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 [
|
|
292
|
+
# @option options [number] :limit
|
|
184
293
|
# 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
294
|
# @see https://api.slack.com/methods/conversations.members
|
|
186
295
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.members.json
|
|
187
296
|
def conversations_members(options = {})
|
|
188
297
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
189
|
-
options = options.merge(channel:
|
|
298
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
190
299
|
if block_given?
|
|
191
300
|
Pagination::Cursor.new(self, :conversations_members, options).each do |page|
|
|
192
301
|
yield page
|
|
@@ -201,14 +310,16 @@ module Slack
|
|
|
201
310
|
#
|
|
202
311
|
# @option options [channel] :channel
|
|
203
312
|
# Resume a conversation by supplying an im or mpim's ID. Or provide the users field instead.
|
|
204
|
-
# @option options [
|
|
313
|
+
# @option options [boolean] :prevent_creation
|
|
314
|
+
# Do not create a direct message or multi-person direct message. This is used to see if there is an existing dm or mpdm.
|
|
315
|
+
# @option options [boolean] :return_im
|
|
205
316
|
# Boolean, indicates you want the full IM channel definition in the response.
|
|
206
|
-
# @option options [
|
|
317
|
+
# @option options [string] :users
|
|
207
318
|
# 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
319
|
# @see https://api.slack.com/methods/conversations.open
|
|
209
320
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.open.json
|
|
210
321
|
def conversations_open(options = {})
|
|
211
|
-
options = options.merge(channel:
|
|
322
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
212
323
|
post('conversations.open', options)
|
|
213
324
|
end
|
|
214
325
|
|
|
@@ -217,14 +328,14 @@ module Slack
|
|
|
217
328
|
#
|
|
218
329
|
# @option options [channel] :channel
|
|
219
330
|
# ID of conversation to rename.
|
|
220
|
-
# @option options [
|
|
331
|
+
# @option options [string] :name
|
|
221
332
|
# New name for conversation.
|
|
222
333
|
# @see https://api.slack.com/methods/conversations.rename
|
|
223
334
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.rename.json
|
|
224
335
|
def conversations_rename(options = {})
|
|
225
336
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
226
337
|
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
|
227
|
-
options = options.merge(channel:
|
|
338
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
228
339
|
post('conversations.rename', options)
|
|
229
340
|
end
|
|
230
341
|
|
|
@@ -234,14 +345,14 @@ module Slack
|
|
|
234
345
|
# @option options [channel] :channel
|
|
235
346
|
# Conversation ID to fetch thread from.
|
|
236
347
|
# @option options [timestamp] :ts
|
|
237
|
-
# Unique identifier of a thread's parent message.
|
|
238
|
-
# @option options [
|
|
348
|
+
# 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.
|
|
349
|
+
# @option options [string] :cursor
|
|
239
350
|
# 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 [
|
|
351
|
+
# @option options [boolean] :inclusive
|
|
241
352
|
# Include messages with latest or oldest timestamp in results only when either timestamp is specified.
|
|
242
353
|
# @option options [timestamp] :latest
|
|
243
354
|
# End of time range of messages to include in results.
|
|
244
|
-
# @option options [
|
|
355
|
+
# @option options [number] :limit
|
|
245
356
|
# 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
357
|
# @option options [timestamp] :oldest
|
|
247
358
|
# Start of time range of messages to include in results.
|
|
@@ -250,7 +361,7 @@ module Slack
|
|
|
250
361
|
def conversations_replies(options = {})
|
|
251
362
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
252
363
|
throw ArgumentError.new('Required arguments :ts missing') if options[:ts].nil?
|
|
253
|
-
options = options.merge(channel:
|
|
364
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
254
365
|
if block_given?
|
|
255
366
|
Pagination::Cursor.new(self, :conversations_replies, options).each do |page|
|
|
256
367
|
yield page
|
|
@@ -265,14 +376,14 @@ module Slack
|
|
|
265
376
|
#
|
|
266
377
|
# @option options [channel] :channel
|
|
267
378
|
# Conversation to set the purpose of.
|
|
268
|
-
# @option options [
|
|
379
|
+
# @option options [string] :purpose
|
|
269
380
|
# A new, specialer purpose.
|
|
270
381
|
# @see https://api.slack.com/methods/conversations.setPurpose
|
|
271
382
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.setPurpose.json
|
|
272
383
|
def conversations_setPurpose(options = {})
|
|
273
384
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
274
385
|
throw ArgumentError.new('Required arguments :purpose missing') if options[:purpose].nil?
|
|
275
|
-
options = options.merge(channel:
|
|
386
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
276
387
|
post('conversations.setPurpose', options)
|
|
277
388
|
end
|
|
278
389
|
|
|
@@ -281,14 +392,14 @@ module Slack
|
|
|
281
392
|
#
|
|
282
393
|
# @option options [channel] :channel
|
|
283
394
|
# Conversation to set the topic of.
|
|
284
|
-
# @option options [
|
|
395
|
+
# @option options [string] :topic
|
|
285
396
|
# The new topic string. Does not support formatting or linkification.
|
|
286
397
|
# @see https://api.slack.com/methods/conversations.setTopic
|
|
287
398
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.setTopic.json
|
|
288
399
|
def conversations_setTopic(options = {})
|
|
289
400
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
290
401
|
throw ArgumentError.new('Required arguments :topic missing') if options[:topic].nil?
|
|
291
|
-
options = options.merge(channel:
|
|
402
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
292
403
|
post('conversations.setTopic', options)
|
|
293
404
|
end
|
|
294
405
|
|
|
@@ -301,7 +412,7 @@ module Slack
|
|
|
301
412
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/conversations/conversations.unarchive.json
|
|
302
413
|
def conversations_unarchive(options = {})
|
|
303
414
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
304
|
-
options = options.merge(channel:
|
|
415
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
305
416
|
post('conversations.unarchive', options)
|
|
306
417
|
end
|
|
307
418
|
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,9 +9,9 @@ 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
|
|
@@ -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
|
+
throw ArgumentError.new('Required arguments :users missing') if options[:users].nil?
|
|
58
63
|
post('dnd.teamInfo', options)
|
|
59
64
|
end
|
|
60
65
|
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
|
|
@@ -35,13 +36,13 @@ module Slack
|
|
|
35
36
|
end
|
|
36
37
|
|
|
37
38
|
#
|
|
38
|
-
# Gets information about a
|
|
39
|
+
# Gets information about a file.
|
|
39
40
|
#
|
|
40
41
|
# @option options [file] :file
|
|
41
42
|
# Specify a file by providing its ID.
|
|
42
|
-
# @option options [
|
|
43
|
+
# @option options [string] :cursor
|
|
43
44
|
# 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 [
|
|
45
|
+
# @option options [integer] :limit
|
|
45
46
|
# 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
47
|
# @see https://api.slack.com/methods/files.info
|
|
47
48
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.info.json
|
|
@@ -57,34 +58,28 @@ module Slack
|
|
|
57
58
|
end
|
|
58
59
|
|
|
59
60
|
#
|
|
60
|
-
#
|
|
61
|
+
# List for a team, in a channel, or from a user with applied filters.
|
|
61
62
|
#
|
|
62
63
|
# @option options [channel] :channel
|
|
63
64
|
# Filter files appearing in a specific channel, indicated by its ID.
|
|
64
|
-
# @option options [
|
|
65
|
+
# @option options [string] :files
|
|
66
|
+
# .
|
|
67
|
+
# @option options [boolean] :show_files_hidden_by_limit
|
|
68
|
+
# Show truncated file info for files hidden due to being too old, and the team who owns the file being over the file limit.
|
|
69
|
+
# @option options [string] :team_id
|
|
70
|
+
# encoded team id to list files in, required if org token is used.
|
|
71
|
+
# @option options [string] :ts_from
|
|
65
72
|
# Filter files created after this timestamp (inclusive).
|
|
66
|
-
# @option options [
|
|
73
|
+
# @option options [string] :ts_to
|
|
67
74
|
# 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
|
-
# .
|
|
75
|
+
# @option options [string] :types
|
|
76
|
+
# 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
77
|
# @option options [user] :user
|
|
83
78
|
# Filter files created by a single user.
|
|
84
79
|
# @see https://api.slack.com/methods/files.list
|
|
85
80
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.list.json
|
|
86
81
|
def files_list(options = {})
|
|
87
|
-
options = options.merge(channel:
|
|
82
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
88
83
|
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
|
89
84
|
post('files.list', options)
|
|
90
85
|
end
|
|
@@ -112,7 +107,7 @@ module Slack
|
|
|
112
107
|
def files_share(options = {})
|
|
113
108
|
throw ArgumentError.new('Required arguments :file missing') if options[:file].nil?
|
|
114
109
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
115
|
-
options = options.merge(channel:
|
|
110
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
116
111
|
logger.warn('The files.share method is undocumented.')
|
|
117
112
|
post('files.share', options)
|
|
118
113
|
end
|
|
@@ -132,21 +127,21 @@ module Slack
|
|
|
132
127
|
#
|
|
133
128
|
# Uploads or creates a file.
|
|
134
129
|
#
|
|
135
|
-
# @option options [
|
|
130
|
+
# @option options [string] :channels
|
|
136
131
|
# Comma-separated list of channel names or IDs where the file will be shared.
|
|
137
|
-
# @option options [
|
|
132
|
+
# @option options [string] :content
|
|
138
133
|
# File contents via a POST variable. If omitting this parameter, you must provide a file.
|
|
139
134
|
# @option options [file] :file
|
|
140
135
|
# File contents via multipart/form-data. If omitting this parameter, you must submit content.
|
|
141
|
-
# @option options [
|
|
136
|
+
# @option options [string] :filename
|
|
142
137
|
# Filename of file.
|
|
143
|
-
# @option options [
|
|
138
|
+
# @option options [string] :filetype
|
|
144
139
|
# A file type identifier.
|
|
145
|
-
# @option options [
|
|
140
|
+
# @option options [string] :initial_comment
|
|
146
141
|
# The message text introducing the file in specified channels.
|
|
147
|
-
# @option options [
|
|
142
|
+
# @option options [string] :thread_ts
|
|
148
143
|
# 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 [
|
|
144
|
+
# @option options [string] :title
|
|
150
145
|
# Title of file.
|
|
151
146
|
# @see https://api.slack.com/methods/files.upload
|
|
152
147
|
# @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,27 +6,12 @@ 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
|
|
@@ -34,24 +20,6 @@ module Slack
|
|
|
34
20
|
throw ArgumentError.new('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
|