slack-ruby-client 0.7.2 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.github/FUNDING.yml +1 -0
- data/.gitignore +2 -0
- data/.gitmodules +1 -1
- data/.rubocop.yml +37 -1
- data/.rubocop_todo.yml +130 -47
- data/.travis.yml +17 -13
- data/CHANGELOG.md +254 -43
- data/CONTRIBUTING.md +26 -15
- data/Dangerfile +3 -0
- data/Gemfile +13 -2
- data/LICENSE.md +1 -1
- data/README.md +287 -63
- data/RELEASING.md +22 -14
- data/Rakefile +2 -1
- data/UPGRADING.md +129 -5
- data/bin/commands/admin_analytics.rb +16 -0
- data/bin/commands/admin_apps.rb +51 -0
- data/bin/commands/admin_apps_approved.rb +17 -0
- data/bin/commands/admin_apps_requests.rb +17 -0
- data/bin/commands/admin_apps_restricted.rb +17 -0
- data/bin/commands/admin_auth_policy.rb +39 -0
- data/bin/commands/admin_barriers.rb +47 -0
- data/bin/commands/admin_conversations.rb +169 -0
- data/bin/commands/admin_conversations_ekm.rb +17 -0
- data/bin/commands/admin_conversations_restrictAccess.rb +37 -0
- data/bin/commands/admin_conversations_whitelist.rb +37 -0
- data/bin/commands/admin_emoji.rb +54 -0
- data/bin/commands/admin_inviteRequests.rb +36 -0
- data/bin/commands/admin_inviteRequests_approved.rb +16 -0
- data/bin/commands/admin_inviteRequests_denied.rb +16 -0
- data/bin/commands/admin_teams.rb +27 -0
- data/bin/commands/admin_teams_admins.rb +16 -0
- data/bin/commands/admin_teams_owners.rb +16 -0
- data/bin/commands/admin_teams_settings.rb +64 -0
- data/bin/commands/admin_usergroups.rb +48 -0
- data/bin/commands/admin_users.rb +98 -0
- data/bin/commands/admin_users_session.rb +78 -0
- data/bin/commands/api.rb +3 -3
- data/bin/commands/apps.rb +15 -0
- data/bin/commands/apps_connections.rb +13 -0
- data/bin/commands/apps_event_authorizations.rb +16 -0
- data/bin/commands/apps_manifest.rb +51 -0
- data/bin/commands/apps_permissions.rb +23 -0
- data/bin/commands/apps_permissions_resources.rb +15 -0
- data/bin/commands/apps_permissions_scopes.rb +13 -0
- data/bin/commands/apps_permissions_users.rb +26 -0
- data/bin/commands/auth.rb +12 -2
- data/bin/commands/auth_teams.rb +16 -0
- data/bin/commands/bots.rb +15 -0
- data/bin/commands/calls.rb +52 -0
- data/bin/commands/calls_participants.rb +25 -0
- data/bin/commands/channels.rb +6 -132
- data/bin/commands/chat.rb +127 -20
- data/bin/commands/chat_scheduledMessages.rb +19 -0
- data/bin/commands/conversations.rb +253 -0
- data/bin/commands/dialog.rb +15 -0
- data/bin/commands/dnd.rb +12 -9
- data/bin/commands/emoji.rb +3 -2
- data/bin/commands/files.rb +47 -31
- data/bin/commands/files_comments.rb +3 -23
- data/bin/commands/files_remote.rb +78 -0
- data/bin/commands/groups.rb +1 -154
- data/bin/commands/im.rb +1 -48
- data/bin/commands/migration.rb +16 -0
- data/bin/commands/mpim.rb +1 -48
- data/bin/commands/oauth.rb +4 -2
- data/bin/commands/oauth_v2.rb +29 -0
- data/bin/commands/openid_connect.rb +27 -0
- data/bin/commands/pins.rb +9 -12
- data/bin/commands/reactions.rb +17 -15
- data/bin/commands/reminders.rb +17 -10
- data/bin/commands/rtm.rb +19 -4
- data/bin/commands/search.rb +17 -12
- data/bin/commands/stars.rb +12 -9
- data/bin/commands/team.rb +23 -8
- data/bin/commands/team_billing.rb +13 -0
- data/bin/commands/team_preferences.rb +13 -0
- data/bin/commands/team_profile.rb +14 -0
- data/bin/commands/tooling_tokens.rb +14 -0
- data/bin/commands/usergroups.rb +23 -17
- data/bin/commands/usergroups_users.rb +7 -4
- data/bin/commands/users.rb +83 -27
- data/bin/commands/users_admin.rb +29 -0
- data/bin/commands/users_prefs.rb +13 -0
- data/bin/commands/users_profile.rb +27 -0
- data/bin/commands/views.rb +48 -0
- data/bin/commands/workflows.rb +38 -0
- data/bin/commands.rb +47 -5
- data/bin/slack +3 -4
- data/examples/hi_real_time_and_web/Gemfile +1 -0
- data/examples/hi_real_time_and_web/hi.rb +8 -4
- data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Gemfile +2 -1
- data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Procfile +0 -0
- data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/hi.rb +13 -8
- data/examples/hi_web/Gemfile +1 -0
- data/examples/hi_web/hi.rb +2 -1
- data/examples/new_ticket/Gemfile +1 -0
- data/examples/new_ticket/new_ticket.rb +3 -2
- data/lib/slack/config.rb +2 -2
- data/lib/slack/events/config.rb +32 -0
- data/lib/slack/events/request.rb +72 -0
- data/lib/slack/logger.rb +6 -5
- data/lib/slack/messages/formatting.rb +4 -4
- data/lib/slack/messages/message.rb +6 -4
- data/lib/slack/real_time/api/message.rb +3 -1
- data/lib/slack/real_time/api/message_id.rb +1 -0
- data/lib/slack/real_time/api/ping.rb +5 -2
- data/lib/slack/real_time/api/templates/event_handler.erb +1 -1
- data/lib/slack/real_time/api/typing.rb +3 -1
- data/lib/slack/real_time/client.rb +116 -36
- data/lib/slack/real_time/concurrency/async.rb +138 -0
- data/lib/slack/real_time/concurrency.rb +2 -2
- data/lib/slack/real_time/config.rb +17 -19
- data/lib/slack/real_time/models/base.rb +3 -3
- data/lib/slack/real_time/models/bot.rb +1 -0
- data/lib/slack/real_time/models/channel.rb +1 -0
- data/lib/slack/real_time/models/group.rb +1 -0
- data/lib/slack/real_time/models/im.rb +1 -0
- data/lib/slack/real_time/models/team.rb +1 -0
- data/lib/slack/real_time/models/user.rb +1 -0
- data/lib/slack/real_time/models.rb +8 -7
- data/lib/slack/real_time/socket.rb +51 -23
- data/lib/slack/real_time/stores/base.rb +6 -9
- data/lib/slack/real_time/stores/starter.rb +143 -69
- data/lib/slack/real_time/stores/store.rb +160 -82
- data/lib/slack/real_time/stores.rb +4 -3
- data/lib/slack/version.rb +2 -1
- data/lib/slack/web/api/endpoints/admin_analytics.rb +28 -0
- data/lib/slack/web/api/endpoints/admin_apps.rb +78 -0
- data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_apps_requests.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_auth_policy.rb +72 -0
- data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
- data/lib/slack/web/api/endpoints/admin_conversations.rb +260 -0
- data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +64 -0
- data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
- data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
- data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
- data/lib/slack/web/api/endpoints/admin_users.rb +163 -0
- data/lib/slack/web/api/endpoints/admin_users_session.rb +122 -0
- data/lib/slack/web/api/endpoints/api.rb +4 -5
- data/lib/slack/web/api/endpoints/apps.rb +27 -0
- data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
- data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
- data/lib/slack/web/api/endpoints/apps_manifest.rb +75 -0
- data/lib/slack/web/api/endpoints/apps_permissions.rb +36 -0
- data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +31 -0
- data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +21 -0
- data/lib/slack/web/api/endpoints/apps_permissions_users.rb +50 -0
- data/lib/slack/web/api/endpoints/auth.rb +14 -2
- data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
- data/lib/slack/web/api/endpoints/bots.rb +25 -0
- data/lib/slack/web/api/endpoints/calls.rb +83 -0
- data/lib/slack/web/api/endpoints/calls_participants.rb +42 -0
- data/lib/slack/web/api/endpoints/channels.rb +8 -201
- data/lib/slack/web/api/endpoints/chat.rb +252 -42
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
- data/lib/slack/web/api/endpoints/conversations.rb +422 -0
- data/lib/slack/web/api/endpoints/dialog.rb +33 -0
- data/lib/slack/web/api/endpoints/dnd.rb +17 -12
- data/lib/slack/web/api/endpoints/emoji.rb +3 -2
- data/lib/slack/web/api/endpoints/files.rb +82 -43
- data/lib/slack/web/api/endpoints/files_comments.rb +4 -36
- data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
- data/lib/slack/web/api/endpoints/groups.rb +1 -235
- data/lib/slack/web/api/endpoints/im.rb +1 -73
- data/lib/slack/web/api/endpoints/migration.rb +28 -0
- data/lib/slack/web/api/endpoints/mpim.rb +1 -72
- data/lib/slack/web/api/endpoints/oauth.rb +9 -10
- data/lib/slack/web/api/endpoints/oauth_v2.rb +48 -0
- data/lib/slack/web/api/endpoints/openid_connect.rb +42 -0
- data/lib/slack/web/api/endpoints/pins.rb +14 -23
- data/lib/slack/web/api/endpoints/presence.rb +1 -1
- data/lib/slack/web/api/endpoints/reactions.rb +43 -34
- data/lib/slack/web/api/endpoints/reminders.rb +28 -15
- data/lib/slack/web/api/endpoints/rtm.rb +29 -8
- data/lib/slack/web/api/endpoints/search.rb +39 -24
- data/lib/slack/web/api/endpoints/stars.rb +30 -22
- data/lib/slack/web/api/endpoints/team.rb +34 -11
- data/lib/slack/web/api/endpoints/team_billing.rb +21 -0
- data/lib/slack/web/api/endpoints/team_preferences.rb +21 -0
- data/lib/slack/web/api/endpoints/team_profile.rb +23 -0
- data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
- data/lib/slack/web/api/endpoints/usergroups.rb +43 -32
- data/lib/slack/web/api/endpoints/usergroups_users.rb +14 -9
- data/lib/slack/web/api/endpoints/users.rb +104 -19
- data/lib/slack/web/api/endpoints/users_admin.rb +49 -0
- data/lib/slack/web/api/endpoints/users_prefs.rb +21 -0
- data/lib/slack/web/api/endpoints/users_profile.rb +44 -0
- data/lib/slack/web/api/endpoints/views.rb +97 -0
- data/lib/slack/web/api/endpoints/workflows.rb +61 -0
- data/lib/slack/web/api/endpoints.rb +111 -29
- data/lib/slack/web/api/error.rb +2 -8
- data/lib/slack/web/api/errors/server_error.rb +37 -0
- data/lib/slack/web/api/errors/slack_error.rb +29 -0
- data/lib/slack/web/api/errors/too_many_requests_error.rb +21 -0
- data/lib/slack/web/api/errors.rb +1040 -0
- data/lib/slack/web/api/mixins/conversations.id.rb +25 -0
- data/lib/slack/web/api/mixins/ids.id.rb +24 -0
- data/lib/slack/web/api/mixins/users.id.rb +6 -7
- data/lib/slack/web/api/mixins/users.search.rb +39 -36
- data/lib/slack/web/api/mixins.rb +4 -4
- data/lib/slack/web/api/patches/chat.1.patch +70 -0
- data/lib/slack/web/api/patches/dialog.1.open-json-support.patch +17 -0
- data/lib/slack/web/api/patches/views.1.view-json.patch +40 -0
- data/lib/slack/web/api/patches/views.1.views-published.patch +16 -0
- data/lib/slack/web/api/templates/command.erb +5 -3
- data/lib/slack/web/api/templates/commands.erb +2 -1
- data/lib/slack/web/api/templates/endpoints.erb +5 -5
- data/lib/slack/web/api/templates/errors.erb +20 -0
- data/lib/slack/web/api/templates/method.erb +26 -4
- data/lib/slack/web/api/templates/method_spec.erb +3 -2
- data/lib/slack/web/client.rb +2 -1
- data/lib/slack/web/config.rb +21 -10
- data/lib/slack/web/faraday/connection.rb +25 -16
- data/lib/slack/web/faraday/request.rb +4 -1
- data/lib/slack/web/faraday/response/raise_error.rb +19 -1
- data/lib/slack/web/faraday/response/wrap_error.rb +24 -0
- data/lib/slack/web/pagination/cursor.rb +48 -0
- data/lib/slack-ruby-client.rb +40 -26
- data/lib/slack.rb +1 -0
- data/lib/slack_ruby_client.rb +1 -0
- data/lib/tasks/git.rake +2 -1
- data/lib/tasks/real_time.rake +16 -6
- data/lib/tasks/update.rake +1 -0
- data/lib/tasks/web.rake +42 -10
- data/screenshots/create-app.png +0 -0
- data/slack-ruby-client.gemspec +11 -9
- data/spec/fixtures/slack/web/429_error.yml +50 -52
- data/spec/fixtures/slack/web/auth_test_error.yml +51 -18
- data/spec/fixtures/slack/web/auth_test_success.yml +50 -26
- data/spec/fixtures/slack/web/conversations_info.yml +167 -0
- data/spec/fixtures/slack/web/conversations_setTopic.yml +84 -0
- data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +172 -0
- data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +253 -0
- data/spec/fixtures/slack/web/paginated_users_list.yml +613 -0
- data/spec/fixtures/slack/web/rtm_connect.yml +307 -0
- data/spec/fixtures/slack/web/rtm_start.yml +771 -60
- data/spec/fixtures/slack/web/users_info.yml +153 -69
- data/spec/fixtures/slack/web/users_list.yml +102 -41
- data/spec/fixtures/slack/web/views_open_error.yml +83 -0
- data/spec/integration/integration_spec.rb +116 -48
- data/spec/slack/config_spec.rb +2 -0
- data/spec/slack/events/config_spec.rb +33 -0
- data/spec/slack/events/request_spec.rb +184 -0
- data/spec/slack/messages/formatting_spec.rb +25 -14
- data/spec/slack/real_time/api/message_spec.rb +6 -1
- data/spec/slack/real_time/api/ping_spec.rb +2 -0
- data/spec/slack/real_time/api/typing_spec.rb +5 -1
- data/spec/slack/real_time/client_spec.rb +465 -141
- data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +21 -0
- data/spec/slack/real_time/concurrency/with_concurrency_spec.rb +10 -0
- data/spec/slack/real_time/concurrency/without_concurrency_spec.rb +10 -0
- data/spec/slack/real_time/event_handlers/bot_spec.rb +7 -4
- data/spec/slack/real_time/event_handlers/channel_spec.rb +10 -7
- data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +3 -2
- data/spec/slack/real_time/event_handlers/group_spec.rb +5 -4
- data/spec/slack/real_time/event_handlers/im_spec.rb +9 -8
- data/spec/slack/real_time/event_handlers/team_spec.rb +8 -4
- data/spec/slack/real_time/event_handlers/user_spec.rb +7 -4
- data/spec/slack/real_time/rtm_connect_spec.rb +14 -0
- data/spec/slack/real_time/rtm_start_spec.rb +2 -1
- data/spec/slack/real_time/store_spec.rb +2 -1
- data/spec/slack/slack_spec.rb +42 -8
- data/spec/slack/version_spec.rb +2 -1
- data/spec/slack/web/api/endpoints/admin_analytics_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/admin_auth_policy_spec.rb +35 -0
- data/spec/slack/web/api/endpoints/admin_barriers_spec.rb +38 -0
- data/spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +32 -0
- data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +98 -0
- data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +37 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/admin_teams_admins_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_owners_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +53 -0
- data/spec/slack/web/api/endpoints/admin_teams_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +37 -0
- data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +41 -0
- data/spec/slack/web/api/endpoints/admin_users_spec.rb +67 -0
- data/spec/slack/web/api/endpoints/api_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/apps_connections_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/apps_manifest_spec.rb +36 -0
- data/spec/slack/web/api/endpoints/apps_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/auth_teams_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/bots_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/calls_participants_spec.rb +24 -0
- data/spec/slack/web/api/endpoints/calls_spec.rb +31 -0
- data/spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +11 -4
- data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +140 -24
- data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +36 -0
- data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +22 -7
- data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +95 -0
- data/spec/slack/web/api/endpoints/dnd_spec.rb +4 -3
- data/spec/slack/web/api/endpoints/emoji_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/files_comments_spec.rb +3 -21
- data/spec/slack/web/api/endpoints/files_remote_spec.rb +24 -0
- data/spec/slack/web/api/endpoints/files_spec.rb +17 -5
- data/spec/slack/web/api/endpoints/migration_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/oauth_spec.rb +1 -11
- data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/openid_connect_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/pins_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/reactions_spec.rb +8 -1
- data/spec/slack/web/api/endpoints/reminders_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/rtm_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/search_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/stars_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/team_billing_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/team_preferences_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/team_profile_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/team_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/tooling_tokens_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/usergroups_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/users_admin_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/users_prefs_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/users_profile_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/workflows_spec.rb +26 -0
- data/spec/slack/web/api/error_spec.rb +7 -7
- data/spec/slack/web/api/errors/slack_error_spec.rb +33 -0
- data/spec/slack/web/api/mixins/conversations_list_spec.rb +21 -0
- data/spec/slack/web/api/mixins/conversations_spec.rb +43 -0
- data/spec/slack/web/api/mixins/users_spec.rb +30 -17
- data/spec/slack/web/api/pagination/cursor_spec.rb +98 -0
- data/spec/slack/web/client_spec.rb +211 -14
- data/spec/slack/web/faraday/request_spec.rb +80 -0
- data/spec/slack/web/faraday/response/raise_error_spec.rb +86 -0
- data/spec/spec_helper.rb +9 -2
- data/spec/support/queue_with_timeout.rb +6 -5
- data/spec/support/real_time/concurrency/mock.rb +2 -2
- data/spec/support/real_time/connected_client.rb +7 -2
- data/spec/support/real_time/event.rb +1 -0
- data/spec/support/token.rb +1 -0
- data/spec/support/vcr.rb +37 -1
- metadata +250 -130
- data/examples/hi_real_time/Gemfile +0 -5
- data/examples/hi_real_time/hi.gif +0 -0
- data/examples/hi_real_time/hi.rb +0 -37
- data/examples/hi_real_time_async/Gemfile +0 -5
- data/examples/hi_real_time_async/hi.rb +0 -29
- data/examples/hi_real_time_async_eventmachine/Gemfile +0 -6
- data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
- data/examples/hi_real_time_async_eventmachine/hi.rb +0 -36
- data/lib/slack/real_time/concurrency/celluloid.rb +0 -100
- data/lib/slack/real_time/concurrency/eventmachine.rb +0 -60
- data/lib/slack/web/api/mixins/channels.id.json +0 -20
- data/lib/slack/web/api/mixins/channels.id.rb +0 -26
- data/lib/slack/web/api/mixins/groups.id.json +0 -20
- data/lib/slack/web/api/mixins/groups.id.rb +0 -26
- data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
- data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
- data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -20
- data/screenshots/register-bot.png +0 -0
- data/spec/fixtures/slack/web/channels_info.yml +0 -46
- data/spec/fixtures/slack/web/groups_info.yml +0 -43
- data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -35
- data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -50
- data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -11
- data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -11
- data/spec/slack/web/api/endpoints/im_spec.rb +0 -30
- data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -30
- data/spec/slack/web/api/mixins/channels_spec.rb +0 -31
- data/spec/slack/web/api/mixins/groups_spec.rb +0 -31
@@ -0,0 +1,28 @@
|
|
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 AdminAnalytics
|
9
|
+
#
|
10
|
+
# Retrieve analytics data for a given date, presented as a compressed JSON file
|
11
|
+
#
|
12
|
+
# @option options [string] :type
|
13
|
+
# The type of analytics to retrieve. The options are currently limited to member (for grid member analytics) and public_channel (for public channel analytics).
|
14
|
+
# @option options [date] :date
|
15
|
+
# Date to retrieve the analytics data for, expressed as YYYY-MM-DD in UTC.
|
16
|
+
# @option options [boolean] :metadata_only
|
17
|
+
# Retrieve metadata for the type of analytics indicated. Can be used only with type set to public_channel analytics. See detail below. Omit the date parameter when using this argument.
|
18
|
+
# @see https://api.slack.com/methods/admin.analytics.getFile
|
19
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.analytics/admin.analytics.getFile.json
|
20
|
+
def admin_analytics_getFile(options = {})
|
21
|
+
throw ArgumentError.new('Required arguments :type missing') if options[:type].nil?
|
22
|
+
post('admin.analytics.getFile', options)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,78 @@
|
|
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 AdminApps
|
9
|
+
#
|
10
|
+
# Approve an app for installation on a workspace.
|
11
|
+
#
|
12
|
+
# @option options [string] :app_id
|
13
|
+
# The id of the app to approve.
|
14
|
+
# @option options [Object] :enterprise_id
|
15
|
+
# The ID of the enterprise to approve the app on.
|
16
|
+
# @option options [string] :request_id
|
17
|
+
# The id of the request to approve.
|
18
|
+
# @option options [Object] :team_id
|
19
|
+
# The ID of the workspace to approve the app on.
|
20
|
+
# @see https://api.slack.com/methods/admin.apps.approve
|
21
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps/admin.apps.approve.json
|
22
|
+
def admin_apps_approve(options = {})
|
23
|
+
post('admin.apps.approve', options)
|
24
|
+
end
|
25
|
+
|
26
|
+
#
|
27
|
+
# Clear an app resolution
|
28
|
+
#
|
29
|
+
# @option options [string] :app_id
|
30
|
+
# The id of the app whose resolution you want to clear/undo.
|
31
|
+
# @option options [Object] :enterprise_id
|
32
|
+
# The enterprise to clear the app resolution from.
|
33
|
+
# @option options [Object] :team_id
|
34
|
+
# The workspace to clear the app resolution from.
|
35
|
+
# @see https://api.slack.com/methods/admin.apps.clearResolution
|
36
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps/admin.apps.clearResolution.json
|
37
|
+
def admin_apps_clearResolution(options = {})
|
38
|
+
throw ArgumentError.new('Required arguments :app_id missing') if options[:app_id].nil?
|
39
|
+
post('admin.apps.clearResolution', options)
|
40
|
+
end
|
41
|
+
|
42
|
+
#
|
43
|
+
# Restrict an app for installation on a workspace.
|
44
|
+
#
|
45
|
+
# @option options [string] :app_id
|
46
|
+
# The id of the app to restrict.
|
47
|
+
# @option options [Object] :enterprise_id
|
48
|
+
# The ID of the enterprise to approve the app on.
|
49
|
+
# @option options [string] :request_id
|
50
|
+
# The id of the request to restrict.
|
51
|
+
# @option options [Object] :team_id
|
52
|
+
# The ID of the workspace to approve the app on.
|
53
|
+
# @see https://api.slack.com/methods/admin.apps.restrict
|
54
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps/admin.apps.restrict.json
|
55
|
+
def admin_apps_restrict(options = {})
|
56
|
+
post('admin.apps.restrict', options)
|
57
|
+
end
|
58
|
+
|
59
|
+
#
|
60
|
+
# Uninstall an app from one or many workspaces, or an entire enterprise organization.
|
61
|
+
#
|
62
|
+
# @option options [string] :app_id
|
63
|
+
# The ID of the app to uninstall.
|
64
|
+
# @option options [string] :enterprise_id
|
65
|
+
# The enterprise to completely uninstall the application from (across all workspaces). With an org-level token, this or team_ids is required.
|
66
|
+
# @option options [string] :team_ids
|
67
|
+
# IDs of the teams to uninstall from (max 100). With an org-level token, this or enterprise_id is required.
|
68
|
+
# @see https://api.slack.com/methods/admin.apps.uninstall
|
69
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps/admin.apps.uninstall.json
|
70
|
+
def admin_apps_uninstall(options = {})
|
71
|
+
throw ArgumentError.new('Required arguments :app_id missing') if options[:app_id].nil?
|
72
|
+
post('admin.apps.uninstall', options)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,35 @@
|
|
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 AdminAppsApproved
|
9
|
+
#
|
10
|
+
# List approved apps for an org or workspace.
|
11
|
+
#
|
12
|
+
# @option options [string] :cursor
|
13
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
14
|
+
# @option options [Object] :enterprise_id
|
15
|
+
# .
|
16
|
+
# @option options [integer] :limit
|
17
|
+
# The maximum number of items to return. Must be between 1 - 1000 both inclusive.
|
18
|
+
# @option options [Object] :team_id
|
19
|
+
# .
|
20
|
+
# @see https://api.slack.com/methods/admin.apps.approved.list
|
21
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps.approved/admin.apps.approved.list.json
|
22
|
+
def admin_apps_approved_list(options = {})
|
23
|
+
if block_given?
|
24
|
+
Pagination::Cursor.new(self, :admin_apps_approved_list, options).each do |page|
|
25
|
+
yield page
|
26
|
+
end
|
27
|
+
else
|
28
|
+
post('admin.apps.approved.list', options)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,35 @@
|
|
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 AdminAppsRequests
|
9
|
+
#
|
10
|
+
# List app requests for a team/workspace.
|
11
|
+
#
|
12
|
+
# @option options [string] :cursor
|
13
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
14
|
+
# @option options [Object] :enterprise_id
|
15
|
+
# .
|
16
|
+
# @option options [integer] :limit
|
17
|
+
# The maximum number of items to return. Must be between 1 - 1000 both inclusive.
|
18
|
+
# @option options [Object] :team_id
|
19
|
+
# .
|
20
|
+
# @see https://api.slack.com/methods/admin.apps.requests.list
|
21
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps.requests/admin.apps.requests.list.json
|
22
|
+
def admin_apps_requests_list(options = {})
|
23
|
+
if block_given?
|
24
|
+
Pagination::Cursor.new(self, :admin_apps_requests_list, options).each do |page|
|
25
|
+
yield page
|
26
|
+
end
|
27
|
+
else
|
28
|
+
post('admin.apps.requests.list', options)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,35 @@
|
|
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 AdminAppsRestricted
|
9
|
+
#
|
10
|
+
# List restricted apps for an org or workspace.
|
11
|
+
#
|
12
|
+
# @option options [string] :cursor
|
13
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
14
|
+
# @option options [Object] :enterprise_id
|
15
|
+
# .
|
16
|
+
# @option options [integer] :limit
|
17
|
+
# The maximum number of items to return. Must be between 1 - 1000 both inclusive.
|
18
|
+
# @option options [Object] :team_id
|
19
|
+
# .
|
20
|
+
# @see https://api.slack.com/methods/admin.apps.restricted.list
|
21
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps.restricted/admin.apps.restricted.list.json
|
22
|
+
def admin_apps_restricted_list(options = {})
|
23
|
+
if block_given?
|
24
|
+
Pagination::Cursor.new(self, :admin_apps_restricted_list, options).each do |page|
|
25
|
+
yield page
|
26
|
+
end
|
27
|
+
else
|
28
|
+
post('admin.apps.restricted.list', options)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,72 @@
|
|
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 AdminAuthPolicy
|
9
|
+
#
|
10
|
+
# Assign entities to a particular authentication policy.
|
11
|
+
#
|
12
|
+
# @option options [array] :entity_ids
|
13
|
+
# Array of IDs to assign to the policy.
|
14
|
+
# @option options [Object] :entity_type
|
15
|
+
# The type of entity to assign to the policy. Currently, USER is supported.
|
16
|
+
# @option options [string] :policy_name
|
17
|
+
# The name of the authentication policy to assign the entities to. Currently, email_password is the only policy that may be used with this method.
|
18
|
+
# @see https://api.slack.com/methods/admin.auth.policy.assignEntities
|
19
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.auth.policy/admin.auth.policy.assignEntities.json
|
20
|
+
def admin_auth_policy_assignEntities(options = {})
|
21
|
+
throw ArgumentError.new('Required arguments :entity_ids missing') if options[:entity_ids].nil?
|
22
|
+
throw ArgumentError.new('Required arguments :entity_type missing') if options[:entity_type].nil?
|
23
|
+
throw ArgumentError.new('Required arguments :policy_name missing') if options[:policy_name].nil?
|
24
|
+
post('admin.auth.policy.assignEntities', options)
|
25
|
+
end
|
26
|
+
|
27
|
+
#
|
28
|
+
# Fetch all the entities assigned to a particular authentication policy by name.
|
29
|
+
#
|
30
|
+
# @option options [string] :policy_name
|
31
|
+
# The name of the policy to fetch entities for. Currently, email_password is the only policy that may be used with this method.
|
32
|
+
# @option options [string] :cursor
|
33
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
34
|
+
# @option options [Object] :entity_type
|
35
|
+
# The type of entity to assign to the policy. Currently, USER is supported.
|
36
|
+
# @option options [integer] :limit
|
37
|
+
# The maximum number of items to return. Must be between 1 and 1000, both inclusive.
|
38
|
+
# @see https://api.slack.com/methods/admin.auth.policy.getEntities
|
39
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.auth.policy/admin.auth.policy.getEntities.json
|
40
|
+
def admin_auth_policy_getEntities(options = {})
|
41
|
+
throw ArgumentError.new('Required arguments :policy_name missing') if options[:policy_name].nil?
|
42
|
+
if block_given?
|
43
|
+
Pagination::Cursor.new(self, :admin_auth_policy_getEntities, options).each do |page|
|
44
|
+
yield page
|
45
|
+
end
|
46
|
+
else
|
47
|
+
post('admin.auth.policy.getEntities', options)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
#
|
52
|
+
# Remove specified entities from a specified authentication policy.
|
53
|
+
#
|
54
|
+
# @option options [array] :entity_ids
|
55
|
+
# Encoded IDs of the entities you'd like to remove from the policy.
|
56
|
+
# @option options [Object] :entity_type
|
57
|
+
# The type of entity to assign to the policy. Currently, USER is supported.
|
58
|
+
# @option options [string] :policy_name
|
59
|
+
# The name of the policy to remove entities from. Currently, email_password is the only policy that may be used with this method.
|
60
|
+
# @see https://api.slack.com/methods/admin.auth.policy.removeEntities
|
61
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.auth.policy/admin.auth.policy.removeEntities.json
|
62
|
+
def admin_auth_policy_removeEntities(options = {})
|
63
|
+
throw ArgumentError.new('Required arguments :entity_ids missing') if options[:entity_ids].nil?
|
64
|
+
throw ArgumentError.new('Required arguments :entity_type missing') if options[:entity_type].nil?
|
65
|
+
throw ArgumentError.new('Required arguments :policy_name missing') if options[:policy_name].nil?
|
66
|
+
post('admin.auth.policy.removeEntities', options)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,82 @@
|
|
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 AdminBarriers
|
9
|
+
#
|
10
|
+
# Create an Information Barrier
|
11
|
+
#
|
12
|
+
# @option options [array] :barriered_from_usergroup_ids
|
13
|
+
# A list of IDP Groups ids that the primary usergroup is to be barriered from.
|
14
|
+
# @option options [Object] :primary_usergroup_id
|
15
|
+
# The id of the primary IDP Group.
|
16
|
+
# @option options [array] :restricted_subjects
|
17
|
+
# What kind of interactions are blocked by this barrier? For v1, we only support a list of all 3, eg im, mpim, call.
|
18
|
+
# @see https://api.slack.com/methods/admin.barriers.create
|
19
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.barriers/admin.barriers.create.json
|
20
|
+
def admin_barriers_create(options = {})
|
21
|
+
throw ArgumentError.new('Required arguments :barriered_from_usergroup_ids missing') if options[:barriered_from_usergroup_ids].nil?
|
22
|
+
throw ArgumentError.new('Required arguments :primary_usergroup_id missing') if options[:primary_usergroup_id].nil?
|
23
|
+
throw ArgumentError.new('Required arguments :restricted_subjects missing') if options[:restricted_subjects].nil?
|
24
|
+
post('admin.barriers.create', options)
|
25
|
+
end
|
26
|
+
|
27
|
+
#
|
28
|
+
# Delete an existing Information Barrier
|
29
|
+
#
|
30
|
+
# @option options [Object] :barrier_id
|
31
|
+
# The ID of the barrier you're trying to delete.
|
32
|
+
# @see https://api.slack.com/methods/admin.barriers.delete
|
33
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.barriers/admin.barriers.delete.json
|
34
|
+
def admin_barriers_delete(options = {})
|
35
|
+
throw ArgumentError.new('Required arguments :barrier_id missing') if options[:barrier_id].nil?
|
36
|
+
post('admin.barriers.delete', options)
|
37
|
+
end
|
38
|
+
|
39
|
+
#
|
40
|
+
# Get all Information Barriers for your organization
|
41
|
+
#
|
42
|
+
# @option options [string] :cursor
|
43
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
44
|
+
# @option options [integer] :limit
|
45
|
+
# The maximum number of items to return. Must be between 1 - 1000 both inclusive.
|
46
|
+
# @see https://api.slack.com/methods/admin.barriers.list
|
47
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.barriers/admin.barriers.list.json
|
48
|
+
def admin_barriers_list(options = {})
|
49
|
+
if block_given?
|
50
|
+
Pagination::Cursor.new(self, :admin_barriers_list, options).each do |page|
|
51
|
+
yield page
|
52
|
+
end
|
53
|
+
else
|
54
|
+
post('admin.barriers.list', options)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
#
|
59
|
+
# Update an existing Information Barrier
|
60
|
+
#
|
61
|
+
# @option options [Object] :barrier_id
|
62
|
+
# The ID of the barrier you're trying to modify.
|
63
|
+
# @option options [array] :barriered_from_usergroup_ids
|
64
|
+
# A list of IDP Groups ids that the primary usergroup is to be barriered from.
|
65
|
+
# @option options [Object] :primary_usergroup_id
|
66
|
+
# The id of the primary IDP Group.
|
67
|
+
# @option options [array] :restricted_subjects
|
68
|
+
# What kind of interactions are blocked by this barrier? For v1, we only support a list of all 3, eg im, mpim, call.
|
69
|
+
# @see https://api.slack.com/methods/admin.barriers.update
|
70
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.barriers/admin.barriers.update.json
|
71
|
+
def admin_barriers_update(options = {})
|
72
|
+
throw ArgumentError.new('Required arguments :barrier_id missing') if options[:barrier_id].nil?
|
73
|
+
throw ArgumentError.new('Required arguments :barriered_from_usergroup_ids missing') if options[:barriered_from_usergroup_ids].nil?
|
74
|
+
throw ArgumentError.new('Required arguments :primary_usergroup_id missing') if options[:primary_usergroup_id].nil?
|
75
|
+
throw ArgumentError.new('Required arguments :restricted_subjects missing') if options[:restricted_subjects].nil?
|
76
|
+
post('admin.barriers.update', options)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -0,0 +1,260 @@
|
|
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 AdminConversations
|
9
|
+
#
|
10
|
+
# Archive a public or private channel.
|
11
|
+
#
|
12
|
+
# @option options [Object] :channel_id
|
13
|
+
# The channel to archive.
|
14
|
+
# @see https://api.slack.com/methods/admin.conversations.archive
|
15
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.archive.json
|
16
|
+
def admin_conversations_archive(options = {})
|
17
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
18
|
+
post('admin.conversations.archive', options)
|
19
|
+
end
|
20
|
+
|
21
|
+
#
|
22
|
+
# Convert a public channel to a private channel.
|
23
|
+
#
|
24
|
+
# @option options [Object] :channel_id
|
25
|
+
# The channel to convert to private.
|
26
|
+
# @see https://api.slack.com/methods/admin.conversations.convertToPrivate
|
27
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.convertToPrivate.json
|
28
|
+
def admin_conversations_convertToPrivate(options = {})
|
29
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
30
|
+
post('admin.conversations.convertToPrivate', options)
|
31
|
+
end
|
32
|
+
|
33
|
+
#
|
34
|
+
# Create a public or private channel-based conversation.
|
35
|
+
#
|
36
|
+
# @option options [boolean] :is_private
|
37
|
+
# When true, creates a private channel instead of a public channel.
|
38
|
+
# @option options [string] :name
|
39
|
+
# Name of the public or private channel to create.
|
40
|
+
# @option options [string] :description
|
41
|
+
# Description of the public or private channel to create.
|
42
|
+
# @option options [boolean] :org_wide
|
43
|
+
# When true, the channel will be available org-wide. Note: if the channel is not org_wide=true, you must specify a team_id for this channel.
|
44
|
+
# @option options [Object] :team_id
|
45
|
+
# The workspace to create the channel in. Note: this argument is required unless you set org_wide=true.
|
46
|
+
# @see https://api.slack.com/methods/admin.conversations.create
|
47
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.create.json
|
48
|
+
def admin_conversations_create(options = {})
|
49
|
+
throw ArgumentError.new('Required arguments :is_private missing') if options[:is_private].nil?
|
50
|
+
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
51
|
+
post('admin.conversations.create', options)
|
52
|
+
end
|
53
|
+
|
54
|
+
#
|
55
|
+
# Delete a public or private channel.
|
56
|
+
#
|
57
|
+
# @option options [Object] :channel_id
|
58
|
+
# The channel to delete.
|
59
|
+
# @see https://api.slack.com/methods/admin.conversations.delete
|
60
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.delete.json
|
61
|
+
def admin_conversations_delete(options = {})
|
62
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
63
|
+
post('admin.conversations.delete', options)
|
64
|
+
end
|
65
|
+
|
66
|
+
#
|
67
|
+
# Disconnect a connected channel from one or more workspaces.
|
68
|
+
#
|
69
|
+
# @option options [Object] :channel_id
|
70
|
+
# The channel to be disconnected from some workspaces.
|
71
|
+
# @option options [array] :leaving_team_ids
|
72
|
+
# team IDs getting removed from the channel, optional if there are only two teams in the channel.
|
73
|
+
# @see https://api.slack.com/methods/admin.conversations.disconnectShared
|
74
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.disconnectShared.json
|
75
|
+
def admin_conversations_disconnectShared(options = {})
|
76
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
77
|
+
post('admin.conversations.disconnectShared', options)
|
78
|
+
end
|
79
|
+
|
80
|
+
#
|
81
|
+
# Get conversation preferences for a public or private channel.
|
82
|
+
#
|
83
|
+
# @option options [Object] :channel_id
|
84
|
+
# The channel to get preferences for.
|
85
|
+
# @see https://api.slack.com/methods/admin.conversations.getConversationPrefs
|
86
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.getConversationPrefs.json
|
87
|
+
def admin_conversations_getConversationPrefs(options = {})
|
88
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
89
|
+
post('admin.conversations.getConversationPrefs', options)
|
90
|
+
end
|
91
|
+
|
92
|
+
#
|
93
|
+
# This API endpoint can be used by any admin to get a channel's retention policy.
|
94
|
+
#
|
95
|
+
# @option options [string] :channel_id
|
96
|
+
# The channel to get the retention policy for.
|
97
|
+
# @see https://api.slack.com/methods/admin.conversations.getCustomRetention
|
98
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.getCustomRetention.json
|
99
|
+
def admin_conversations_getCustomRetention(options = {})
|
100
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
101
|
+
post('admin.conversations.getCustomRetention', options)
|
102
|
+
end
|
103
|
+
|
104
|
+
#
|
105
|
+
# Get all the workspaces a given public or private channel is connected to within this Enterprise org.
|
106
|
+
#
|
107
|
+
# @option options [Object] :channel_id
|
108
|
+
# The channel to determine connected workspaces within the organization for.
|
109
|
+
# @option options [string] :cursor
|
110
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
111
|
+
# @option options [integer] :limit
|
112
|
+
# The maximum number of items to return. Must be between 1 - 1000 both inclusive.
|
113
|
+
# @see https://api.slack.com/methods/admin.conversations.getTeams
|
114
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.getTeams.json
|
115
|
+
def admin_conversations_getTeams(options = {})
|
116
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
117
|
+
if block_given?
|
118
|
+
Pagination::Cursor.new(self, :admin_conversations_getTeams, options).each do |page|
|
119
|
+
yield page
|
120
|
+
end
|
121
|
+
else
|
122
|
+
post('admin.conversations.getTeams', options)
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
126
|
+
#
|
127
|
+
# Invite a user to a public or private channel.
|
128
|
+
#
|
129
|
+
# @option options [Object] :channel_id
|
130
|
+
# The channel that the users will be invited to.
|
131
|
+
# @option options [array] :user_ids
|
132
|
+
# The users to invite.
|
133
|
+
# @see https://api.slack.com/methods/admin.conversations.invite
|
134
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.invite.json
|
135
|
+
def admin_conversations_invite(options = {})
|
136
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
137
|
+
throw ArgumentError.new('Required arguments :user_ids missing') if options[:user_ids].nil?
|
138
|
+
post('admin.conversations.invite', options)
|
139
|
+
end
|
140
|
+
|
141
|
+
#
|
142
|
+
# This API endpoint can be used by any admin to remove a channel's retention policy.
|
143
|
+
#
|
144
|
+
# @option options [string] :channel_id
|
145
|
+
# The channel to set the retention policy for.
|
146
|
+
# @see https://api.slack.com/methods/admin.conversations.removeCustomRetention
|
147
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.removeCustomRetention.json
|
148
|
+
def admin_conversations_removeCustomRetention(options = {})
|
149
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
150
|
+
post('admin.conversations.removeCustomRetention', options)
|
151
|
+
end
|
152
|
+
|
153
|
+
#
|
154
|
+
# Rename a public or private channel.
|
155
|
+
#
|
156
|
+
# @option options [Object] :channel_id
|
157
|
+
# The channel to rename.
|
158
|
+
# @option options [string] :name
|
159
|
+
# .
|
160
|
+
# @see https://api.slack.com/methods/admin.conversations.rename
|
161
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.rename.json
|
162
|
+
def admin_conversations_rename(options = {})
|
163
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
164
|
+
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
165
|
+
post('admin.conversations.rename', options)
|
166
|
+
end
|
167
|
+
|
168
|
+
#
|
169
|
+
# Search for public or private channels in an Enterprise organization.
|
170
|
+
#
|
171
|
+
# @option options [string] :cursor
|
172
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
173
|
+
# @option options [integer] :limit
|
174
|
+
# Maximum number of items to be returned. Must be between 1 - 20 both inclusive. Default is 10.
|
175
|
+
# @option options [string] :query
|
176
|
+
# Name of the the channel to query by.
|
177
|
+
# @option options [array] :search_channel_types
|
178
|
+
# The type of channel to include or exclude in the search. For example private will search private channels, while private_exclude will exclude them. For a full list of types, check the Types section.
|
179
|
+
# @option options [string] :sort
|
180
|
+
# Possible values are relevant (search ranking based on what we think is closest), name (alphabetical), member_count (number of users in the channel), and created (date channel was created). You can optionally pair this with the sort_dir arg to change how it is sorted.
|
181
|
+
# @option options [string] :sort_dir
|
182
|
+
# Sort direction. Possible values are asc for ascending order like (1, 2, 3) or (a, b, c), and desc for descending order like (3, 2, 1) or (c, b, a).
|
183
|
+
# @option options [array] :team_ids
|
184
|
+
# Comma separated string of team IDs, signifying the workspaces to search through.
|
185
|
+
# @see https://api.slack.com/methods/admin.conversations.search
|
186
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.search.json
|
187
|
+
def admin_conversations_search(options = {})
|
188
|
+
if block_given?
|
189
|
+
Pagination::Cursor.new(self, :admin_conversations_search, options).each do |page|
|
190
|
+
yield page
|
191
|
+
end
|
192
|
+
else
|
193
|
+
post('admin.conversations.search', options)
|
194
|
+
end
|
195
|
+
end
|
196
|
+
|
197
|
+
#
|
198
|
+
# Set the posting permissions for a public or private channel.
|
199
|
+
#
|
200
|
+
# @option options [string] :channel_id
|
201
|
+
# The channel to set the prefs for.
|
202
|
+
# @option options [string] :prefs
|
203
|
+
# The prefs for this channel in a stringified JSON format.
|
204
|
+
# @see https://api.slack.com/methods/admin.conversations.setConversationPrefs
|
205
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.setConversationPrefs.json
|
206
|
+
def admin_conversations_setConversationPrefs(options = {})
|
207
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
208
|
+
throw ArgumentError.new('Required arguments :prefs missing') if options[:prefs].nil?
|
209
|
+
post('admin.conversations.setConversationPrefs', options)
|
210
|
+
end
|
211
|
+
|
212
|
+
#
|
213
|
+
# This API endpoint can be used by any admin to set a channel's retention policy.
|
214
|
+
#
|
215
|
+
# @option options [string] :channel_id
|
216
|
+
# The channel to set the retention policy for.
|
217
|
+
# @option options [integer] :duration_days
|
218
|
+
# The message retention duration in days to set for this channel.
|
219
|
+
# @see https://api.slack.com/methods/admin.conversations.setCustomRetention
|
220
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.setCustomRetention.json
|
221
|
+
def admin_conversations_setCustomRetention(options = {})
|
222
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
223
|
+
throw ArgumentError.new('Required arguments :duration_days missing') if options[:duration_days].nil?
|
224
|
+
post('admin.conversations.setCustomRetention', options)
|
225
|
+
end
|
226
|
+
|
227
|
+
#
|
228
|
+
# Set the workspaces in an Enterprise grid org that connect to a public or private channel.
|
229
|
+
#
|
230
|
+
# @option options [string] :channel_id
|
231
|
+
# The encoded channel_id to add or remove to workspaces.
|
232
|
+
# @option options [boolean] :org_channel
|
233
|
+
# True if channel has to be converted to an org channel.
|
234
|
+
# @option options [array] :target_team_ids
|
235
|
+
# A comma-separated list of workspaces to which the channel should be shared. Not required if the channel is being shared org-wide.
|
236
|
+
# @option options [Object] :team_id
|
237
|
+
# The workspace to which the channel belongs. Omit this argument if the channel is a cross-workspace shared channel.
|
238
|
+
# @see https://api.slack.com/methods/admin.conversations.setTeams
|
239
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.setTeams.json
|
240
|
+
def admin_conversations_setTeams(options = {})
|
241
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
242
|
+
post('admin.conversations.setTeams', options)
|
243
|
+
end
|
244
|
+
|
245
|
+
#
|
246
|
+
# Unarchive a public or private channel.
|
247
|
+
#
|
248
|
+
# @option options [Object] :channel_id
|
249
|
+
# The channel to unarchive.
|
250
|
+
# @see https://api.slack.com/methods/admin.conversations.unarchive
|
251
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.unarchive.json
|
252
|
+
def admin_conversations_unarchive(options = {})
|
253
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
254
|
+
post('admin.conversations.unarchive', options)
|
255
|
+
end
|
256
|
+
end
|
257
|
+
end
|
258
|
+
end
|
259
|
+
end
|
260
|
+
end
|