slack-ruby-client 0.7.9 → 0.16.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/.rubocop.yml +32 -1
- data/.rubocop_todo.yml +98 -49
- data/.travis.yml +10 -14
- data/CHANGELOG.md +172 -24
- data/CONTRIBUTING.md +17 -6
- data/Dangerfile +2 -0
- data/Gemfile +10 -4
- data/LICENSE.md +1 -1
- data/README.md +276 -54
- data/RELEASING.md +19 -11
- data/Rakefile +2 -1
- data/UPGRADING.md +84 -2
- data/bin/commands.rb +43 -1
- data/bin/commands/admin_analytics.rb +15 -0
- data/bin/commands/admin_apps.rb +40 -0
- data/bin/commands/admin_apps_approved.rb +17 -0
- data/bin/commands/admin_apps_requests.rb +16 -0
- data/bin/commands/admin_apps_restricted.rb +17 -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 +97 -0
- data/bin/commands/admin_users_session.rb +38 -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_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 +5 -4
- data/bin/commands/auth_teams.rb +16 -0
- data/bin/commands/bots.rb +4 -2
- data/bin/commands/calls.rb +52 -0
- data/bin/commands/calls_participants.rb +25 -0
- data/bin/commands/channels.rb +64 -43
- data/bin/commands/chat.rb +114 -24
- data/bin/commands/chat_scheduledMessages.rb +19 -0
- data/bin/commands/conversations.rb +196 -0
- data/bin/commands/dialog.rb +15 -0
- data/bin/commands/dnd.rb +9 -8
- data/bin/commands/emoji.rb +3 -2
- data/bin/commands/files.rb +45 -30
- data/bin/commands/files_comments.rb +3 -24
- data/bin/commands/files_remote.rb +78 -0
- data/bin/commands/groups.rb +53 -53
- data/bin/commands/im.rb +17 -13
- data/bin/commands/migration.rb +16 -0
- data/bin/commands/mpim.rb +16 -13
- data/bin/commands/oauth.rb +17 -2
- data/bin/commands/oauth_v2.rb +17 -0
- data/bin/commands/pins.rb +7 -10
- data/bin/commands/reactions.rb +17 -15
- data/bin/commands/reminders.rb +11 -10
- data/bin/commands/rtm.rb +19 -4
- data/bin/commands/search.rb +15 -11
- data/bin/commands/stars.rb +11 -8
- data/bin/commands/team.rb +15 -10
- data/bin/commands/team_profile.rb +3 -2
- data/bin/commands/usergroups.rb +22 -16
- data/bin/commands/usergroups_users.rb +7 -4
- data/bin/commands/users.rb +65 -37
- data/bin/commands/users_admin.rb +29 -0
- data/bin/commands/users_prefs.rb +13 -0
- data/bin/commands/users_profile.rb +8 -7
- data/bin/commands/views.rb +48 -0
- data/bin/commands/workflows.rb +38 -0
- 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_eventmachine → hi_real_time_async_async}/Gemfile +2 -1
- data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Procfile +0 -0
- data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/hi.rb +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 +2 -1
- data/lib/slack-ruby-client.rb +40 -26
- data/lib/slack.rb +1 -0
- data/lib/slack/config.rb +1 -0
- data/lib/slack/events/config.rb +32 -0
- data/lib/slack/events/request.rb +70 -0
- data/lib/slack/logger.rb +6 -5
- data/lib/slack/messages/formatting.rb +4 -4
- data/lib/slack/messages/message.rb +2 -6
- 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 +113 -32
- data/lib/slack/real_time/concurrency.rb +2 -2
- data/lib/slack/real_time/concurrency/async.rb +140 -0
- data/lib/slack/real_time/config.rb +20 -12
- data/lib/slack/real_time/models.rb +8 -7
- data/lib/slack/real_time/models/base.rb +2 -6
- 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/socket.rb +46 -17
- data/lib/slack/real_time/stores.rb +4 -3
- data/lib/slack/real_time/stores/base.rb +5 -3
- data/lib/slack/real_time/stores/starter.rb +113 -72
- data/lib/slack/real_time/stores/store.rb +131 -88
- data/lib/slack/version.rb +2 -1
- data/lib/slack/web/api/endpoints.rb +110 -26
- data/lib/slack/web/api/endpoints/admin_analytics.rb +26 -0
- data/lib/slack/web/api/endpoints/admin_apps.rb +62 -0
- data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_apps_requests.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -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 +161 -0
- data/lib/slack/web/api/endpoints/admin_users_session.rb +66 -0
- data/lib/slack/web/api/endpoints/api.rb +3 -4
- 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_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 +5 -4
- data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
- data/lib/slack/web/api/endpoints/bots.rb +5 -2
- 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 +105 -49
- data/lib/slack/web/api/endpoints/chat.rb +221 -40
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
- data/lib/slack/web/api/endpoints/conversations.rb +332 -0
- data/lib/slack/web/api/endpoints/dialog.rb +33 -0
- data/lib/slack/web/api/endpoints/dnd.rb +11 -9
- data/lib/slack/web/api/endpoints/emoji.rb +3 -2
- data/lib/slack/web/api/endpoints/files.rb +75 -38
- data/lib/slack/web/api/endpoints/files_comments.rb +3 -38
- data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
- data/lib/slack/web/api/endpoints/groups.rb +76 -53
- data/lib/slack/web/api/endpoints/im.rb +38 -21
- data/lib/slack/web/api/endpoints/migration.rb +28 -0
- data/lib/slack/web/api/endpoints/mpim.rb +37 -22
- data/lib/slack/web/api/endpoints/oauth.rb +25 -4
- data/lib/slack/web/api/endpoints/oauth_v2.rb +30 -0
- data/lib/slack/web/api/endpoints/pins.rb +10 -19
- data/lib/slack/web/api/endpoints/presence.rb +1 -1
- data/lib/slack/web/api/endpoints/reactions.rb +37 -28
- data/lib/slack/web/api/endpoints/reminders.rb +11 -10
- data/lib/slack/web/api/endpoints/rtm.rb +28 -7
- data/lib/slack/web/api/endpoints/search.rb +21 -14
- data/lib/slack/web/api/endpoints/stars.rb +24 -15
- data/lib/slack/web/api/endpoints/team.rb +21 -13
- data/lib/slack/web/api/endpoints/team_profile.rb +3 -2
- data/lib/slack/web/api/endpoints/usergroups.rb +33 -22
- data/lib/slack/web/api/endpoints/usergroups_users.rb +9 -4
- data/lib/slack/web/api/endpoints/users.rb +78 -29
- 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 +11 -10
- 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/error.rb +2 -8
- data/lib/slack/web/api/errors.rb +850 -0
- data/lib/slack/web/api/errors/internal_error.rb +14 -0
- data/lib/slack/web/api/errors/slack_error.rb +29 -0
- data/lib/slack/web/api/errors/too_many_requests_error.rb +24 -0
- data/lib/slack/web/api/mixins.rb +6 -4
- data/lib/slack/web/api/mixins/channels.id.rb +6 -7
- data/lib/slack/web/api/mixins/conversations.id.rb +25 -0
- data/lib/slack/web/api/mixins/groups.id.rb +6 -7
- 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/patches/chat.1.patch +72 -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 -3
- 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 +2 -0
- data/lib/slack/web/faraday/response/raise_error.rb +23 -1
- data/lib/slack/web/faraday/response/wrap_error.rb +18 -0
- data/lib/slack/web/pagination/cursor.rb +52 -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 +38 -10
- data/screenshots/create-app.png +0 -0
- data/slack-ruby-client.gemspec +9 -6
- data/spec/fixtures/slack/web/429_error.yml +2 -0
- data/spec/fixtures/slack/web/503_error.yml +14 -0
- data/spec/fixtures/slack/web/channels_info.yml +108 -15
- data/spec/fixtures/slack/web/conversations_setTopic.yml +69 -0
- data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +142 -0
- data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +208 -0
- data/spec/fixtures/slack/web/paginated_users_list.yml +181 -0
- data/spec/fixtures/slack/web/rtm_connect.yml +70 -0
- data/spec/fixtures/slack/web/rtm_start.yml +1 -1
- data/spec/fixtures/slack/web/views_open_error.yml +76 -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 +183 -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 +462 -134
- data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +3 -1
- data/spec/slack/real_time/event_handlers/bot_spec.rb +6 -3
- data/spec/slack/real_time/event_handlers/channel_spec.rb +9 -6
- 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 +4 -3
- data/spec/slack/real_time/event_handlers/team_spec.rb +8 -4
- data/spec/slack/real_time/event_handlers/user_spec.rb +5 -2
- data/spec/slack/real_time/rtm_connect_spec.rb +14 -0
- data/spec/slack/real_time/rtm_start_spec.rb +1 -0
- data/spec/slack/real_time/store_spec.rb +2 -1
- data/spec/slack/slack_spec.rb +39 -7
- 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 +13 -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_conversations_whitelist_spec.rb +32 -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 +21 -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_permissions_resources_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/apps_permissions_scopes_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +19 -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 +1 -0
- data/spec/slack/web/api/endpoints/calls_participants_spec.rb +24 -0
- data/spec/slack/web/api/endpoints/calls_spec.rb +31 -0
- data/spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/conversations_spec.rb +109 -0
- data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +13 -4
- data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +5 -3
- data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +140 -24
- data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +36 -0
- data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +2 -0
- data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +21 -6
- data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +95 -0
- data/spec/slack/web/api/endpoints/dnd_spec.rb +6 -0
- 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/im_spec.rb +5 -4
- data/spec/slack/web/api/endpoints/migration_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/mpim_spec.rb +5 -4
- data/spec/slack/web/api/endpoints/oauth_spec.rb +5 -4
- data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +13 -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_profile_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/team_spec.rb +1 -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 +1 -0
- data/spec/slack/web/api/endpoints/views_spec.rb +29 -0
- data/spec/slack/web/api/endpoints/workflows_spec.rb +26 -0
- data/spec/slack/web/api/error_spec.rb +5 -3
- data/spec/slack/web/api/errors/slack_error_spec.rb +38 -0
- data/spec/slack/web/api/mixins/channels_spec.rb +24 -12
- 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/groups_spec.rb +24 -12
- data/spec/slack/web/api/mixins/users_spec.rb +30 -17
- data/spec/slack/web/api/pagination/cursor_spec.rb +100 -0
- data/spec/slack/web/client_spec.rb +215 -14
- data/spec/slack/web/faraday/response/raise_error_spec.rb +85 -0
- data/spec/spec_helper.rb +8 -1
- 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 +13 -2
- data/spec/support/real_time/event.rb +1 -0
- data/spec/support/token.rb +1 -0
- data/spec/support/vcr.rb +6 -1
- metadata +280 -55
- data/examples/hi_real_time/Gemfile +0 -5
- data/examples/hi_real_time/hi.gif +0 -0
- data/examples/hi_real_time/hi.rb +0 -37
- data/examples/hi_real_time_async_celluloid/Gemfile +0 -6
- data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
- data/examples/hi_real_time_async_eventmachine/hi.rb +0 -36
- data/lib/slack/real_time/concurrency/celluloid.rb +0 -113
- data/lib/slack/real_time/concurrency/eventmachine.rb +0 -60
- 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/slack/real_time/concurrency/celluloid_spec.rb +0 -31
- data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -47
|
@@ -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,10 @@ module Slack
|
|
|
6
7
|
module Endpoints
|
|
7
8
|
module Emoji
|
|
8
9
|
#
|
|
9
|
-
#
|
|
10
|
+
# Lists custom emoji for a team.
|
|
10
11
|
#
|
|
11
12
|
# @see https://api.slack.com/methods/emoji.list
|
|
12
|
-
# @see https://github.com/
|
|
13
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/emoji/emoji.list.json
|
|
13
14
|
def emoji_list(options = {})
|
|
14
15
|
post('emoji.list', options)
|
|
15
16
|
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,107 +7,143 @@ 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 [Object] :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 [Object] :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.
|
|
65
|
+
# @option options [Object] :show_files_hidden_by_limit
|
|
66
|
+
# Show truncated file info for files hidden due to being too old, and the team who owns the file being over the file limit.
|
|
67
|
+
# @option options [Object] :team_id
|
|
68
|
+
# encoded team id to list files in, required if org token is used.
|
|
39
69
|
# @option options [Object] :ts_from
|
|
40
70
|
# Filter files created after this timestamp (inclusive).
|
|
41
71
|
# @option options [Object] :ts_to
|
|
42
72
|
# Filter files created before this timestamp (inclusive).
|
|
43
73
|
# @option options [Object] :types
|
|
44
|
-
# Filter files by type
|
|
45
|
-
#
|
|
46
|
-
#
|
|
47
|
-
# spaces - 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=spaces,snippets.The default value is all, which does not filter the list.
|
|
56
|
-
# .
|
|
74
|
+
# 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.
|
|
75
|
+
# @option options [user] :user
|
|
76
|
+
# Filter files created by a single user.
|
|
57
77
|
# @see https://api.slack.com/methods/files.list
|
|
58
|
-
# @see https://github.com/
|
|
78
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.list.json
|
|
59
79
|
def files_list(options = {})
|
|
60
|
-
options = options.merge(channel:
|
|
80
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
61
81
|
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
|
62
82
|
post('files.list', options)
|
|
63
83
|
end
|
|
64
84
|
|
|
65
85
|
#
|
|
66
|
-
#
|
|
86
|
+
# Revokes public/external sharing access for a file
|
|
67
87
|
#
|
|
68
88
|
# @option options [file] :file
|
|
69
89
|
# File to revoke.
|
|
70
90
|
# @see https://api.slack.com/methods/files.revokePublicURL
|
|
71
|
-
# @see https://github.com/
|
|
91
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.revokePublicURL.json
|
|
72
92
|
def files_revokePublicURL(options = {})
|
|
73
93
|
throw ArgumentError.new('Required arguments :file missing') if options[:file].nil?
|
|
74
94
|
post('files.revokePublicURL', options)
|
|
75
95
|
end
|
|
76
96
|
|
|
77
97
|
#
|
|
78
|
-
#
|
|
98
|
+
# Share an existing file in a channel (undocumented)
|
|
99
|
+
#
|
|
100
|
+
# @option options [Object] :file
|
|
101
|
+
# ID of the file to be shared
|
|
102
|
+
# @option options [channel] :channel
|
|
103
|
+
# Channel to share the file in. Works with both public (channel ID) and private channels (group ID).
|
|
104
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/undocumented/files/files.share.json
|
|
105
|
+
def files_share(options = {})
|
|
106
|
+
throw ArgumentError.new('Required arguments :file missing') if options[:file].nil?
|
|
107
|
+
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
108
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
109
|
+
logger.warn('The files.share method is undocumented.')
|
|
110
|
+
post('files.share', options)
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
#
|
|
114
|
+
# Enables a file for public/external sharing.
|
|
79
115
|
#
|
|
80
116
|
# @option options [file] :file
|
|
81
117
|
# File to share.
|
|
82
118
|
# @see https://api.slack.com/methods/files.sharedPublicURL
|
|
83
|
-
# @see https://github.com/
|
|
119
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.sharedPublicURL.json
|
|
84
120
|
def files_sharedPublicURL(options = {})
|
|
85
121
|
throw ArgumentError.new('Required arguments :file missing') if options[:file].nil?
|
|
86
122
|
post('files.sharedPublicURL', options)
|
|
87
123
|
end
|
|
88
124
|
|
|
89
125
|
#
|
|
90
|
-
#
|
|
126
|
+
# Uploads or creates a file.
|
|
91
127
|
#
|
|
92
|
-
# @option options [
|
|
93
|
-
#
|
|
128
|
+
# @option options [Object] :channels
|
|
129
|
+
# Comma-separated list of channel names or IDs where the file will be shared.
|
|
94
130
|
# @option options [Object] :content
|
|
95
131
|
# File contents via a POST variable. If omitting this parameter, you must provide a file.
|
|
96
|
-
# @option options [
|
|
97
|
-
#
|
|
132
|
+
# @option options [file] :file
|
|
133
|
+
# File contents via multipart/form-data. If omitting this parameter, you must submit content.
|
|
98
134
|
# @option options [Object] :filename
|
|
99
135
|
# Filename of file.
|
|
136
|
+
# @option options [Object] :filetype
|
|
137
|
+
# A file type identifier.
|
|
138
|
+
# @option options [Object] :initial_comment
|
|
139
|
+
# The message text introducing the file in specified channels.
|
|
140
|
+
# @option options [Object] :thread_ts
|
|
141
|
+
# Provide another message's ts value to upload this file as a reply. Never use a reply's ts value; use its parent instead.
|
|
100
142
|
# @option options [Object] :title
|
|
101
143
|
# 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
144
|
# @see https://api.slack.com/methods/files.upload
|
|
107
|
-
# @see https://github.com/
|
|
145
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.upload.json
|
|
108
146
|
def files_upload(options = {})
|
|
109
|
-
throw ArgumentError.new('Required arguments :filename missing') if options[:filename].nil?
|
|
110
147
|
post('files.upload', options)
|
|
111
148
|
end
|
|
112
149
|
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,55 +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
|
-
# @option options [channel] :channel
|
|
16
|
-
# Channel id (encoded) of which location to associate with the new comment.
|
|
17
|
-
# @see https://api.slack.com/methods/files.comments.add
|
|
18
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/files.comments/files.comments.add.json
|
|
19
|
-
def files_comments_add(options = {})
|
|
20
|
-
throw ArgumentError.new('Required arguments :file missing') if options[:file].nil?
|
|
21
|
-
throw ArgumentError.new('Required arguments :comment missing') if options[:comment].nil?
|
|
22
|
-
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
|
23
|
-
post('files.comments.add', options)
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
#
|
|
27
|
-
# 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.
|
|
28
11
|
#
|
|
29
12
|
# @option options [file] :file
|
|
30
13
|
# File to delete a comment from.
|
|
31
14
|
# @option options [Object] :id
|
|
32
15
|
# The comment to delete.
|
|
33
16
|
# @see https://api.slack.com/methods/files.comments.delete
|
|
34
|
-
# @see https://github.com/
|
|
17
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files.comments/files.comments.delete.json
|
|
35
18
|
def files_comments_delete(options = {})
|
|
36
19
|
throw ArgumentError.new('Required arguments :file missing') if options[:file].nil?
|
|
37
20
|
throw ArgumentError.new('Required arguments :id missing') if options[:id].nil?
|
|
38
21
|
post('files.comments.delete', options)
|
|
39
22
|
end
|
|
40
|
-
|
|
41
|
-
#
|
|
42
|
-
# 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.
|
|
43
|
-
#
|
|
44
|
-
# @option options [file] :file
|
|
45
|
-
# File containing the comment to edit.
|
|
46
|
-
# @option options [Object] :id
|
|
47
|
-
# The comment to edit.
|
|
48
|
-
# @option options [Object] :comment
|
|
49
|
-
# Text of the comment to edit.
|
|
50
|
-
# @see https://api.slack.com/methods/files.comments.edit
|
|
51
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/files.comments/files.comments.edit.json
|
|
52
|
-
def files_comments_edit(options = {})
|
|
53
|
-
throw ArgumentError.new('Required arguments :file missing') if options[:file].nil?
|
|
54
|
-
throw ArgumentError.new('Required arguments :id missing') if options[:id].nil?
|
|
55
|
-
throw ArgumentError.new('Required arguments :comment missing') if options[:comment].nil?
|
|
56
|
-
post('files.comments.edit', options)
|
|
57
|
-
end
|
|
58
23
|
end
|
|
59
24
|
end
|
|
60
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 [Object] :external_id
|
|
13
|
+
# Creator defined GUID for the file.
|
|
14
|
+
# @option options [Object] :external_url
|
|
15
|
+
# URL of the remote file.
|
|
16
|
+
# @option options [Object] :title
|
|
17
|
+
# Title of the file being shared.
|
|
18
|
+
# @option options [Object] :filetype
|
|
19
|
+
# type of file.
|
|
20
|
+
# @option options [Object] :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 [Object] :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 [Object] :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 [Object] :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 [Object] :limit
|
|
54
|
+
# The maximum number of items to return.
|
|
55
|
+
# @option options [Object] :ts_from
|
|
56
|
+
# Filter files created after this timestamp (inclusive).
|
|
57
|
+
# @option options [Object] :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 [Object] :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 [Object] :channels
|
|
89
|
+
# Comma-separated list of channel IDs where the file will be shared.
|
|
90
|
+
# @option options [Object] :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 [Object] :external_id
|
|
105
|
+
# Creator defined GUID for the file.
|
|
106
|
+
# @option options [Object] :external_url
|
|
107
|
+
# URL of the remote file.
|
|
108
|
+
# @option options [file] :file
|
|
109
|
+
# Specify a file by providing its ID.
|
|
110
|
+
# @option options [Object] :filetype
|
|
111
|
+
# type of file.
|
|
112
|
+
# @option options [Object] :indexable_file_contents
|
|
113
|
+
# File containing contents that can be used to improve searchability for the remote file.
|
|
114
|
+
# @option options [Object] :preview_image
|
|
115
|
+
# Preview of the document via multipart/form-data.
|
|
116
|
+
# @option options [Object] :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
|
|
@@ -6,254 +7,276 @@ module Slack
|
|
|
6
7
|
module Endpoints
|
|
7
8
|
module Groups
|
|
8
9
|
#
|
|
9
|
-
#
|
|
10
|
+
# Archives a private channel.
|
|
10
11
|
#
|
|
11
12
|
# @option options [group] :channel
|
|
12
13
|
# Private channel to archive.
|
|
13
14
|
# @see https://api.slack.com/methods/groups.archive
|
|
14
|
-
# @see https://github.com/
|
|
15
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.archive.json
|
|
15
16
|
def groups_archive(options = {})
|
|
16
17
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
17
18
|
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
19
|
+
logger.warn('groups.archive: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.archive.')
|
|
18
20
|
post('groups.archive', options)
|
|
19
21
|
end
|
|
20
22
|
|
|
21
23
|
#
|
|
22
|
-
#
|
|
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.
|
|
24
|
+
# Creates a private channel.
|
|
36
25
|
#
|
|
37
26
|
# @option options [Object] :name
|
|
38
27
|
# Name of private channel to create.
|
|
28
|
+
# @option options [Object] :team_id
|
|
29
|
+
# encoded team id to create the channel in, required if org token is used.
|
|
30
|
+
# @option options [Object] :validate
|
|
31
|
+
# Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.
|
|
39
32
|
# @see https://api.slack.com/methods/groups.create
|
|
40
|
-
# @see https://github.com/
|
|
33
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.create.json
|
|
41
34
|
def groups_create(options = {})
|
|
42
35
|
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
|
36
|
+
logger.warn('groups.create: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.create.')
|
|
43
37
|
post('groups.create', options)
|
|
44
38
|
end
|
|
45
39
|
|
|
46
40
|
#
|
|
47
|
-
#
|
|
41
|
+
# Clones and archives a private channel.
|
|
48
42
|
#
|
|
49
43
|
# @option options [group] :channel
|
|
50
44
|
# Private channel to clone and archive.
|
|
51
45
|
# @see https://api.slack.com/methods/groups.createChild
|
|
52
|
-
# @see https://github.com/
|
|
46
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.createChild.json
|
|
53
47
|
def groups_createChild(options = {})
|
|
54
48
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
55
49
|
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
50
|
+
logger.warn('groups.createChild: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: .')
|
|
56
51
|
post('groups.createChild', options)
|
|
57
52
|
end
|
|
58
53
|
|
|
59
54
|
#
|
|
60
|
-
#
|
|
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.
|
|
55
|
+
# Fetches history of messages and events from a private channel.
|
|
63
56
|
#
|
|
64
57
|
# @option options [group] :channel
|
|
65
58
|
# Private channel to fetch history for.
|
|
59
|
+
# @option options [Object] :inclusive
|
|
60
|
+
# Include messages with latest or oldest timestamp in results.
|
|
66
61
|
# @option options [timestamp] :latest
|
|
67
62
|
# End of time range of messages to include in results.
|
|
68
63
|
# @option options [timestamp] :oldest
|
|
69
64
|
# 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
65
|
# @option options [Object] :unreads
|
|
73
66
|
# Include unread_count_display in the output?.
|
|
74
67
|
# @see https://api.slack.com/methods/groups.history
|
|
75
|
-
# @see https://github.com/
|
|
68
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.history.json
|
|
76
69
|
def groups_history(options = {})
|
|
77
70
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
78
71
|
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
72
|
+
logger.warn('groups.history: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.history.')
|
|
79
73
|
post('groups.history', options)
|
|
80
74
|
end
|
|
81
75
|
|
|
82
76
|
#
|
|
83
|
-
#
|
|
77
|
+
# Gets information about a private channel.
|
|
84
78
|
#
|
|
85
79
|
# @option options [group] :channel
|
|
86
80
|
# Private channel to get info on.
|
|
81
|
+
# @option options [Object] :include_locale
|
|
82
|
+
# Set this to true to receive the locale for this group. Defaults to false.
|
|
87
83
|
# @see https://api.slack.com/methods/groups.info
|
|
88
|
-
# @see https://github.com/
|
|
84
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.info.json
|
|
89
85
|
def groups_info(options = {})
|
|
90
86
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
91
87
|
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
88
|
+
logger.warn('groups.info: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.info.')
|
|
92
89
|
post('groups.info', options)
|
|
93
90
|
end
|
|
94
91
|
|
|
95
92
|
#
|
|
96
|
-
#
|
|
93
|
+
# Invites a user to a private channel.
|
|
97
94
|
#
|
|
98
95
|
# @option options [group] :channel
|
|
99
96
|
# Private channel to invite user to.
|
|
100
97
|
# @option options [user] :user
|
|
101
98
|
# User to invite.
|
|
102
99
|
# @see https://api.slack.com/methods/groups.invite
|
|
103
|
-
# @see https://github.com/
|
|
100
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.invite.json
|
|
104
101
|
def groups_invite(options = {})
|
|
105
102
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
106
103
|
throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
|
|
107
104
|
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
108
105
|
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
|
106
|
+
logger.warn('groups.invite: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.invite.')
|
|
109
107
|
post('groups.invite', options)
|
|
110
108
|
end
|
|
111
109
|
|
|
112
110
|
#
|
|
113
|
-
#
|
|
111
|
+
# Removes a user from a private channel.
|
|
114
112
|
#
|
|
115
113
|
# @option options [group] :channel
|
|
116
114
|
# Private channel to remove user from.
|
|
117
115
|
# @option options [user] :user
|
|
118
116
|
# User to remove from private channel.
|
|
119
117
|
# @see https://api.slack.com/methods/groups.kick
|
|
120
|
-
# @see https://github.com/
|
|
118
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.kick.json
|
|
121
119
|
def groups_kick(options = {})
|
|
122
120
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
123
121
|
throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
|
|
124
122
|
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
125
123
|
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
|
124
|
+
logger.warn('groups.kick: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.kick.')
|
|
126
125
|
post('groups.kick', options)
|
|
127
126
|
end
|
|
128
127
|
|
|
129
128
|
#
|
|
130
|
-
#
|
|
129
|
+
# Leaves a private channel.
|
|
131
130
|
#
|
|
132
131
|
# @option options [group] :channel
|
|
133
132
|
# Private channel to leave.
|
|
134
133
|
# @see https://api.slack.com/methods/groups.leave
|
|
135
|
-
# @see https://github.com/
|
|
134
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.leave.json
|
|
136
135
|
def groups_leave(options = {})
|
|
137
136
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
138
137
|
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
138
|
+
logger.warn('groups.leave: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.leave.')
|
|
139
139
|
post('groups.leave', options)
|
|
140
140
|
end
|
|
141
141
|
|
|
142
142
|
#
|
|
143
|
-
#
|
|
144
|
-
# The list of (non-deactivated) members in each private channel is also returned.
|
|
143
|
+
# Lists private channels that the calling user has access to.
|
|
145
144
|
#
|
|
145
|
+
# @option options [Object] :cursor
|
|
146
|
+
# Parameter for pagination. Set cursor equal to the next_cursor attribute returned by the previous request's response_metadata. This parameter is optional, but pagination is mandatory: the default value simply fetches the first "page" of the collection. See pagination for more details.
|
|
146
147
|
# @option options [Object] :exclude_archived
|
|
147
148
|
# Don't return archived private channels.
|
|
149
|
+
# @option options [Object] :exclude_members
|
|
150
|
+
# Exclude the members from each group.
|
|
151
|
+
# @option options [Object] :limit
|
|
152
|
+
# 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.
|
|
153
|
+
# @option options [Object] :team_id
|
|
154
|
+
# encoded team id to list channels in, required if org token is used.
|
|
148
155
|
# @see https://api.slack.com/methods/groups.list
|
|
149
|
-
# @see https://github.com/
|
|
156
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.list.json
|
|
150
157
|
def groups_list(options = {})
|
|
151
|
-
|
|
158
|
+
logger.warn('groups.list: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.list, users.conversations.')
|
|
159
|
+
if block_given?
|
|
160
|
+
Pagination::Cursor.new(self, :groups_list, options).each do |page|
|
|
161
|
+
yield page
|
|
162
|
+
end
|
|
163
|
+
else
|
|
164
|
+
post('groups.list', options)
|
|
165
|
+
end
|
|
152
166
|
end
|
|
153
167
|
|
|
154
168
|
#
|
|
155
|
-
#
|
|
169
|
+
# Sets the read cursor in a private channel.
|
|
156
170
|
#
|
|
157
171
|
# @option options [group] :channel
|
|
158
|
-
#
|
|
172
|
+
# Channel or conversation to set the read cursor for.
|
|
159
173
|
# @option options [timestamp] :ts
|
|
160
|
-
#
|
|
174
|
+
# Unique identifier of message you want marked as most recently seen in this conversation.
|
|
161
175
|
# @see https://api.slack.com/methods/groups.mark
|
|
162
|
-
# @see https://github.com/
|
|
176
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.mark.json
|
|
163
177
|
def groups_mark(options = {})
|
|
164
178
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
165
179
|
throw ArgumentError.new('Required arguments :ts missing') if options[:ts].nil?
|
|
166
180
|
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
181
|
+
logger.warn('groups.mark: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.mark.')
|
|
167
182
|
post('groups.mark', options)
|
|
168
183
|
end
|
|
169
184
|
|
|
170
185
|
#
|
|
171
|
-
#
|
|
186
|
+
# Opens a private channel.
|
|
172
187
|
#
|
|
173
188
|
# @option options [group] :channel
|
|
174
189
|
# Private channel to open.
|
|
175
190
|
# @see https://api.slack.com/methods/groups.open
|
|
176
|
-
# @see https://github.com/
|
|
191
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.open.json
|
|
177
192
|
def groups_open(options = {})
|
|
178
193
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
179
194
|
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
195
|
+
logger.warn('groups.open: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: .')
|
|
180
196
|
post('groups.open', options)
|
|
181
197
|
end
|
|
182
198
|
|
|
183
199
|
#
|
|
184
|
-
#
|
|
200
|
+
# Renames a private channel.
|
|
185
201
|
#
|
|
186
202
|
# @option options [group] :channel
|
|
187
203
|
# Private channel to rename.
|
|
188
204
|
# @option options [Object] :name
|
|
189
205
|
# New name for private channel.
|
|
206
|
+
# @option options [Object] :validate
|
|
207
|
+
# Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.
|
|
190
208
|
# @see https://api.slack.com/methods/groups.rename
|
|
191
|
-
# @see https://github.com/
|
|
209
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.rename.json
|
|
192
210
|
def groups_rename(options = {})
|
|
193
211
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
194
212
|
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
|
195
213
|
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
214
|
+
logger.warn('groups.rename: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.rename.')
|
|
196
215
|
post('groups.rename', options)
|
|
197
216
|
end
|
|
198
217
|
|
|
199
218
|
#
|
|
200
|
-
#
|
|
219
|
+
# Retrieve a thread of messages posted to a private channel
|
|
201
220
|
#
|
|
202
221
|
# @option options [group] :channel
|
|
203
222
|
# Private channel to fetch thread from.
|
|
204
223
|
# @option options [Object] :thread_ts
|
|
205
224
|
# Unique identifier of a thread's parent message.
|
|
206
225
|
# @see https://api.slack.com/methods/groups.replies
|
|
207
|
-
# @see https://github.com/
|
|
226
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.replies.json
|
|
208
227
|
def groups_replies(options = {})
|
|
209
228
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
210
229
|
throw ArgumentError.new('Required arguments :thread_ts missing') if options[:thread_ts].nil?
|
|
211
230
|
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
231
|
+
logger.warn('groups.replies: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.replies.')
|
|
212
232
|
post('groups.replies', options)
|
|
213
233
|
end
|
|
214
234
|
|
|
215
235
|
#
|
|
216
|
-
#
|
|
236
|
+
# Sets the purpose for a private channel.
|
|
217
237
|
#
|
|
218
238
|
# @option options [group] :channel
|
|
219
239
|
# Private channel to set the purpose of.
|
|
220
240
|
# @option options [Object] :purpose
|
|
221
241
|
# The new purpose.
|
|
222
242
|
# @see https://api.slack.com/methods/groups.setPurpose
|
|
223
|
-
# @see https://github.com/
|
|
243
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.setPurpose.json
|
|
224
244
|
def groups_setPurpose(options = {})
|
|
225
245
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
226
246
|
throw ArgumentError.new('Required arguments :purpose missing') if options[:purpose].nil?
|
|
227
247
|
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
248
|
+
logger.warn('groups.setPurpose: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.setPurpose.')
|
|
228
249
|
post('groups.setPurpose', options)
|
|
229
250
|
end
|
|
230
251
|
|
|
231
252
|
#
|
|
232
|
-
#
|
|
253
|
+
# Sets the topic for a private channel.
|
|
233
254
|
#
|
|
234
255
|
# @option options [group] :channel
|
|
235
256
|
# Private channel to set the topic of.
|
|
236
257
|
# @option options [Object] :topic
|
|
237
258
|
# The new topic.
|
|
238
259
|
# @see https://api.slack.com/methods/groups.setTopic
|
|
239
|
-
# @see https://github.com/
|
|
260
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.setTopic.json
|
|
240
261
|
def groups_setTopic(options = {})
|
|
241
262
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
242
263
|
throw ArgumentError.new('Required arguments :topic missing') if options[:topic].nil?
|
|
243
264
|
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
265
|
+
logger.warn('groups.setTopic: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.setTopic.')
|
|
244
266
|
post('groups.setTopic', options)
|
|
245
267
|
end
|
|
246
268
|
|
|
247
269
|
#
|
|
248
|
-
#
|
|
270
|
+
# Unarchives a private channel.
|
|
249
271
|
#
|
|
250
272
|
# @option options [group] :channel
|
|
251
273
|
# Private channel to unarchive.
|
|
252
274
|
# @see https://api.slack.com/methods/groups.unarchive
|
|
253
|
-
# @see https://github.com/
|
|
275
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.unarchive.json
|
|
254
276
|
def groups_unarchive(options = {})
|
|
255
277
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
256
278
|
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
279
|
+
logger.warn('groups.unarchive: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.unarchive.')
|
|
257
280
|
post('groups.unarchive', options)
|
|
258
281
|
end
|
|
259
282
|
end
|