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,50 @@
|
|
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 AppsPermissionsUsers
|
9
|
+
#
|
10
|
+
# Returns list of user grants and corresponding scopes this app has on a team.
|
11
|
+
#
|
12
|
+
# @option options [Object] :cursor
|
13
|
+
# 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.
|
14
|
+
# @option options [Object] :limit
|
15
|
+
# The maximum number of items to return.
|
16
|
+
# @see https://api.slack.com/methods/apps.permissions.users.list
|
17
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.permissions.users/apps.permissions.users.list.json
|
18
|
+
def apps_permissions_users_list(options = {})
|
19
|
+
if block_given?
|
20
|
+
Pagination::Cursor.new(self, :apps_permissions_users_list, options).each do |page|
|
21
|
+
yield page
|
22
|
+
end
|
23
|
+
else
|
24
|
+
post('apps.permissions.users.list', options)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
#
|
29
|
+
# Enables an app to trigger a permissions modal to grant an app access to a user access scope.
|
30
|
+
#
|
31
|
+
# @option options [Object] :scopes
|
32
|
+
# A comma separated list of user scopes to request for.
|
33
|
+
# @option options [Object] :trigger_id
|
34
|
+
# Token used to trigger the request.
|
35
|
+
# @option options [user] :user
|
36
|
+
# The user this scope is being requested for.
|
37
|
+
# @see https://api.slack.com/methods/apps.permissions.users.request
|
38
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.permissions.users/apps.permissions.users.request.json
|
39
|
+
def apps_permissions_users_request(options = {})
|
40
|
+
throw ArgumentError.new('Required arguments :scopes missing') if options[:scopes].nil?
|
41
|
+
throw ArgumentError.new('Required arguments :trigger_id missing') if options[:trigger_id].nil?
|
42
|
+
throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
|
43
|
+
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
44
|
+
post('apps.permissions.users.request', options)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
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,10 +7,21 @@ module Slack
|
|
6
7
|
module Endpoints
|
7
8
|
module Auth
|
8
9
|
#
|
9
|
-
#
|
10
|
+
# Revokes a token.
|
11
|
+
#
|
12
|
+
# @option options [boolean] :test
|
13
|
+
# Setting this parameter to 1 triggers a testing mode where the specified token will not actually be revoked.
|
14
|
+
# @see https://api.slack.com/methods/auth.revoke
|
15
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/auth/auth.revoke.json
|
16
|
+
def auth_revoke(options = {})
|
17
|
+
post('auth.revoke', options)
|
18
|
+
end
|
19
|
+
|
20
|
+
#
|
21
|
+
# Checks authentication & identity.
|
10
22
|
#
|
11
23
|
# @see https://api.slack.com/methods/auth.test
|
12
|
-
# @see https://github.com/
|
24
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/auth/auth.test.json
|
13
25
|
def auth_test(options = {})
|
14
26
|
post('auth.test', options)
|
15
27
|
end
|
@@ -0,0 +1,33 @@
|
|
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 AuthTeams
|
9
|
+
#
|
10
|
+
# List the workspaces a token can access.
|
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 [boolean] :include_icon
|
15
|
+
# Whether to return icon paths for each workspace. An icon path represents a URI pointing to the image signifying the workspace.
|
16
|
+
# @option options [integer] :limit
|
17
|
+
# The maximum number of workspaces to return. Must be a positive integer no larger than 1000.
|
18
|
+
# @see https://api.slack.com/methods/auth.teams.list
|
19
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/auth.teams/auth.teams.list.json
|
20
|
+
def auth_teams_list(options = {})
|
21
|
+
if block_given?
|
22
|
+
Pagination::Cursor.new(self, :auth_teams_list, options).each do |page|
|
23
|
+
yield page
|
24
|
+
end
|
25
|
+
else
|
26
|
+
post('auth.teams.list', options)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,25 @@
|
|
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 Bots
|
9
|
+
#
|
10
|
+
# Gets information about a bot user.
|
11
|
+
#
|
12
|
+
# @option options [user] :bot
|
13
|
+
# Bot user to get info on.
|
14
|
+
# @option options [team] :team_id
|
15
|
+
# encoded team id or enterprise id where the bot exists, required if org token is used.
|
16
|
+
# @see https://api.slack.com/methods/bots.info
|
17
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/bots/bots.info.json
|
18
|
+
def bots_info(options = {})
|
19
|
+
post('bots.info', options)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,83 @@
|
|
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 Calls
|
9
|
+
#
|
10
|
+
# Registers a new Call.
|
11
|
+
#
|
12
|
+
# @option options [string] :external_unique_id
|
13
|
+
# An ID supplied by the 3rd-party Call provider. It must be unique across all Calls from that service.
|
14
|
+
# @option options [string] :join_url
|
15
|
+
# The URL required for a client to join the Call.
|
16
|
+
# @option options [string] :created_by
|
17
|
+
# The valid Slack user ID of the user who created this Call. When this method is called with a user token, the created_by field is optional and defaults to the authed user of the token. Otherwise, the field is required.
|
18
|
+
# @option options [integer] :date_start
|
19
|
+
# Call start time in UTC UNIX timestamp format.
|
20
|
+
# @option options [string] :desktop_app_join_url
|
21
|
+
# When supplied, available Slack clients will attempt to directly launch the 3rd-party Call with this URL.
|
22
|
+
# @option options [string] :external_display_id
|
23
|
+
# An optional, human-readable ID supplied by the 3rd-party Call provider. If supplied, this ID will be displayed in the Call object.
|
24
|
+
# @option options [string] :title
|
25
|
+
# The name of the Call.
|
26
|
+
# @option options [array] :users
|
27
|
+
# The list of users to register as participants in the Call. Read more on how to specify users here.
|
28
|
+
# @see https://api.slack.com/methods/calls.add
|
29
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/calls/calls.add.json
|
30
|
+
def calls_add(options = {})
|
31
|
+
throw ArgumentError.new('Required arguments :external_unique_id missing') if options[:external_unique_id].nil?
|
32
|
+
throw ArgumentError.new('Required arguments :join_url missing') if options[:join_url].nil?
|
33
|
+
post('calls.add', options)
|
34
|
+
end
|
35
|
+
|
36
|
+
#
|
37
|
+
# Ends a Call.
|
38
|
+
#
|
39
|
+
# @option options [string] :id
|
40
|
+
# id returned when registering the call using the calls.add method.
|
41
|
+
# @option options [integer] :duration
|
42
|
+
# Call duration in seconds.
|
43
|
+
# @see https://api.slack.com/methods/calls.end
|
44
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/calls/calls.end.json
|
45
|
+
def calls_end(options = {})
|
46
|
+
throw ArgumentError.new('Required arguments :id missing') if options[:id].nil?
|
47
|
+
post('calls.end', options)
|
48
|
+
end
|
49
|
+
|
50
|
+
#
|
51
|
+
# Returns information about a Call.
|
52
|
+
#
|
53
|
+
# @option options [string] :id
|
54
|
+
# id of the Call returned by the calls.add method.
|
55
|
+
# @see https://api.slack.com/methods/calls.info
|
56
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/calls/calls.info.json
|
57
|
+
def calls_info(options = {})
|
58
|
+
throw ArgumentError.new('Required arguments :id missing') if options[:id].nil?
|
59
|
+
post('calls.info', options)
|
60
|
+
end
|
61
|
+
|
62
|
+
#
|
63
|
+
# Updates information about a Call.
|
64
|
+
#
|
65
|
+
# @option options [string] :id
|
66
|
+
# id returned by the calls.add method.
|
67
|
+
# @option options [string] :desktop_app_join_url
|
68
|
+
# When supplied, available Slack clients will attempt to directly launch the 3rd-party Call with this URL.
|
69
|
+
# @option options [string] :join_url
|
70
|
+
# The URL required for a client to join the Call.
|
71
|
+
# @option options [string] :title
|
72
|
+
# The name of the Call.
|
73
|
+
# @see https://api.slack.com/methods/calls.update
|
74
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/calls/calls.update.json
|
75
|
+
def calls_update(options = {})
|
76
|
+
throw ArgumentError.new('Required arguments :id missing') if options[:id].nil?
|
77
|
+
post('calls.update', options)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
module Slack
|
5
|
+
module Web
|
6
|
+
module Api
|
7
|
+
module Endpoints
|
8
|
+
module CallsParticipants
|
9
|
+
#
|
10
|
+
# Registers new participants added to a Call.
|
11
|
+
#
|
12
|
+
# @option options [string] :id
|
13
|
+
# id returned by the calls.add method.
|
14
|
+
# @option options [array] :users
|
15
|
+
# The list of users to add as participants in the Call. Read more on how to specify users here.
|
16
|
+
# @see https://api.slack.com/methods/calls.participants.add
|
17
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/calls.participants/calls.participants.add.json
|
18
|
+
def calls_participants_add(options = {})
|
19
|
+
throw ArgumentError.new('Required arguments :id missing') if options[:id].nil?
|
20
|
+
throw ArgumentError.new('Required arguments :users missing') if options[:users].nil?
|
21
|
+
post('calls.participants.add', options)
|
22
|
+
end
|
23
|
+
|
24
|
+
#
|
25
|
+
# Registers participants removed from a Call.
|
26
|
+
#
|
27
|
+
# @option options [string] :id
|
28
|
+
# id returned by the calls.add method.
|
29
|
+
# @option options [array] :users
|
30
|
+
# The list of users to remove as participants in the Call. Read more on how to specify users here.
|
31
|
+
# @see https://api.slack.com/methods/calls.participants.remove
|
32
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/calls.participants/calls.participants.remove.json
|
33
|
+
def calls_participants_remove(options = {})
|
34
|
+
throw ArgumentError.new('Required arguments :id missing') if options[:id].nil?
|
35
|
+
throw ArgumentError.new('Required arguments :users missing') if options[:users].nil?
|
36
|
+
post('calls.participants.remove', options)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
2
3
|
|
3
4
|
module Slack
|
@@ -6,210 +7,16 @@ module Slack
|
|
6
7
|
module Endpoints
|
7
8
|
module Channels
|
8
9
|
#
|
9
|
-
#
|
10
|
+
# Delete a channel (undocumented)
|
10
11
|
#
|
11
12
|
# @option options [channel] :channel
|
12
|
-
# Channel to
|
13
|
-
# @see https://
|
14
|
-
|
15
|
-
def channels_archive(options = {})
|
13
|
+
# Channel to delete.
|
14
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/undocumented/channels/channels.delete.json
|
15
|
+
def channels_delete(options = {})
|
16
16
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
17
|
-
options = options.merge(channel:
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
#
|
22
|
-
# This method is used to create a channel.
|
23
|
-
#
|
24
|
-
# @option options [Object] :name
|
25
|
-
# Name of channel to create.
|
26
|
-
# @see https://api.slack.com/methods/channels.create
|
27
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/channels/channels.create.json
|
28
|
-
def channels_create(options = {})
|
29
|
-
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
30
|
-
post('channels.create', options)
|
31
|
-
end
|
32
|
-
|
33
|
-
#
|
34
|
-
# This method returns a portion of message events from the specified channel.
|
35
|
-
#
|
36
|
-
# @option options [channel] :channel
|
37
|
-
# Channel to fetch history for.
|
38
|
-
# @option options [timestamp] :latest
|
39
|
-
# End of time range of messages to include in results.
|
40
|
-
# @option options [timestamp] :oldest
|
41
|
-
# Start of time range of messages to include in results.
|
42
|
-
# @option options [Object] :inclusive
|
43
|
-
# Include messages with latest or oldest timestamp in results.
|
44
|
-
# @option options [Object] :unreads
|
45
|
-
# Include unread_count_display in the output?.
|
46
|
-
# @see https://api.slack.com/methods/channels.history
|
47
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/channels/channels.history.json
|
48
|
-
def channels_history(options = {})
|
49
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
50
|
-
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
51
|
-
post('channels.history', options)
|
52
|
-
end
|
53
|
-
|
54
|
-
#
|
55
|
-
# This method returns information about a team channel.
|
56
|
-
#
|
57
|
-
# @option options [channel] :channel
|
58
|
-
# Channel to get info on.
|
59
|
-
# @see https://api.slack.com/methods/channels.info
|
60
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/channels/channels.info.json
|
61
|
-
def channels_info(options = {})
|
62
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
63
|
-
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
64
|
-
post('channels.info', options)
|
65
|
-
end
|
66
|
-
|
67
|
-
#
|
68
|
-
# This method is used to invite a user to a channel. The calling user must be a member of the channel.
|
69
|
-
#
|
70
|
-
# @option options [channel] :channel
|
71
|
-
# Channel to invite user to.
|
72
|
-
# @option options [user] :user
|
73
|
-
# User to invite to channel.
|
74
|
-
# @see https://api.slack.com/methods/channels.invite
|
75
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/channels/channels.invite.json
|
76
|
-
def channels_invite(options = {})
|
77
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
78
|
-
throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
|
79
|
-
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
80
|
-
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
81
|
-
post('channels.invite', options)
|
82
|
-
end
|
83
|
-
|
84
|
-
#
|
85
|
-
# This method is used to join a channel. If the channel does not exist, it is
|
86
|
-
# created.
|
87
|
-
#
|
88
|
-
# @option options [Object] :name
|
89
|
-
# Name of channel to join.
|
90
|
-
# @see https://api.slack.com/methods/channels.join
|
91
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/channels/channels.join.json
|
92
|
-
def channels_join(options = {})
|
93
|
-
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
94
|
-
post('channels.join', options)
|
95
|
-
end
|
96
|
-
|
97
|
-
#
|
98
|
-
# This method allows a user to remove another member from a team channel.
|
99
|
-
#
|
100
|
-
# @option options [channel] :channel
|
101
|
-
# Channel to remove user from.
|
102
|
-
# @option options [user] :user
|
103
|
-
# User to remove from channel.
|
104
|
-
# @see https://api.slack.com/methods/channels.kick
|
105
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/channels/channels.kick.json
|
106
|
-
def channels_kick(options = {})
|
107
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
108
|
-
throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
|
109
|
-
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
110
|
-
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
111
|
-
post('channels.kick', options)
|
112
|
-
end
|
113
|
-
|
114
|
-
#
|
115
|
-
# This method is used to leave a channel.
|
116
|
-
#
|
117
|
-
# @option options [channel] :channel
|
118
|
-
# Channel to leave.
|
119
|
-
# @see https://api.slack.com/methods/channels.leave
|
120
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/channels/channels.leave.json
|
121
|
-
def channels_leave(options = {})
|
122
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
123
|
-
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
124
|
-
post('channels.leave', options)
|
125
|
-
end
|
126
|
-
|
127
|
-
#
|
128
|
-
# This method returns a list of all channels in the team. This includes channels the caller is in, channels they are not currently in, and archived channels but does not include private channels. The number of (non-deactivated) members in each channel is also returned.
|
129
|
-
#
|
130
|
-
# @option options [Object] :exclude_archived
|
131
|
-
# Don't return archived channels.
|
132
|
-
# @see https://api.slack.com/methods/channels.list
|
133
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/channels/channels.list.json
|
134
|
-
def channels_list(options = {})
|
135
|
-
post('channels.list', options)
|
136
|
-
end
|
137
|
-
|
138
|
-
#
|
139
|
-
# This method moves the read cursor in a channel.
|
140
|
-
#
|
141
|
-
# @option options [channel] :channel
|
142
|
-
# Channel to set reading cursor in.
|
143
|
-
# @option options [timestamp] :ts
|
144
|
-
# Timestamp of the most recently seen message.
|
145
|
-
# @see https://api.slack.com/methods/channels.mark
|
146
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/channels/channels.mark.json
|
147
|
-
def channels_mark(options = {})
|
148
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
149
|
-
throw ArgumentError.new('Required arguments :ts missing') if options[:ts].nil?
|
150
|
-
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
151
|
-
post('channels.mark', options)
|
152
|
-
end
|
153
|
-
|
154
|
-
#
|
155
|
-
# This method renames a team channel.
|
156
|
-
#
|
157
|
-
# @option options [channel] :channel
|
158
|
-
# Channel to rename.
|
159
|
-
# @option options [Object] :name
|
160
|
-
# New name for channel.
|
161
|
-
# @see https://api.slack.com/methods/channels.rename
|
162
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/channels/channels.rename.json
|
163
|
-
def channels_rename(options = {})
|
164
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
165
|
-
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
166
|
-
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
167
|
-
post('channels.rename', options)
|
168
|
-
end
|
169
|
-
|
170
|
-
#
|
171
|
-
# This method is used to change the purpose of a channel. The calling user must be a member of the channel.
|
172
|
-
#
|
173
|
-
# @option options [channel] :channel
|
174
|
-
# Channel to set the purpose of.
|
175
|
-
# @option options [Object] :purpose
|
176
|
-
# The new purpose.
|
177
|
-
# @see https://api.slack.com/methods/channels.setPurpose
|
178
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/channels/channels.setPurpose.json
|
179
|
-
def channels_setPurpose(options = {})
|
180
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
181
|
-
throw ArgumentError.new('Required arguments :purpose missing') if options[:purpose].nil?
|
182
|
-
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
183
|
-
post('channels.setPurpose', options)
|
184
|
-
end
|
185
|
-
|
186
|
-
#
|
187
|
-
# This method is used to change the topic of a channel. The calling user must be a member of the channel.
|
188
|
-
#
|
189
|
-
# @option options [channel] :channel
|
190
|
-
# Channel to set the topic of.
|
191
|
-
# @option options [Object] :topic
|
192
|
-
# The new topic.
|
193
|
-
# @see https://api.slack.com/methods/channels.setTopic
|
194
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/channels/channels.setTopic.json
|
195
|
-
def channels_setTopic(options = {})
|
196
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
197
|
-
throw ArgumentError.new('Required arguments :topic missing') if options[:topic].nil?
|
198
|
-
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
199
|
-
post('channels.setTopic', options)
|
200
|
-
end
|
201
|
-
|
202
|
-
#
|
203
|
-
# This method unarchives a channel. The calling user is added to the channel.
|
204
|
-
#
|
205
|
-
# @option options [channel] :channel
|
206
|
-
# Channel to unarchive.
|
207
|
-
# @see https://api.slack.com/methods/channels.unarchive
|
208
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/channels/channels.unarchive.json
|
209
|
-
def channels_unarchive(options = {})
|
210
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
211
|
-
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
212
|
-
post('channels.unarchive', options)
|
17
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
18
|
+
logger.warn('The channels.delete method is undocumented.')
|
19
|
+
post('channels.delete', options)
|
213
20
|
end
|
214
21
|
end
|
215
22
|
end
|