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
@@ -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,107 +7,145 @@ module Slack
|
|
6
7
|
module Endpoints
|
7
8
|
module Files
|
8
9
|
#
|
9
|
-
#
|
10
|
+
# Deletes a file.
|
10
11
|
#
|
11
12
|
# @option options [file] :file
|
12
13
|
# ID of file to delete.
|
13
14
|
# @see https://api.slack.com/methods/files.delete
|
14
|
-
# @see https://github.com/
|
15
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.delete.json
|
15
16
|
def files_delete(options = {})
|
16
17
|
throw ArgumentError.new('Required arguments :file missing') if options[:file].nil?
|
17
18
|
post('files.delete', options)
|
18
19
|
end
|
19
20
|
|
20
21
|
#
|
21
|
-
#
|
22
|
+
# Change the properties of a file (undocumented)
|
23
|
+
#
|
24
|
+
# @option options [Object] :file
|
25
|
+
# ID of the file to be edited
|
26
|
+
# @option options [Object] :title
|
27
|
+
# New title of the file
|
28
|
+
# @option options [Object] :filetype
|
29
|
+
# New filetype of the file. See https://api.slack.com/types/file#file_types for a list of all supported types.
|
30
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/undocumented/files/files.edit.json
|
31
|
+
def files_edit(options = {})
|
32
|
+
throw ArgumentError.new('Required arguments :file missing') if options[:file].nil?
|
33
|
+
throw ArgumentError.new('Required arguments :title missing') if options[:title].nil?
|
34
|
+
logger.warn('The files.edit method is undocumented.')
|
35
|
+
post('files.edit', options)
|
36
|
+
end
|
37
|
+
|
38
|
+
#
|
39
|
+
# Gets information about a file.
|
22
40
|
#
|
23
41
|
# @option options [file] :file
|
24
42
|
# Specify a file by providing its ID.
|
43
|
+
# @option options [string] :cursor
|
44
|
+
# Parameter for pagination. File comments are paginated for a single file. Set cursor equal to the next_cursor attribute returned by the previous request's response_metadata. This parameter is optional, but pagination is mandatory: the default value simply fetches the first "page" of the collection of comments. See pagination for more details.
|
45
|
+
# @option options [integer] :limit
|
46
|
+
# The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the list hasn't been reached.
|
25
47
|
# @see https://api.slack.com/methods/files.info
|
26
|
-
# @see https://github.com/
|
48
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.info.json
|
27
49
|
def files_info(options = {})
|
28
50
|
throw ArgumentError.new('Required arguments :file missing') if options[:file].nil?
|
29
|
-
|
51
|
+
if block_given?
|
52
|
+
Pagination::Cursor.new(self, :files_info, options).each do |page|
|
53
|
+
yield page
|
54
|
+
end
|
55
|
+
else
|
56
|
+
post('files.info', options)
|
57
|
+
end
|
30
58
|
end
|
31
59
|
|
32
60
|
#
|
33
|
-
#
|
61
|
+
# List for a team, in a channel, or from a user with applied filters.
|
34
62
|
#
|
35
|
-
# @option options [user] :user
|
36
|
-
# Filter files created by a single user.
|
37
63
|
# @option options [channel] :channel
|
38
64
|
# Filter files appearing in a specific channel, indicated by its ID.
|
39
|
-
# @option options [
|
65
|
+
# @option options [string] :files
|
66
|
+
# .
|
67
|
+
# @option options [boolean] :show_files_hidden_by_limit
|
68
|
+
# Show truncated file info for files hidden due to being too old, and the team who owns the file being over the file limit.
|
69
|
+
# @option options [string] :team_id
|
70
|
+
# encoded team id to list files in, required if org token is used.
|
71
|
+
# @option options [string] :ts_from
|
40
72
|
# Filter files created after this timestamp (inclusive).
|
41
|
-
# @option options [
|
73
|
+
# @option options [string] :ts_to
|
42
74
|
# Filter files created before this timestamp (inclusive).
|
43
|
-
# @option options [
|
44
|
-
# Filter files by type
|
45
|
-
#
|
46
|
-
#
|
47
|
-
# posts - Posts
|
48
|
-
# snippets - Snippets
|
49
|
-
# images - Image files
|
50
|
-
# gdocs - Google docs
|
51
|
-
# zips - Zip files
|
52
|
-
# pdfs - PDF files
|
53
|
-
#
|
54
|
-
#
|
55
|
-
# You can pass multiple values in the types argument, like types=posts,snippets.The default value is all, which does not filter the list.
|
56
|
-
# .
|
75
|
+
# @option options [string] :types
|
76
|
+
# Filter files by type (see below). You can pass multiple values in the types argument, like types=spaces,snippets.The default value is all, which does not filter the list.
|
77
|
+
# @option options [user] :user
|
78
|
+
# Filter files created by a single user.
|
57
79
|
# @see https://api.slack.com/methods/files.list
|
58
|
-
# @see https://github.com/
|
80
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.list.json
|
59
81
|
def files_list(options = {})
|
60
|
-
options = options.merge(channel:
|
82
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
61
83
|
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
62
84
|
post('files.list', options)
|
63
85
|
end
|
64
86
|
|
65
87
|
#
|
66
|
-
#
|
88
|
+
# Revokes public/external sharing access for a file
|
67
89
|
#
|
68
90
|
# @option options [file] :file
|
69
91
|
# File to revoke.
|
70
92
|
# @see https://api.slack.com/methods/files.revokePublicURL
|
71
|
-
# @see https://github.com/
|
93
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.revokePublicURL.json
|
72
94
|
def files_revokePublicURL(options = {})
|
73
95
|
throw ArgumentError.new('Required arguments :file missing') if options[:file].nil?
|
74
96
|
post('files.revokePublicURL', options)
|
75
97
|
end
|
76
98
|
|
77
99
|
#
|
78
|
-
#
|
100
|
+
# Share an existing file in a channel (undocumented)
|
101
|
+
#
|
102
|
+
# @option options [Object] :file
|
103
|
+
# ID of the file to be shared
|
104
|
+
# @option options [channel] :channel
|
105
|
+
# Channel to share the file in. Works with both public (channel ID) and private channels (group ID).
|
106
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/undocumented/files/files.share.json
|
107
|
+
def files_share(options = {})
|
108
|
+
throw ArgumentError.new('Required arguments :file missing') if options[:file].nil?
|
109
|
+
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
110
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
111
|
+
logger.warn('The files.share method is undocumented.')
|
112
|
+
post('files.share', options)
|
113
|
+
end
|
114
|
+
|
115
|
+
#
|
116
|
+
# Enables a file for public/external sharing.
|
79
117
|
#
|
80
118
|
# @option options [file] :file
|
81
119
|
# File to share.
|
82
120
|
# @see https://api.slack.com/methods/files.sharedPublicURL
|
83
|
-
# @see https://github.com/
|
121
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.sharedPublicURL.json
|
84
122
|
def files_sharedPublicURL(options = {})
|
85
123
|
throw ArgumentError.new('Required arguments :file missing') if options[:file].nil?
|
86
124
|
post('files.sharedPublicURL', options)
|
87
125
|
end
|
88
126
|
|
89
127
|
#
|
90
|
-
#
|
128
|
+
# Uploads or creates a file.
|
91
129
|
#
|
130
|
+
# @option options [string] :channels
|
131
|
+
# Comma-separated list of channel names or IDs where the file will be shared.
|
132
|
+
# @option options [string] :content
|
133
|
+
# File contents via a POST variable. If omitting this parameter, you must provide a file.
|
92
134
|
# @option options [file] :file
|
93
135
|
# File contents via multipart/form-data. If omitting this parameter, you must submit content.
|
94
|
-
# @option options [
|
95
|
-
# File contents via a POST variable. If omitting this parameter, you must provide a file.
|
96
|
-
# @option options [Object] :filetype
|
97
|
-
# A file type identifier.
|
98
|
-
# @option options [Object] :filename
|
136
|
+
# @option options [string] :filename
|
99
137
|
# Filename of file.
|
100
|
-
# @option options [
|
138
|
+
# @option options [string] :filetype
|
139
|
+
# A file type identifier.
|
140
|
+
# @option options [string] :initial_comment
|
141
|
+
# The message text introducing the file in specified channels.
|
142
|
+
# @option options [string] :thread_ts
|
143
|
+
# Provide another message's ts value to upload this file as a reply. Never use a reply's ts value; use its parent instead.
|
144
|
+
# @option options [string] :title
|
101
145
|
# Title of file.
|
102
|
-
# @option options [Object] :initial_comment
|
103
|
-
# Initial comment to add to file.
|
104
|
-
# @option options [Object] :channels
|
105
|
-
# Comma-separated list of channel names or IDs where the file will be shared.
|
106
146
|
# @see https://api.slack.com/methods/files.upload
|
107
|
-
# @see https://github.com/
|
147
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.upload.json
|
108
148
|
def files_upload(options = {})
|
109
|
-
throw ArgumentError.new('Required arguments :filename missing') if options[:filename].nil?
|
110
149
|
post('files.upload', options)
|
111
150
|
end
|
112
151
|
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,52 +7,19 @@ module Slack
|
|
6
7
|
module Endpoints
|
7
8
|
module FilesComments
|
8
9
|
#
|
9
|
-
#
|
10
|
-
#
|
11
|
-
# @option options [file] :file
|
12
|
-
# File to add a comment to.
|
13
|
-
# @option options [Object] :comment
|
14
|
-
# Text of the comment to add.
|
15
|
-
# @see https://api.slack.com/methods/files.comments.add
|
16
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/files.comments/files.comments.add.json
|
17
|
-
def files_comments_add(options = {})
|
18
|
-
throw ArgumentError.new('Required arguments :file missing') if options[:file].nil?
|
19
|
-
throw ArgumentError.new('Required arguments :comment missing') if options[:comment].nil?
|
20
|
-
post('files.comments.add', options)
|
21
|
-
end
|
22
|
-
|
23
|
-
#
|
24
|
-
# Delete an existing comment on a file. Only the original author of the comment or a Team Administrator may delete a file comment.
|
10
|
+
# Deletes an existing comment on a file.
|
25
11
|
#
|
26
12
|
# @option options [file] :file
|
27
13
|
# File to delete a comment from.
|
28
|
-
# @option options [
|
14
|
+
# @option options [string] :id
|
29
15
|
# The comment to delete.
|
30
16
|
# @see https://api.slack.com/methods/files.comments.delete
|
31
|
-
# @see https://github.com/
|
17
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files.comments/files.comments.delete.json
|
32
18
|
def files_comments_delete(options = {})
|
33
19
|
throw ArgumentError.new('Required arguments :file missing') if options[:file].nil?
|
34
20
|
throw ArgumentError.new('Required arguments :id missing') if options[:id].nil?
|
35
21
|
post('files.comments.delete', options)
|
36
22
|
end
|
37
|
-
|
38
|
-
#
|
39
|
-
# Edit an existing comment on a file. Only the user who created a comment may make edits. Teams may configure a limited time window during which file comment edits are allowed.
|
40
|
-
#
|
41
|
-
# @option options [file] :file
|
42
|
-
# File containing the comment to edit.
|
43
|
-
# @option options [Object] :id
|
44
|
-
# The comment to edit.
|
45
|
-
# @option options [Object] :comment
|
46
|
-
# Text of the comment to edit.
|
47
|
-
# @see https://api.slack.com/methods/files.comments.edit
|
48
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/files.comments/files.comments.edit.json
|
49
|
-
def files_comments_edit(options = {})
|
50
|
-
throw ArgumentError.new('Required arguments :file missing') if options[:file].nil?
|
51
|
-
throw ArgumentError.new('Required arguments :id missing') if options[:id].nil?
|
52
|
-
throw ArgumentError.new('Required arguments :comment missing') if options[:comment].nil?
|
53
|
-
post('files.comments.edit', options)
|
54
|
-
end
|
55
23
|
end
|
56
24
|
end
|
57
25
|
end
|
@@ -0,0 +1,127 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
module Slack
|
5
|
+
module Web
|
6
|
+
module Api
|
7
|
+
module Endpoints
|
8
|
+
module FilesRemote
|
9
|
+
#
|
10
|
+
# Adds a file from a remote service
|
11
|
+
#
|
12
|
+
# @option options [string] :external_id
|
13
|
+
# Creator defined GUID for the file.
|
14
|
+
# @option options [string] :external_url
|
15
|
+
# URL of the remote file.
|
16
|
+
# @option options [string] :title
|
17
|
+
# Title of the file being shared.
|
18
|
+
# @option options [string] :filetype
|
19
|
+
# type of file.
|
20
|
+
# @option options [string] :indexable_file_contents
|
21
|
+
# A text file (txt, pdf, doc, etc.) containing textual search terms that are used to improve discovery of the remote file.
|
22
|
+
# @option options [string] :preview_image
|
23
|
+
# Preview of the document via multipart/form-data.
|
24
|
+
# @see https://api.slack.com/methods/files.remote.add
|
25
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files.remote/files.remote.add.json
|
26
|
+
def files_remote_add(options = {})
|
27
|
+
throw ArgumentError.new('Required arguments :external_id missing') if options[:external_id].nil?
|
28
|
+
throw ArgumentError.new('Required arguments :external_url missing') if options[:external_url].nil?
|
29
|
+
throw ArgumentError.new('Required arguments :title missing') if options[:title].nil?
|
30
|
+
post('files.remote.add', options)
|
31
|
+
end
|
32
|
+
|
33
|
+
#
|
34
|
+
# Retrieve information about a remote file added to Slack
|
35
|
+
#
|
36
|
+
# @option options [string] :external_id
|
37
|
+
# Creator defined GUID for the file.
|
38
|
+
# @option options [file] :file
|
39
|
+
# Specify a file by providing its ID.
|
40
|
+
# @see https://api.slack.com/methods/files.remote.info
|
41
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files.remote/files.remote.info.json
|
42
|
+
def files_remote_info(options = {})
|
43
|
+
post('files.remote.info', options)
|
44
|
+
end
|
45
|
+
|
46
|
+
#
|
47
|
+
# Retrieve information about a remote file added to Slack
|
48
|
+
#
|
49
|
+
# @option options [channel] :channel
|
50
|
+
# Filter files appearing in a specific channel, indicated by its ID.
|
51
|
+
# @option options [string] :cursor
|
52
|
+
# Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first "page" of the collection. See pagination for more detail.
|
53
|
+
# @option options [integer] :limit
|
54
|
+
# The maximum number of items to return.
|
55
|
+
# @option options [string] :ts_from
|
56
|
+
# Filter files created after this timestamp (inclusive).
|
57
|
+
# @option options [string] :ts_to
|
58
|
+
# Filter files created before this timestamp (inclusive).
|
59
|
+
# @see https://api.slack.com/methods/files.remote.list
|
60
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files.remote/files.remote.list.json
|
61
|
+
def files_remote_list(options = {})
|
62
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
63
|
+
if block_given?
|
64
|
+
Pagination::Cursor.new(self, :files_remote_list, options).each do |page|
|
65
|
+
yield page
|
66
|
+
end
|
67
|
+
else
|
68
|
+
post('files.remote.list', options)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
#
|
73
|
+
# Remove a remote file.
|
74
|
+
#
|
75
|
+
# @option options [string] :external_id
|
76
|
+
# Creator defined GUID for the file.
|
77
|
+
# @option options [file] :file
|
78
|
+
# Specify a file by providing its ID.
|
79
|
+
# @see https://api.slack.com/methods/files.remote.remove
|
80
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files.remote/files.remote.remove.json
|
81
|
+
def files_remote_remove(options = {})
|
82
|
+
post('files.remote.remove', options)
|
83
|
+
end
|
84
|
+
|
85
|
+
#
|
86
|
+
# Share a remote file into a channel.
|
87
|
+
#
|
88
|
+
# @option options [string] :channels
|
89
|
+
# Comma-separated list of channel IDs where the file will be shared.
|
90
|
+
# @option options [string] :external_id
|
91
|
+
# The globally unique identifier (GUID) for the file, as set by the app registering the file with Slack. Either this field or file or both are required.
|
92
|
+
# @option options [file] :file
|
93
|
+
# Specify a file registered with Slack by providing its ID. Either this field or external_id or both are required.
|
94
|
+
# @see https://api.slack.com/methods/files.remote.share
|
95
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files.remote/files.remote.share.json
|
96
|
+
def files_remote_share(options = {})
|
97
|
+
throw ArgumentError.new('Required arguments :channels missing') if options[:channels].nil?
|
98
|
+
post('files.remote.share', options)
|
99
|
+
end
|
100
|
+
|
101
|
+
#
|
102
|
+
# Updates an existing remote file.
|
103
|
+
#
|
104
|
+
# @option options [string] :external_id
|
105
|
+
# Creator defined GUID for the file.
|
106
|
+
# @option options [string] :external_url
|
107
|
+
# URL of the remote file.
|
108
|
+
# @option options [file] :file
|
109
|
+
# Specify a file by providing its ID.
|
110
|
+
# @option options [string] :filetype
|
111
|
+
# type of file.
|
112
|
+
# @option options [string] :indexable_file_contents
|
113
|
+
# File containing contents that can be used to improve searchability for the remote file.
|
114
|
+
# @option options [string] :preview_image
|
115
|
+
# Preview of the document via multipart/form-data.
|
116
|
+
# @option options [string] :title
|
117
|
+
# Title of the file being shared.
|
118
|
+
# @see https://api.slack.com/methods/files.remote.update
|
119
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files.remote/files.remote.update.json
|
120
|
+
def files_remote_update(options = {})
|
121
|
+
post('files.remote.update', options)
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
2
3
|
|
3
4
|
module Slack
|
@@ -5,241 +6,6 @@ module Slack
|
|
5
6
|
module Api
|
6
7
|
module Endpoints
|
7
8
|
module Groups
|
8
|
-
#
|
9
|
-
# This method archives a private channel.
|
10
|
-
#
|
11
|
-
# @option options [group] :channel
|
12
|
-
# Private channel to archive.
|
13
|
-
# @see https://api.slack.com/methods/groups.archive
|
14
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/groups/groups.archive.json
|
15
|
-
def groups_archive(options = {})
|
16
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
17
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
18
|
-
post('groups.archive', options)
|
19
|
-
end
|
20
|
-
|
21
|
-
#
|
22
|
-
# This method closes a private channel.
|
23
|
-
#
|
24
|
-
# @option options [group] :channel
|
25
|
-
# Private channel to close.
|
26
|
-
# @see https://api.slack.com/methods/groups.close
|
27
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/groups/groups.close.json
|
28
|
-
def groups_close(options = {})
|
29
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
30
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
31
|
-
post('groups.close', options)
|
32
|
-
end
|
33
|
-
|
34
|
-
#
|
35
|
-
# This method creates a private channel.
|
36
|
-
#
|
37
|
-
# @option options [Object] :name
|
38
|
-
# Name of private channel to create.
|
39
|
-
# @see https://api.slack.com/methods/groups.create
|
40
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/groups/groups.create.json
|
41
|
-
def groups_create(options = {})
|
42
|
-
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
43
|
-
post('groups.create', options)
|
44
|
-
end
|
45
|
-
|
46
|
-
#
|
47
|
-
# This method takes an existing private channel and performs the following steps:
|
48
|
-
#
|
49
|
-
# @option options [group] :channel
|
50
|
-
# Private channel to clone and archive.
|
51
|
-
# @see https://api.slack.com/methods/groups.createChild
|
52
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/groups/groups.createChild.json
|
53
|
-
def groups_createChild(options = {})
|
54
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
55
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
56
|
-
post('groups.createChild', options)
|
57
|
-
end
|
58
|
-
|
59
|
-
#
|
60
|
-
# This method returns a portion of messages/events from the specified private channel.
|
61
|
-
# To read the entire history for a private channel, call the method with no latest or
|
62
|
-
# oldest arguments, and then continue paging using the instructions below.
|
63
|
-
#
|
64
|
-
# @option options [group] :channel
|
65
|
-
# Private channel to fetch history for.
|
66
|
-
# @option options [timestamp] :latest
|
67
|
-
# End of time range of messages to include in results.
|
68
|
-
# @option options [timestamp] :oldest
|
69
|
-
# Start of time range of messages to include in results.
|
70
|
-
# @option options [Object] :inclusive
|
71
|
-
# Include messages with latest or oldest timestamp in results.
|
72
|
-
# @option options [Object] :unreads
|
73
|
-
# Include unread_count_display in the output?.
|
74
|
-
# @see https://api.slack.com/methods/groups.history
|
75
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/groups/groups.history.json
|
76
|
-
def groups_history(options = {})
|
77
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
78
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
79
|
-
post('groups.history', options)
|
80
|
-
end
|
81
|
-
|
82
|
-
#
|
83
|
-
# This method returns information about a private channel.
|
84
|
-
#
|
85
|
-
# @option options [group] :channel
|
86
|
-
# Private channel to get info on.
|
87
|
-
# @see https://api.slack.com/methods/groups.info
|
88
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/groups/groups.info.json
|
89
|
-
def groups_info(options = {})
|
90
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
91
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
92
|
-
post('groups.info', options)
|
93
|
-
end
|
94
|
-
|
95
|
-
#
|
96
|
-
# This method is used to invite a user to a private channel. The calling user must be a member of the private channel.
|
97
|
-
#
|
98
|
-
# @option options [group] :channel
|
99
|
-
# Private channel to invite user to.
|
100
|
-
# @option options [user] :user
|
101
|
-
# User to invite.
|
102
|
-
# @see https://api.slack.com/methods/groups.invite
|
103
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/groups/groups.invite.json
|
104
|
-
def groups_invite(options = {})
|
105
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
106
|
-
throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
|
107
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
108
|
-
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
109
|
-
post('groups.invite', options)
|
110
|
-
end
|
111
|
-
|
112
|
-
#
|
113
|
-
# This method allows a user to remove another member from a private channel.
|
114
|
-
#
|
115
|
-
# @option options [group] :channel
|
116
|
-
# Private channel to remove user from.
|
117
|
-
# @option options [user] :user
|
118
|
-
# User to remove from private channel.
|
119
|
-
# @see https://api.slack.com/methods/groups.kick
|
120
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/groups/groups.kick.json
|
121
|
-
def groups_kick(options = {})
|
122
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
123
|
-
throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
|
124
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
125
|
-
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
126
|
-
post('groups.kick', options)
|
127
|
-
end
|
128
|
-
|
129
|
-
#
|
130
|
-
# This method is used to leave a private channel.
|
131
|
-
#
|
132
|
-
# @option options [group] :channel
|
133
|
-
# Private channel to leave.
|
134
|
-
# @see https://api.slack.com/methods/groups.leave
|
135
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/groups/groups.leave.json
|
136
|
-
def groups_leave(options = {})
|
137
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
138
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
139
|
-
post('groups.leave', options)
|
140
|
-
end
|
141
|
-
|
142
|
-
#
|
143
|
-
# This method returns a list of private channels in the team that the caller is in and archived groups that the caller was in.
|
144
|
-
# The list of (non-deactivated) members in each private channel is also returned.
|
145
|
-
#
|
146
|
-
# @option options [Object] :exclude_archived
|
147
|
-
# Don't return archived private channels.
|
148
|
-
# @see https://api.slack.com/methods/groups.list
|
149
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/groups/groups.list.json
|
150
|
-
def groups_list(options = {})
|
151
|
-
post('groups.list', options)
|
152
|
-
end
|
153
|
-
|
154
|
-
#
|
155
|
-
# This method moves the read cursor in a private channel.
|
156
|
-
#
|
157
|
-
# @option options [group] :channel
|
158
|
-
# Private channel to set reading cursor in.
|
159
|
-
# @option options [timestamp] :ts
|
160
|
-
# Timestamp of the most recently seen message.
|
161
|
-
# @see https://api.slack.com/methods/groups.mark
|
162
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/groups/groups.mark.json
|
163
|
-
def groups_mark(options = {})
|
164
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
165
|
-
throw ArgumentError.new('Required arguments :ts missing') if options[:ts].nil?
|
166
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
167
|
-
post('groups.mark', options)
|
168
|
-
end
|
169
|
-
|
170
|
-
#
|
171
|
-
# This method opens a private channel.
|
172
|
-
#
|
173
|
-
# @option options [group] :channel
|
174
|
-
# Private channel to open.
|
175
|
-
# @see https://api.slack.com/methods/groups.open
|
176
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/groups/groups.open.json
|
177
|
-
def groups_open(options = {})
|
178
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
179
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
180
|
-
post('groups.open', options)
|
181
|
-
end
|
182
|
-
|
183
|
-
#
|
184
|
-
# This method renames a private channel.
|
185
|
-
#
|
186
|
-
# @option options [group] :channel
|
187
|
-
# Private channel to rename.
|
188
|
-
# @option options [Object] :name
|
189
|
-
# New name for private channel.
|
190
|
-
# @see https://api.slack.com/methods/groups.rename
|
191
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/groups/groups.rename.json
|
192
|
-
def groups_rename(options = {})
|
193
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
194
|
-
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
195
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
196
|
-
post('groups.rename', options)
|
197
|
-
end
|
198
|
-
|
199
|
-
#
|
200
|
-
# This method is used to change the purpose of a private channel. The calling user must be a member of the private channel.
|
201
|
-
#
|
202
|
-
# @option options [group] :channel
|
203
|
-
# Private channel to set the purpose of.
|
204
|
-
# @option options [Object] :purpose
|
205
|
-
# The new purpose.
|
206
|
-
# @see https://api.slack.com/methods/groups.setPurpose
|
207
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/groups/groups.setPurpose.json
|
208
|
-
def groups_setPurpose(options = {})
|
209
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
210
|
-
throw ArgumentError.new('Required arguments :purpose missing') if options[:purpose].nil?
|
211
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
212
|
-
post('groups.setPurpose', options)
|
213
|
-
end
|
214
|
-
|
215
|
-
#
|
216
|
-
# This method is used to change the topic of a private channel. The calling user must be a member of the private channel.
|
217
|
-
#
|
218
|
-
# @option options [group] :channel
|
219
|
-
# Private channel to set the topic of.
|
220
|
-
# @option options [Object] :topic
|
221
|
-
# The new topic.
|
222
|
-
# @see https://api.slack.com/methods/groups.setTopic
|
223
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/groups/groups.setTopic.json
|
224
|
-
def groups_setTopic(options = {})
|
225
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
226
|
-
throw ArgumentError.new('Required arguments :topic missing') if options[:topic].nil?
|
227
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
228
|
-
post('groups.setTopic', options)
|
229
|
-
end
|
230
|
-
|
231
|
-
#
|
232
|
-
# This method unarchives a private channel.
|
233
|
-
#
|
234
|
-
# @option options [group] :channel
|
235
|
-
# Private channel to unarchive.
|
236
|
-
# @see https://api.slack.com/methods/groups.unarchive
|
237
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/groups/groups.unarchive.json
|
238
|
-
def groups_unarchive(options = {})
|
239
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
240
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
241
|
-
post('groups.unarchive', options)
|
242
|
-
end
|
243
9
|
end
|
244
10
|
end
|
245
11
|
end
|