slack-ruby-client 0.11.1 → 1.1.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/danger.yml +19 -0
- data/.github/workflows/integtest.yml +25 -0
- data/.github/workflows/rubocop.yml +13 -0
- data/.github/workflows/test.yml +34 -0
- data/.gitignore +6 -3
- data/.rubocop.yml +36 -2
- data/.rubocop_todo.yml +186 -54
- data/CHANGELOG.md +156 -31
- data/CONTRIBUTING.md +20 -9
- data/Dangerfile +2 -0
- data/Gemfile +27 -6
- data/Gemfile.danger +6 -0
- data/LICENSE.md +1 -1
- data/README.md +199 -52
- data/RELEASING.md +2 -2
- data/Rakefile +2 -1
- data/UPGRADING.md +89 -3
- 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_auth_policy.rb +39 -0
- data/bin/commands/admin_barriers.rb +47 -0
- data/bin/commands/admin_conversations.rb +170 -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/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/apps_permissions.rb +1 -0
- data/bin/commands/apps_permissions_resources.rb +15 -0
- data/bin/commands/apps_permissions_scopes.rb +13 -0
- data/bin/commands/apps_permissions_users.rb +26 -0
- data/bin/commands/auth.rb +1 -0
- data/bin/commands/auth_teams.rb +16 -0
- data/bin/commands/bookmarks.rb +52 -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 +57 -12
- data/bin/commands/chat_scheduledMessages.rb +19 -0
- data/bin/commands/conversations.rb +75 -4
- 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 +14 -19
- data/bin/commands/files_comments.rb +1 -21
- data/bin/commands/files_remote.rb +78 -0
- data/bin/commands/groups.rb +1 -159
- data/bin/commands/im.rb +1 -62
- data/bin/commands/migration.rb +2 -0
- data/bin/commands/mpim.rb +1 -58
- data/bin/commands/oauth.rb +4 -15
- 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 +5 -3
- data/bin/commands/reminders.rb +7 -0
- data/bin/commands/rtm.rb +7 -4
- data/bin/commands/search.rb +8 -3
- data/bin/commands/stars.rb +10 -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 +21 -6
- data/bin/commands/users_admin.rb +1 -0
- data/bin/commands/users_prefs.rb +1 -0
- data/bin/commands/users_profile.rb +7 -6
- data/bin/commands/views.rb +48 -0
- data/bin/commands/workflows.rb +38 -0
- data/bin/commands.rb +40 -5
- 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_eventmachine → hi_real_time_async_async}/Gemfile +2 -1
- data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Procfile +0 -0
- data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/hi.rb +12 -7
- 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 -1
- 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 +103 -34
- data/lib/slack/real_time/concurrency/async.rb +138 -0
- data/lib/slack/real_time/concurrency.rb +2 -2
- data/lib/slack/real_time/config.rb +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 +27 -3
- data/lib/slack/real_time/stores/store.rb +43 -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 +51 -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 +262 -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/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/apps_permissions.rb +1 -0
- data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +31 -0
- data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +21 -0
- data/lib/slack/web/api/endpoints/apps_permissions_users.rb +50 -0
- data/lib/slack/web/api/endpoints/auth.rb +2 -1
- data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
- data/lib/slack/web/api/endpoints/bookmarks.rb +86 -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 +145 -46
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
- data/lib/slack/web/api/endpoints/conversations.rb +152 -39
- 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 +35 -28
- 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 -243
- 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 -86
- data/lib/slack/web/api/endpoints/oauth.rb +8 -30
- 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 +29 -18
- data/lib/slack/web/api/endpoints/reminders.rb +18 -5
- data/lib/slack/web/api/endpoints/rtm.rb +14 -9
- data/lib/slack/web/api/endpoints/search.rb +30 -15
- data/lib/slack/web/api/endpoints/stars.rb +23 -10
- 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 +27 -16
- data/lib/slack/web/api/endpoints/usergroups_users.rb +10 -5
- data/lib/slack/web/api/endpoints/users.rb +44 -17
- 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 +9 -8
- 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 +80 -12
- 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 +1066 -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 +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 +16 -8
- 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 +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 +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 +116 -48
- data/spec/slack/config_spec.rb +2 -0
- data/spec/slack/events/config_spec.rb +33 -0
- data/spec/slack/events/request_spec.rb +184 -0
- data/spec/slack/messages/formatting_spec.rb +25 -14
- data/spec/slack/real_time/api/message_spec.rb +6 -1
- data/spec/slack/real_time/api/ping_spec.rb +2 -0
- data/spec/slack/real_time/api/typing_spec.rb +5 -1
- data/spec/slack/real_time/client_spec.rb +258 -62
- 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 +14 -11
- data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +2 -1
- data/spec/slack/real_time/event_handlers/group_spec.rb +6 -5
- data/spec/slack/real_time/event_handlers/im_spec.rb +10 -9
- 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 +4 -3
- data/spec/slack/slack_spec.rb +42 -8
- data/spec/slack/version_spec.rb +2 -1
- data/spec/slack/web/api/endpoints/admin_analytics_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +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_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/auth_teams_spec.rb +8 -0
- 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 +131 -39
- data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +16 -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 +103 -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/team_billing_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/team_preferences_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/team_profile_spec.rb +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 +25 -14
- data/spec/slack/web/api/pagination/cursor_spec.rb +43 -15
- data/spec/slack/web/client_spec.rb +186 -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 +177 -231
- data/.travis.yml +0 -30
- data/examples/hi_real_time/Gemfile +0 -5
- data/examples/hi_real_time/hi.gif +0 -0
- data/examples/hi_real_time/hi.rb +0 -37
- data/examples/hi_real_time_async_celluloid/Gemfile +0 -6
- data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
- data/examples/hi_real_time_async_eventmachine/hi.rb +0 -36
- data/lib/slack/real_time/concurrency/celluloid.rb +0 -117
- data/lib/slack/real_time/concurrency/eventmachine.rb +0 -60
- data/lib/slack/web/api/mixins/channels.id.json +0 -20
- data/lib/slack/web/api/mixins/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/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 -62
- 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/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 -31
- data/spec/slack/web/api/mixins/groups_spec.rb +0 -31
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
module Slack
|
5
|
+
module Web
|
6
|
+
module Api
|
7
|
+
module Endpoints
|
8
|
+
module OauthV2
|
9
|
+
#
|
10
|
+
# Exchanges a temporary OAuth verifier code for an access token.
|
11
|
+
#
|
12
|
+
# @option options [string] :client_id
|
13
|
+
# Issued when you created your application.
|
14
|
+
# @option options [string] :client_secret
|
15
|
+
# Issued when you created your application.
|
16
|
+
# @option options [string] :code
|
17
|
+
# The code param returned via the OAuth callback.
|
18
|
+
# @option options [string] :grant_type
|
19
|
+
# The grant_type param as described in the OAuth spec.
|
20
|
+
# @option options [string] :redirect_uri
|
21
|
+
# This must match the originally submitted URI (if one was sent).
|
22
|
+
# @option options [string] :refresh_token
|
23
|
+
# The refresh_token param as described in the OAuth spec.
|
24
|
+
# @see https://api.slack.com/methods/oauth.v2.access
|
25
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/oauth.v2/oauth.v2.access.json
|
26
|
+
def oauth_v2_access(options = {})
|
27
|
+
post('oauth.v2.access', options)
|
28
|
+
end
|
29
|
+
|
30
|
+
#
|
31
|
+
# Exchanges a legacy access token for a new expiring access token and refresh token
|
32
|
+
#
|
33
|
+
# @option options [string] :client_id
|
34
|
+
# Issued when you created your application.
|
35
|
+
# @option options [string] :client_secret
|
36
|
+
# Issued when you created your application.
|
37
|
+
# @see https://api.slack.com/methods/oauth.v2.exchange
|
38
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/oauth.v2/oauth.v2.exchange.json
|
39
|
+
def oauth_v2_exchange(options = {})
|
40
|
+
throw ArgumentError.new('Required arguments :client_id missing') if options[:client_id].nil?
|
41
|
+
throw ArgumentError.new('Required arguments :client_secret missing') if options[:client_secret].nil?
|
42
|
+
post('oauth.v2.exchange', options)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
module Slack
|
5
|
+
module Web
|
6
|
+
module Api
|
7
|
+
module Endpoints
|
8
|
+
module OpenidConnect
|
9
|
+
#
|
10
|
+
# Exchanges a temporary OAuth verifier code for an access token for Sign in with Slack.
|
11
|
+
#
|
12
|
+
# @option options [string] :client_id
|
13
|
+
# Issued when you created your application.
|
14
|
+
# @option options [string] :client_secret
|
15
|
+
# Issued when you created your application.
|
16
|
+
# @option options [string] :code
|
17
|
+
# The code param returned via the OAuth callback.
|
18
|
+
# @option options [string] :grant_type
|
19
|
+
# The grant_type param as described in the OAuth spec.
|
20
|
+
# @option options [string] :redirect_uri
|
21
|
+
# This must match the originally submitted URI (if one was sent).
|
22
|
+
# @option options [string] :refresh_token
|
23
|
+
# The refresh_token param as described in the OAuth spec.
|
24
|
+
# @see https://api.slack.com/methods/openid.connect.token
|
25
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/openid.connect/openid.connect.token.json
|
26
|
+
def openid_connect_token(options = {})
|
27
|
+
post('openid.connect.token', options)
|
28
|
+
end
|
29
|
+
|
30
|
+
#
|
31
|
+
# Get the identity of a user who has authorized Sign in with Slack.
|
32
|
+
#
|
33
|
+
# @see https://api.slack.com/methods/openid.connect.userInfo
|
34
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/openid.connect/openid.connect.userInfo.json
|
35
|
+
def openid_connect_userInfo(options = {})
|
36
|
+
post('openid.connect.userInfo', options)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
2
3
|
|
3
4
|
module Slack
|
@@ -9,18 +10,14 @@ module Slack
|
|
9
10
|
# Pins an item to a channel.
|
10
11
|
#
|
11
12
|
# @option options [channel] :channel
|
12
|
-
# Channel to pin the
|
13
|
-
# @option options [
|
14
|
-
#
|
15
|
-
# @option options [Object] :file_comment
|
16
|
-
# File comment to pin.
|
17
|
-
# @option options [Object] :timestamp
|
18
|
-
# Timestamp of the message to pin.
|
13
|
+
# Channel to pin the messsage to. You must also include a timestamp when pinning messages.
|
14
|
+
# @option options [string] :timestamp
|
15
|
+
# Timestamp of the message to pin. You must also include the channel.
|
19
16
|
# @see https://api.slack.com/methods/pins.add
|
20
17
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/pins/pins.add.json
|
21
18
|
def pins_add(options = {})
|
22
19
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
23
|
-
options = options.merge(channel:
|
20
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
24
21
|
post('pins.add', options)
|
25
22
|
end
|
26
23
|
|
@@ -33,7 +30,7 @@ module Slack
|
|
33
30
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/pins/pins.list.json
|
34
31
|
def pins_list(options = {})
|
35
32
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
36
|
-
options = options.merge(channel:
|
33
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
37
34
|
post('pins.list', options)
|
38
35
|
end
|
39
36
|
|
@@ -42,17 +39,13 @@ module Slack
|
|
42
39
|
#
|
43
40
|
# @option options [channel] :channel
|
44
41
|
# Channel where the item is pinned to.
|
45
|
-
# @option options [
|
46
|
-
# File to un-pin.
|
47
|
-
# @option options [Object] :file_comment
|
48
|
-
# File comment to un-pin.
|
49
|
-
# @option options [Object] :timestamp
|
42
|
+
# @option options [string] :timestamp
|
50
43
|
# Timestamp of the message to un-pin.
|
51
44
|
# @see https://api.slack.com/methods/pins.remove
|
52
45
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/pins/pins.remove.json
|
53
46
|
def pins_remove(options = {})
|
54
47
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
55
|
-
options = options.merge(channel:
|
48
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
56
49
|
post('pins.remove', options)
|
57
50
|
end
|
58
51
|
end
|
@@ -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,21 +9,19 @@ module Slack
|
|
8
9
|
#
|
9
10
|
# Adds a reaction to an item.
|
10
11
|
#
|
11
|
-
# @option options [Object] :name
|
12
|
-
# Reaction (emoji) name.
|
13
12
|
# @option options [channel] :channel
|
14
13
|
# Channel where the message to add reaction to was posted.
|
15
|
-
# @option options [
|
16
|
-
#
|
17
|
-
# @option options [
|
18
|
-
# File comment to add reaction to.
|
19
|
-
# @option options [Object] :timestamp
|
14
|
+
# @option options [string] :name
|
15
|
+
# Reaction (emoji) name.
|
16
|
+
# @option options [string] :timestamp
|
20
17
|
# Timestamp of the message to add reaction to.
|
21
18
|
# @see https://api.slack.com/methods/reactions.add
|
22
19
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reactions/reactions.add.json
|
23
20
|
def reactions_add(options = {})
|
21
|
+
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
24
22
|
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
25
|
-
|
23
|
+
throw ArgumentError.new('Required arguments :timestamp missing') if options[:timestamp].nil?
|
24
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
26
25
|
post('reactions.add', options)
|
27
26
|
end
|
28
27
|
|
@@ -33,51 +32,63 @@ module Slack
|
|
33
32
|
# Channel where the message to get reactions for was posted.
|
34
33
|
# @option options [file] :file
|
35
34
|
# File to get reactions for.
|
36
|
-
# @option options [
|
35
|
+
# @option options [string] :file_comment
|
37
36
|
# File comment to get reactions for.
|
38
|
-
# @option options [
|
37
|
+
# @option options [boolean] :full
|
39
38
|
# If true always return the complete reaction list.
|
40
|
-
# @option options [
|
39
|
+
# @option options [string] :timestamp
|
41
40
|
# Timestamp of the message to get reactions for.
|
42
41
|
# @see https://api.slack.com/methods/reactions.get
|
43
42
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reactions/reactions.get.json
|
44
43
|
def reactions_get(options = {})
|
45
|
-
options = options.merge(channel:
|
44
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
46
45
|
post('reactions.get', options)
|
47
46
|
end
|
48
47
|
|
49
48
|
#
|
50
49
|
# Lists reactions made by a user.
|
51
50
|
#
|
52
|
-
# @option options [
|
51
|
+
# @option options [string] :cursor
|
52
|
+
# Parameter for pagination. 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. See pagination for more details.
|
53
|
+
# @option options [boolean] :full
|
53
54
|
# If true always return the complete reaction list.
|
55
|
+
# @option options [integer] :limit
|
56
|
+
# 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.
|
57
|
+
# @option options [string] :team_id
|
58
|
+
# encoded team id to list reactions in, required if org token is used.
|
54
59
|
# @option options [user] :user
|
55
60
|
# Show reactions made by this user. Defaults to the authed user.
|
56
61
|
# @see https://api.slack.com/methods/reactions.list
|
57
62
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reactions/reactions.list.json
|
58
63
|
def reactions_list(options = {})
|
59
64
|
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
60
|
-
|
65
|
+
if block_given?
|
66
|
+
Pagination::Cursor.new(self, :reactions_list, options).each do |page|
|
67
|
+
yield page
|
68
|
+
end
|
69
|
+
else
|
70
|
+
post('reactions.list', options)
|
71
|
+
end
|
61
72
|
end
|
62
73
|
|
63
74
|
#
|
64
75
|
# Removes a reaction from an item.
|
65
76
|
#
|
66
|
-
# @option options [
|
77
|
+
# @option options [string] :name
|
67
78
|
# Reaction (emoji) name.
|
68
79
|
# @option options [channel] :channel
|
69
80
|
# Channel where the message to remove reaction from was posted.
|
70
81
|
# @option options [file] :file
|
71
82
|
# File to remove reaction from.
|
72
|
-
# @option options [
|
83
|
+
# @option options [string] :file_comment
|
73
84
|
# File comment to remove reaction from.
|
74
|
-
# @option options [
|
85
|
+
# @option options [string] :timestamp
|
75
86
|
# Timestamp of the message to remove reaction from.
|
76
87
|
# @see https://api.slack.com/methods/reactions.remove
|
77
88
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reactions/reactions.remove.json
|
78
89
|
def reactions_remove(options = {})
|
79
90
|
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
80
|
-
options = options.merge(channel:
|
91
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
81
92
|
post('reactions.remove', options)
|
82
93
|
end
|
83
94
|
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,10 +9,14 @@ module Slack
|
|
8
9
|
#
|
9
10
|
# Creates a reminder.
|
10
11
|
#
|
11
|
-
# @option options [
|
12
|
+
# @option options [string] :text
|
12
13
|
# The content of the reminder.
|
13
|
-
# @option options [
|
14
|
+
# @option options [string] :time
|
14
15
|
# When this reminder should happen: the Unix timestamp (up to five years from now), the number of seconds until the reminder (if within 24 hours), or a natural language description (Ex. "in 15 minutes," or "every Thursday").
|
16
|
+
# @option options [object] :recurrence
|
17
|
+
# Specify the repeating behavior of a reminder. Available options: daily, weekly, monthly, or yearly. If weekly, may further specify the days of the week.
|
18
|
+
# @option options [string] :team_id
|
19
|
+
# Encoded team id, required if org token is used.
|
15
20
|
# @option options [user] :user
|
16
21
|
# The user who will receive the reminder. If no user is specified, the reminder will go to user who created it.
|
17
22
|
# @see https://api.slack.com/methods/reminders.add
|
@@ -26,8 +31,10 @@ module Slack
|
|
26
31
|
#
|
27
32
|
# Marks a reminder as complete.
|
28
33
|
#
|
29
|
-
# @option options [
|
34
|
+
# @option options [string] :reminder
|
30
35
|
# The ID of the reminder to be marked as complete.
|
36
|
+
# @option options [string] :team_id
|
37
|
+
# Encoded team id, required if org token is used.
|
31
38
|
# @see https://api.slack.com/methods/reminders.complete
|
32
39
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reminders/reminders.complete.json
|
33
40
|
def reminders_complete(options = {})
|
@@ -38,8 +45,10 @@ module Slack
|
|
38
45
|
#
|
39
46
|
# Deletes a reminder.
|
40
47
|
#
|
41
|
-
# @option options [
|
48
|
+
# @option options [string] :reminder
|
42
49
|
# The ID of the reminder.
|
50
|
+
# @option options [string] :team_id
|
51
|
+
# Encoded team id, required if org token is used.
|
43
52
|
# @see https://api.slack.com/methods/reminders.delete
|
44
53
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reminders/reminders.delete.json
|
45
54
|
def reminders_delete(options = {})
|
@@ -50,8 +59,10 @@ module Slack
|
|
50
59
|
#
|
51
60
|
# Gets information about a reminder.
|
52
61
|
#
|
53
|
-
# @option options [
|
62
|
+
# @option options [string] :reminder
|
54
63
|
# The ID of the reminder.
|
64
|
+
# @option options [string] :team_id
|
65
|
+
# Encoded team id, required if org token is passed.
|
55
66
|
# @see https://api.slack.com/methods/reminders.info
|
56
67
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reminders/reminders.info.json
|
57
68
|
def reminders_info(options = {})
|
@@ -62,6 +73,8 @@ module Slack
|
|
62
73
|
#
|
63
74
|
# Lists all reminders created by or for a given user.
|
64
75
|
#
|
76
|
+
# @option options [string] :team_id
|
77
|
+
# Encoded team id, required if org token is passed.
|
65
78
|
# @see https://api.slack.com/methods/reminders.list
|
66
79
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reminders/reminders.list.json
|
67
80
|
def reminders_list(options = {})
|
@@ -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,7 +9,9 @@ module Slack
|
|
8
9
|
#
|
9
10
|
# Starts a Real Time Messaging session.
|
10
11
|
#
|
11
|
-
# @option options [
|
12
|
+
# @option options [boolean] :batch_presence_aware
|
13
|
+
# Batch presence deliveries via subscription. Enabling changes the shape of presence_change events. See batch presence.
|
14
|
+
# @option options [boolean] :presence_sub
|
12
15
|
# Only deliver presence events when requested by subscription. See presence subscriptions.
|
13
16
|
# @see https://api.slack.com/methods/rtm.connect
|
14
17
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/rtm/rtm.connect.json
|
@@ -17,19 +20,21 @@ module Slack
|
|
17
20
|
end
|
18
21
|
|
19
22
|
#
|
20
|
-
# Starts a Real Time Messaging session.
|
23
|
+
# Deprecated: Starts a Real Time Messaging session. Use rtm.connect instead.
|
21
24
|
#
|
22
|
-
# @option options [
|
23
|
-
#
|
24
|
-
# @option options [
|
25
|
+
# @option options [boolean] :batch_presence_aware
|
26
|
+
# Batch presence deliveries via subscription. Enabling changes the shape of presence_change events. See batch presence.
|
27
|
+
# @option options [boolean] :include_locale
|
25
28
|
# Set this to true to receive the locale for users and channels. Defaults to false.
|
26
|
-
# @option options [
|
29
|
+
# @option options [boolean] :mpim_aware
|
27
30
|
# Returns MPIMs to the client in the API response.
|
28
|
-
# @option options [
|
31
|
+
# @option options [boolean] :no_latest
|
29
32
|
# Exclude latest timestamps for channels, groups, mpims, and ims. Automatically sets no_unreads to 1.
|
30
|
-
# @option options [
|
33
|
+
# @option options [boolean] :no_unreads
|
31
34
|
# Skip unread counts for each channel (improves performance).
|
32
|
-
# @option options [
|
35
|
+
# @option options [boolean] :presence_sub
|
36
|
+
# Only deliver presence events when requested by subscription. See presence subscriptions.
|
37
|
+
# @option options [boolean] :simple_latest
|
33
38
|
# Return timestamp only for latest message object of each channel (improves performance).
|
34
39
|
# @see https://api.slack.com/methods/rtm.start
|
35
40
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/rtm/rtm.start.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
|
@@ -8,14 +9,16 @@ module Slack
|
|
8
9
|
#
|
9
10
|
# Searches for messages and files matching a query.
|
10
11
|
#
|
11
|
-
# @option options [
|
12
|
+
# @option options [string] :query
|
12
13
|
# Search query. May contains booleans, etc.
|
13
|
-
# @option options [
|
14
|
+
# @option options [boolean] :highlight
|
14
15
|
# Pass a value of true to enable query highlight markers (see below).
|
15
|
-
# @option options [
|
16
|
+
# @option options [string] :sort
|
16
17
|
# Return matches sorted by either score or timestamp.
|
17
|
-
# @option options [
|
18
|
+
# @option options [string] :sort_dir
|
18
19
|
# Change sort direction to ascending (asc) or descending (desc).
|
20
|
+
# @option options [string] :team_id
|
21
|
+
# encoded team id to search in, required if org token is used.
|
19
22
|
# @see https://api.slack.com/methods/search.all
|
20
23
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/search/search.all.json
|
21
24
|
def search_all(options = {})
|
@@ -26,14 +29,16 @@ module Slack
|
|
26
29
|
#
|
27
30
|
# Searches for files matching a query.
|
28
31
|
#
|
29
|
-
# @option options [
|
30
|
-
# Search query.
|
31
|
-
# @option options [
|
32
|
+
# @option options [string] :query
|
33
|
+
# Search query.
|
34
|
+
# @option options [boolean] :highlight
|
32
35
|
# Pass a value of true to enable query highlight markers (see below).
|
33
|
-
# @option options [
|
36
|
+
# @option options [string] :sort
|
34
37
|
# Return matches sorted by either score or timestamp.
|
35
|
-
# @option options [
|
38
|
+
# @option options [string] :sort_dir
|
36
39
|
# Change sort direction to ascending (asc) or descending (desc).
|
40
|
+
# @option options [string] :team_id
|
41
|
+
# encoded team id to search in, required if org token is used.
|
37
42
|
# @see https://api.slack.com/methods/search.files
|
38
43
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/search/search.files.json
|
39
44
|
def search_files(options = {})
|
@@ -44,19 +49,29 @@ module Slack
|
|
44
49
|
#
|
45
50
|
# Searches for messages matching a query.
|
46
51
|
#
|
47
|
-
# @option options [
|
48
|
-
# Search query.
|
49
|
-
# @option options [
|
52
|
+
# @option options [string] :query
|
53
|
+
# Search query.
|
54
|
+
# @option options [string] :cursor
|
55
|
+
# Use this when getting results with cursormark pagination. For first call send * for subsequent calls, send the value of next_cursor returned in the previous call's results.
|
56
|
+
# @option options [boolean] :highlight
|
50
57
|
# Pass a value of true to enable query highlight markers (see below).
|
51
|
-
# @option options [
|
58
|
+
# @option options [string] :sort
|
52
59
|
# Return matches sorted by either score or timestamp.
|
53
|
-
# @option options [
|
60
|
+
# @option options [string] :sort_dir
|
54
61
|
# Change sort direction to ascending (asc) or descending (desc).
|
62
|
+
# @option options [string] :team_id
|
63
|
+
# encoded team id to search in, required if org token is used.
|
55
64
|
# @see https://api.slack.com/methods/search.messages
|
56
65
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/search/search.messages.json
|
57
66
|
def search_messages(options = {})
|
58
67
|
throw ArgumentError.new('Required arguments :query missing') if options[:query].nil?
|
59
|
-
|
68
|
+
if block_given?
|
69
|
+
Pagination::Cursor.new(self, :search_messages, options).each do |page|
|
70
|
+
yield page
|
71
|
+
end
|
72
|
+
else
|
73
|
+
post('search.messages', options)
|
74
|
+
end
|
60
75
|
end
|
61
76
|
end
|
62
77
|
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
|
@@ -6,47 +7,59 @@ module Slack
|
|
6
7
|
module Endpoints
|
7
8
|
module Stars
|
8
9
|
#
|
9
|
-
#
|
10
|
+
# Save an item for later. Formerly known as _adding a star_.
|
10
11
|
#
|
11
12
|
# @option options [channel] :channel
|
12
13
|
# Channel to add star to, or channel where the message to add star to was posted (used with timestamp).
|
13
14
|
# @option options [file] :file
|
14
15
|
# File to add star to.
|
15
|
-
# @option options [
|
16
|
+
# @option options [string] :file_comment
|
16
17
|
# File comment to add star to.
|
17
|
-
# @option options [
|
18
|
+
# @option options [string] :timestamp
|
18
19
|
# Timestamp of the message to add star to.
|
19
20
|
# @see https://api.slack.com/methods/stars.add
|
20
21
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/stars/stars.add.json
|
21
22
|
def stars_add(options = {})
|
22
|
-
options = options.merge(channel:
|
23
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
23
24
|
post('stars.add', options)
|
24
25
|
end
|
25
26
|
|
26
27
|
#
|
27
|
-
#
|
28
|
+
# List a user's saved items, formerly known as _stars_.
|
28
29
|
#
|
30
|
+
# @option options [string] :cursor
|
31
|
+
# Parameter for pagination. 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. See pagination for more details.
|
32
|
+
# @option options [integer] :limit
|
33
|
+
# 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.
|
34
|
+
# @option options [string] :team_id
|
35
|
+
# encoded team id to list stars in, required if org token is used.
|
29
36
|
# @see https://api.slack.com/methods/stars.list
|
30
37
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/stars/stars.list.json
|
31
38
|
def stars_list(options = {})
|
32
|
-
|
39
|
+
if block_given?
|
40
|
+
Pagination::Cursor.new(self, :stars_list, options).each do |page|
|
41
|
+
yield page
|
42
|
+
end
|
43
|
+
else
|
44
|
+
post('stars.list', options)
|
45
|
+
end
|
33
46
|
end
|
34
47
|
|
35
48
|
#
|
36
|
-
# Removes a star from an item.
|
49
|
+
# Removes a saved item (star) from an item.
|
37
50
|
#
|
38
51
|
# @option options [channel] :channel
|
39
52
|
# Channel to remove star from, or channel where the message to remove star from was posted (used with timestamp).
|
40
53
|
# @option options [file] :file
|
41
54
|
# File to remove star from.
|
42
|
-
# @option options [
|
55
|
+
# @option options [string] :file_comment
|
43
56
|
# File comment to remove star from.
|
44
|
-
# @option options [
|
57
|
+
# @option options [string] :timestamp
|
45
58
|
# Timestamp of the message to remove star from.
|
46
59
|
# @see https://api.slack.com/methods/stars.remove
|
47
60
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/stars/stars.remove.json
|
48
61
|
def stars_remove(options = {})
|
49
|
-
options = options.merge(channel:
|
62
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
50
63
|
post('stars.remove', options)
|
51
64
|
end
|
52
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
|
@@ -8,8 +9,10 @@ module Slack
|
|
8
9
|
#
|
9
10
|
# Gets the access logs for the current team.
|
10
11
|
#
|
11
|
-
# @option options [
|
12
|
+
# @option options [string] :before
|
12
13
|
# End of time range of logs to include in results (inclusive).
|
14
|
+
# @option options [string] :team_id
|
15
|
+
# encoded team id to get logs from, required if org token is used.
|
13
16
|
# @see https://api.slack.com/methods/team.accessLogs
|
14
17
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/team/team.accessLogs.json
|
15
18
|
def team_accessLogs(options = {})
|
@@ -19,6 +22,8 @@ module Slack
|
|
19
22
|
#
|
20
23
|
# Gets billable users information for the current team.
|
21
24
|
#
|
25
|
+
# @option options [string] :team_id
|
26
|
+
# encoded team id to get the billable information from, required if org token is used.
|
22
27
|
# @option options [user] :user
|
23
28
|
# A user to retrieve the billable information for. Defaults to all users.
|
24
29
|
# @see https://api.slack.com/methods/team.billableInfo
|
@@ -31,6 +36,10 @@ module Slack
|
|
31
36
|
#
|
32
37
|
# Gets information about the current team.
|
33
38
|
#
|
39
|
+
# @option options [string] :domain
|
40
|
+
# Query by domain instead of team (only when team is null). This only works for domains in the same enterprise as the querying team token. This also expects the domain to belong to a team and not the enterprise itself.
|
41
|
+
# @option options [string] :team
|
42
|
+
# Team to get info on, if omitted, will return information about the current team. Will only return team that the authenticated token is allowed to see through external shared channels.
|
34
43
|
# @see https://api.slack.com/methods/team.info
|
35
44
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/team/team.info.json
|
36
45
|
def team_info(options = {})
|
@@ -40,12 +49,14 @@ module Slack
|
|
40
49
|
#
|
41
50
|
# Gets the integration logs for the current team.
|
42
51
|
#
|
43
|
-
# @option options [
|
52
|
+
# @option options [string] :app_id
|
44
53
|
# Filter logs to this Slack app. Defaults to all logs.
|
45
|
-
# @option options [
|
54
|
+
# @option options [string] :change_type
|
46
55
|
# Filter logs with this change type. Defaults to all logs.
|
47
|
-
# @option options [
|
56
|
+
# @option options [string] :service_id
|
48
57
|
# Filter logs to this service. Defaults to all logs.
|
58
|
+
# @option options [string] :team_id
|
59
|
+
# encoded team id to get logs from, required if org token is used.
|
49
60
|
# @option options [user] :user
|
50
61
|
# Filter logs generated by this user's actions. Defaults to all logs.
|
51
62
|
# @see https://api.slack.com/methods/team.integrationLogs
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
module Slack
|
5
|
+
module Web
|
6
|
+
module Api
|
7
|
+
module Endpoints
|
8
|
+
module TeamBilling
|
9
|
+
#
|
10
|
+
# Reads a workspace's billing plan information.
|
11
|
+
#
|
12
|
+
# @see https://api.slack.com/methods/team.billing.info
|
13
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/team.billing/team.billing.info.json
|
14
|
+
def team_billing_info(options = {})
|
15
|
+
post('team.billing.info', options)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
module Slack
|
5
|
+
module Web
|
6
|
+
module Api
|
7
|
+
module Endpoints
|
8
|
+
module TeamPreferences
|
9
|
+
#
|
10
|
+
# Retrieve a list of a workspace's team preferences.
|
11
|
+
#
|
12
|
+
# @see https://api.slack.com/methods/team.preferences.list
|
13
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/team.preferences/team.preferences.list.json
|
14
|
+
def team_preferences_list(options = {})
|
15
|
+
post('team.preferences.list', options)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
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,7 +9,7 @@ module Slack
|
|
8
9
|
#
|
9
10
|
# Retrieve a team's profile.
|
10
11
|
#
|
11
|
-
# @option options [
|
12
|
+
# @option options [string] :visibility
|
12
13
|
# Filter by visibility.
|
13
14
|
# @see https://api.slack.com/methods/team.profile.get
|
14
15
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/team.profile/team.profile.get.json
|