slack-ruby-client 0.13.0 → 0.17.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 +4 -4
- data/.github/FUNDING.yml +1 -0
- data/.gitignore +1 -0
- data/.rubocop.yml +24 -5
- data/.rubocop_todo.yml +100 -54
- data/.travis.yml +4 -8
- data/CHANGELOG.md +118 -35
- data/CONTRIBUTING.md +17 -6
- data/Dangerfile +2 -0
- data/Gemfile +10 -5
- data/LICENSE.md +1 -1
- data/README.md +185 -48
- data/Rakefile +2 -1
- data/UPGRADING.md +30 -2
- data/bin/commands.rb +32 -0
- data/bin/commands/admin_analytics.rb +16 -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 +159 -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 +1 -1
- data/bin/commands/apps.rb +15 -0
- data/bin/commands/apps_connections.rb +13 -0
- data/bin/commands/apps_event_authorizations.rb +16 -0
- data/bin/commands/apps_permissions.rb +1 -0
- data/bin/commands/apps_permissions_resources.rb +1 -0
- data/bin/commands/apps_permissions_scopes.rb +1 -0
- data/bin/commands/apps_permissions_users.rb +1 -0
- data/bin/commands/auth.rb +1 -0
- data/bin/commands/auth_teams.rb +16 -0
- data/bin/commands/bots.rb +2 -0
- data/bin/commands/calls.rb +52 -0
- data/bin/commands/calls_participants.rb +25 -0
- data/bin/commands/channels.rb +1 -153
- data/bin/commands/chat.rb +51 -10
- data/bin/commands/chat_scheduledMessages.rb +19 -0
- data/bin/commands/conversations.rb +16 -3
- data/bin/commands/dialog.rb +1 -0
- data/bin/commands/dnd.rb +5 -2
- data/bin/commands/emoji.rb +1 -0
- data/bin/commands/files.rb +8 -17
- data/bin/commands/files_comments.rb +1 -21
- data/bin/commands/files_remote.rb +78 -0
- data/bin/commands/groups.rb +1 -161
- data/bin/commands/im.rb +1 -62
- data/bin/commands/migration.rb +2 -0
- data/bin/commands/mpim.rb +1 -60
- data/bin/commands/oauth.rb +2 -1
- data/bin/commands/oauth_v2.rb +17 -0
- data/bin/commands/pins.rb +1 -4
- data/bin/commands/reactions.rb +3 -3
- data/bin/commands/reminders.rb +1 -0
- data/bin/commands/rtm.rb +1 -0
- data/bin/commands/search.rb +4 -0
- data/bin/commands/stars.rb +1 -0
- data/bin/commands/team.rb +5 -0
- data/bin/commands/team_profile.rb +1 -0
- data/bin/commands/usergroups.rb +6 -0
- data/bin/commands/usergroups_users.rb +3 -0
- data/bin/commands/users.rb +5 -3
- data/bin/commands/users_admin.rb +1 -0
- data/bin/commands/users_prefs.rb +1 -0
- data/bin/commands/users_profile.rb +6 -5
- data/bin/commands/views.rb +48 -0
- data/bin/commands/workflows.rb +38 -0
- data/bin/slack +2 -3
- data/examples/hi_real_time_and_web/Gemfile +1 -0
- data/examples/hi_real_time_and_web/hi.rb +7 -3
- data/examples/hi_real_time_async_async/Gemfile +1 -0
- data/examples/hi_real_time_async_async/hi.rb +6 -2
- data/examples/hi_web/Gemfile +1 -0
- data/examples/hi_web/hi.rb +1 -0
- data/examples/new_ticket/Gemfile +1 -0
- data/examples/new_ticket/new_ticket.rb +1 -0
- data/lib/slack-ruby-client.rb +10 -4
- 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 +1 -0
- data/lib/slack/messages/message.rb +1 -4
- data/lib/slack/real_time/api/message.rb +3 -1
- data/lib/slack/real_time/api/message_id.rb +1 -0
- data/lib/slack/real_time/api/ping.rb +5 -2
- data/lib/slack/real_time/api/typing.rb +3 -1
- data/lib/slack/real_time/client.rb +98 -28
- data/lib/slack/real_time/concurrency.rb +1 -2
- data/lib/slack/real_time/concurrency/async.rb +79 -6
- data/lib/slack/real_time/config.rb +6 -10
- data/lib/slack/real_time/models.rb +1 -0
- data/lib/slack/real_time/models/base.rb +1 -4
- data/lib/slack/real_time/models/bot.rb +1 -0
- data/lib/slack/real_time/models/channel.rb +1 -0
- data/lib/slack/real_time/models/group.rb +1 -0
- data/lib/slack/real_time/models/im.rb +1 -0
- data/lib/slack/real_time/models/team.rb +1 -0
- data/lib/slack/real_time/models/user.rb +1 -0
- data/lib/slack/real_time/socket.rb +44 -15
- data/lib/slack/real_time/stores.rb +1 -0
- data/lib/slack/real_time/stores/base.rb +4 -1
- data/lib/slack/real_time/stores/starter.rb +11 -0
- data/lib/slack/real_time/stores/store.rb +28 -25
- data/lib/slack/version.rb +2 -1
- data/lib/slack/web/api/endpoints.rb +64 -0
- data/lib/slack/web/api/endpoints/admin_analytics.rb +28 -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 +246 -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 +1 -2
- 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 +1 -0
- data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +1 -0
- data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +1 -0
- data/lib/slack/web/api/endpoints/apps_permissions_users.rb +1 -0
- data/lib/slack/web/api/endpoints/auth.rb +1 -0
- data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
- data/lib/slack/web/api/endpoints/bots.rb +3 -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 +2 -243
- data/lib/slack/web/api/endpoints/chat.rb +112 -21
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
- data/lib/slack/web/api/endpoints/conversations.rb +40 -19
- data/lib/slack/web/api/endpoints/dialog.rb +1 -0
- data/lib/slack/web/api/endpoints/dnd.rb +7 -1
- data/lib/slack/web/api/endpoints/emoji.rb +1 -0
- data/lib/slack/web/api/endpoints/files.rb +10 -17
- data/lib/slack/web/api/endpoints/files_comments.rb +1 -33
- data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
- data/lib/slack/web/api/endpoints/groups.rb +1 -253
- data/lib/slack/web/api/endpoints/im.rb +1 -101
- data/lib/slack/web/api/endpoints/migration.rb +3 -0
- data/lib/slack/web/api/endpoints/mpim.rb +1 -96
- data/lib/slack/web/api/endpoints/oauth.rb +2 -4
- data/lib/slack/web/api/endpoints/oauth_v2.rb +30 -0
- data/lib/slack/web/api/endpoints/pins.rb +4 -11
- data/lib/slack/web/api/endpoints/reactions.rb +10 -9
- data/lib/slack/web/api/endpoints/reminders.rb +1 -0
- data/lib/slack/web/api/endpoints/rtm.rb +1 -0
- data/lib/slack/web/api/endpoints/search.rb +7 -0
- data/lib/slack/web/api/endpoints/stars.rb +3 -2
- data/lib/slack/web/api/endpoints/team.rb +9 -0
- data/lib/slack/web/api/endpoints/team_profile.rb +1 -0
- data/lib/slack/web/api/endpoints/usergroups.rb +11 -0
- data/lib/slack/web/api/endpoints/usergroups_users.rb +5 -0
- data/lib/slack/web/api/endpoints/users.rb +8 -7
- data/lib/slack/web/api/endpoints/users_admin.rb +1 -0
- data/lib/slack/web/api/endpoints/users_prefs.rb +1 -0
- data/lib/slack/web/api/endpoints/users_profile.rb +4 -3
- 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 +1 -0
- data/lib/slack/web/api/errors.rb +848 -0
- data/lib/slack/web/api/errors/internal_error.rb +14 -0
- data/lib/slack/web/api/errors/slack_error.rb +14 -1
- data/lib/slack/web/api/errors/too_many_requests_error.rb +1 -0
- data/lib/slack/web/api/mixins.rb +2 -0
- data/lib/slack/web/api/mixins/channels.id.rb +2 -3
- data/lib/slack/web/api/mixins/conversations.id.rb +25 -0
- data/lib/slack/web/api/mixins/groups.id.rb +2 -3
- data/lib/slack/web/api/mixins/ids.id.rb +3 -2
- data/lib/slack/web/api/mixins/users.id.rb +2 -3
- data/lib/slack/web/api/mixins/users.search.rb +1 -0
- data/lib/slack/web/api/patches/chat.1.patch +71 -0
- data/lib/slack/web/api/patches/views.1.view-json.patch +40 -0
- data/lib/slack/web/api/patches/views.1.views-published.patch +16 -0
- data/lib/slack/web/api/templates/command.erb +1 -0
- data/lib/slack/web/api/templates/commands.erb +1 -0
- data/lib/slack/web/api/templates/endpoints.erb +2 -0
- data/lib/slack/web/api/templates/errors.erb +20 -0
- data/lib/slack/web/api/templates/method.erb +5 -1
- data/lib/slack/web/api/templates/method_spec.erb +2 -1
- data/lib/slack/web/client.rb +2 -1
- data/lib/slack/web/config.rb +3 -0
- data/lib/slack/web/faraday/connection.rb +24 -20
- data/lib/slack/web/faraday/request.rb +1 -0
- data/lib/slack/web/faraday/response/raise_error.rb +21 -6
- data/lib/slack/web/faraday/response/wrap_error.rb +24 -0
- data/lib/slack/web/pagination/cursor.rb +6 -2
- data/lib/slack_ruby_client.rb +1 -0
- data/lib/tasks/git.rake +1 -0
- data/lib/tasks/real_time.rake +15 -5
- data/lib/tasks/update.rake +1 -0
- data/lib/tasks/web.rake +39 -10
- data/screenshots/create-app.png +0 -0
- data/slack-ruby-client.gemspec +8 -4
- data/spec/fixtures/slack/web/channels_info.yml +108 -15
- data/spec/fixtures/slack/web/{groups_info.yml → conversations_info.yml} +4 -4
- 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/views_open_error.yml +76 -0
- data/spec/integration/integration_spec.rb +116 -49
- 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 -13
- 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 +228 -30
- data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +2 -0
- data/spec/slack/real_time/concurrency/with_concurrency_spec.rb +10 -0
- data/spec/slack/real_time/concurrency/without_concurrency_spec.rb +10 -0
- data/spec/slack/real_time/event_handlers/bot_spec.rb +2 -1
- data/spec/slack/real_time/event_handlers/channel_spec.rb +9 -6
- data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +2 -1
- 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 +3 -1
- data/spec/slack/real_time/event_handlers/user_spec.rb +1 -0
- data/spec/slack/real_time/rtm_connect_spec.rb +2 -1
- data/spec/slack/real_time/rtm_start_spec.rb +2 -1
- data/spec/slack/real_time/store_spec.rb +2 -1
- data/spec/slack/slack_spec.rb +37 -5
- 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 +93 -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 +1 -0
- data/spec/slack/web/api/endpoints/apps_permissions_scopes_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +4 -3
- 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 +21 -12
- data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +5 -1
- data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +112 -36
- data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +12 -4
- data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +6 -1
- 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 +5 -4
- data/spec/slack/web/api/endpoints/im_spec.rb +1 -31
- data/spec/slack/web/api/endpoints/migration_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/mpim_spec.rb +1 -31
- data/spec/slack/web/api/endpoints/oauth_spec.rb +4 -14
- 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 +1 -0
- data/spec/slack/web/api/endpoints/users_prefs_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/users_profile_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/workflows_spec.rb +26 -0
- data/spec/slack/web/api/error_spec.rb +4 -2
- data/spec/slack/web/api/errors/slack_error_spec.rb +26 -2
- data/spec/slack/web/api/mixins/channels_spec.rb +17 -7
- data/spec/slack/web/api/mixins/conversations_list_spec.rb +21 -0
- data/spec/slack/web/api/mixins/conversations_spec.rb +43 -0
- data/spec/slack/web/api/mixins/groups_spec.rb +17 -7
- data/spec/slack/web/api/mixins/users_spec.rb +17 -8
- data/spec/slack/web/api/pagination/cursor_spec.rb +40 -10
- data/spec/slack/web/client_spec.rb +166 -18
- data/spec/slack/web/faraday/response/raise_error_spec.rb +47 -12
- data/spec/spec_helper.rb +8 -1
- data/spec/support/queue_with_timeout.rb +5 -4
- data/spec/support/real_time/concurrency/mock.rb +1 -0
- data/spec/support/real_time/connected_client.rb +9 -3
- data/spec/support/real_time/event.rb +1 -0
- data/spec/support/token.rb +1 -0
- data/spec/support/vcr.rb +5 -0
- metadata +226 -52
- 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_celluloid/Procfile +0 -2
- data/examples/hi_real_time_async_celluloid/hi.rb +0 -35
- 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 -35
- data/lib/slack/real_time/concurrency/celluloid.rb +0 -103
- data/lib/slack/real_time/concurrency/eventmachine.rb +0 -66
- data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
- data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
- data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -21
- data/lib/slack/web/api/patches/chat.4.postEphemeral-attachments-support.patch +0 -17
- data/lib/slack/web/api/patches/chat.5.postEphemeral-text-or-attachments.patch +0 -13
- data/screenshots/register-bot.png +0 -0
- data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -106
- data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -47
- 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/errors/service_unavailable_spec.rb +0 -14
|
@@ -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
|
|
@@ -26,6 +27,8 @@ module Slack
|
|
|
26
27
|
#
|
|
27
28
|
# Retrieves a user's current Do Not Disturb status.
|
|
28
29
|
#
|
|
30
|
+
# @option options [Object] :team_id
|
|
31
|
+
# Encoded team id where passed in user param belongs, required if org token is used. If no user param is passed, then a team which has access to the app should be passed.
|
|
29
32
|
# @option options [user] :user
|
|
30
33
|
# User to fetch status for (defaults to current user).
|
|
31
34
|
# @see https://api.slack.com/methods/dnd.info
|
|
@@ -48,13 +51,16 @@ module Slack
|
|
|
48
51
|
end
|
|
49
52
|
|
|
50
53
|
#
|
|
51
|
-
# Retrieves the Do Not Disturb status for users on a team.
|
|
54
|
+
# Retrieves the Do Not Disturb status for up to 50 users on a team.
|
|
52
55
|
#
|
|
53
56
|
# @option options [Object] :users
|
|
54
57
|
# Comma-separated list of users to fetch Do Not Disturb status for.
|
|
58
|
+
# @option options [Object] :team_id
|
|
59
|
+
# Encoded team id where passed in users belong, required if org token is used.
|
|
55
60
|
# @see https://api.slack.com/methods/dnd.teamInfo
|
|
56
61
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/dnd/dnd.teamInfo.json
|
|
57
62
|
def dnd_teamInfo(options = {})
|
|
63
|
+
throw ArgumentError.new('Required arguments :users missing') if options[:users].nil?
|
|
58
64
|
post('dnd.teamInfo', options)
|
|
59
65
|
end
|
|
60
66
|
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
|
|
@@ -35,7 +36,7 @@ module Slack
|
|
|
35
36
|
end
|
|
36
37
|
|
|
37
38
|
#
|
|
38
|
-
# Gets information about a
|
|
39
|
+
# Gets information about a file.
|
|
39
40
|
#
|
|
40
41
|
# @option options [file] :file
|
|
41
42
|
# Specify a file by providing its ID.
|
|
@@ -57,34 +58,26 @@ module Slack
|
|
|
57
58
|
end
|
|
58
59
|
|
|
59
60
|
#
|
|
60
|
-
#
|
|
61
|
+
# List for a team, in a channel, or from a user with applied filters.
|
|
61
62
|
#
|
|
62
63
|
# @option options [channel] :channel
|
|
63
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.
|
|
64
69
|
# @option options [Object] :ts_from
|
|
65
70
|
# Filter files created after this timestamp (inclusive).
|
|
66
71
|
# @option options [Object] :ts_to
|
|
67
72
|
# Filter files created before this timestamp (inclusive).
|
|
68
73
|
# @option options [Object] :types
|
|
69
|
-
# Filter files by type
|
|
70
|
-
#
|
|
71
|
-
# all - All files
|
|
72
|
-
# spaces - Posts
|
|
73
|
-
# snippets - Snippets
|
|
74
|
-
# images - Image files
|
|
75
|
-
# gdocs - Google docs
|
|
76
|
-
# zips - Zip files
|
|
77
|
-
# pdfs - PDF files
|
|
78
|
-
#
|
|
79
|
-
#
|
|
80
|
-
# You can pass multiple values in the types argument, like types=spaces,snippets.The default value is all, which does not filter the list.
|
|
81
|
-
# .
|
|
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.
|
|
82
75
|
# @option options [user] :user
|
|
83
76
|
# Filter files created by a single user.
|
|
84
77
|
# @see https://api.slack.com/methods/files.list
|
|
85
78
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files/files.list.json
|
|
86
79
|
def files_list(options = {})
|
|
87
|
-
options = options.merge(channel:
|
|
80
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
88
81
|
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
|
89
82
|
post('files.list', options)
|
|
90
83
|
end
|
|
@@ -112,7 +105,7 @@ module Slack
|
|
|
112
105
|
def files_share(options = {})
|
|
113
106
|
throw ArgumentError.new('Required arguments :file missing') if options[:file].nil?
|
|
114
107
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
115
|
-
options = options.merge(channel:
|
|
108
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
116
109
|
logger.warn('The files.share method is undocumented.')
|
|
117
110
|
post('files.share', options)
|
|
118
111
|
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
module Slack
|
|
@@ -5,21 +6,6 @@ module Slack
|
|
|
5
6
|
module Api
|
|
6
7
|
module Endpoints
|
|
7
8
|
module FilesComments
|
|
8
|
-
#
|
|
9
|
-
# Add a comment to an existing file.
|
|
10
|
-
#
|
|
11
|
-
# @option options [Object] :comment
|
|
12
|
-
# Text of the comment to add.
|
|
13
|
-
# @option options [file] :file
|
|
14
|
-
# File to add a comment to.
|
|
15
|
-
# @see https://api.slack.com/methods/files.comments.add
|
|
16
|
-
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files.comments/files.comments.add.json
|
|
17
|
-
def files_comments_add(options = {})
|
|
18
|
-
throw ArgumentError.new('Required arguments :comment missing') if options[:comment].nil?
|
|
19
|
-
throw ArgumentError.new('Required arguments :file missing') if options[:file].nil?
|
|
20
|
-
post('files.comments.add', options)
|
|
21
|
-
end
|
|
22
|
-
|
|
23
9
|
#
|
|
24
10
|
# Deletes an existing comment on a file.
|
|
25
11
|
#
|
|
@@ -34,24 +20,6 @@ module Slack
|
|
|
34
20
|
throw ArgumentError.new('Required arguments :id missing') if options[:id].nil?
|
|
35
21
|
post('files.comments.delete', options)
|
|
36
22
|
end
|
|
37
|
-
|
|
38
|
-
#
|
|
39
|
-
# Edit an existing file comment.
|
|
40
|
-
#
|
|
41
|
-
# @option options [Object] :comment
|
|
42
|
-
# Text of the comment to edit.
|
|
43
|
-
# @option options [file] :file
|
|
44
|
-
# File containing the comment to edit.
|
|
45
|
-
# @option options [Object] :id
|
|
46
|
-
# The comment to edit.
|
|
47
|
-
# @see https://api.slack.com/methods/files.comments.edit
|
|
48
|
-
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/files.comments/files.comments.edit.json
|
|
49
|
-
def files_comments_edit(options = {})
|
|
50
|
-
throw ArgumentError.new('Required arguments :comment missing') if options[:comment].nil?
|
|
51
|
-
throw ArgumentError.new('Required arguments :file missing') if options[:file].nil?
|
|
52
|
-
throw ArgumentError.new('Required arguments :id missing') if options[:id].nil?
|
|
53
|
-
post('files.comments.edit', options)
|
|
54
|
-
end
|
|
55
23
|
end
|
|
56
24
|
end
|
|
57
25
|
end
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
|
3
|
+
|
|
4
|
+
module Slack
|
|
5
|
+
module Web
|
|
6
|
+
module Api
|
|
7
|
+
module Endpoints
|
|
8
|
+
module FilesRemote
|
|
9
|
+
#
|
|
10
|
+
# Adds a file from a remote service
|
|
11
|
+
#
|
|
12
|
+
# @option options [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
|
|
@@ -5,259 +6,6 @@ module Slack
|
|
|
5
6
|
module Api
|
|
6
7
|
module Endpoints
|
|
7
8
|
module Groups
|
|
8
|
-
#
|
|
9
|
-
# Archives a private channel.
|
|
10
|
-
#
|
|
11
|
-
# @option options [group] :channel
|
|
12
|
-
# Private channel to archive.
|
|
13
|
-
# @see https://api.slack.com/methods/groups.archive
|
|
14
|
-
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.archive.json
|
|
15
|
-
def groups_archive(options = {})
|
|
16
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
17
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
18
|
-
post('groups.archive', options)
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
#
|
|
22
|
-
# Creates a private channel.
|
|
23
|
-
#
|
|
24
|
-
# @option options [Object] :name
|
|
25
|
-
# Name of private channel to create.
|
|
26
|
-
# @option options [Object] :validate
|
|
27
|
-
# Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.
|
|
28
|
-
# @see https://api.slack.com/methods/groups.create
|
|
29
|
-
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.create.json
|
|
30
|
-
def groups_create(options = {})
|
|
31
|
-
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
|
32
|
-
post('groups.create', options)
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
#
|
|
36
|
-
# Clones and archives a private channel.
|
|
37
|
-
#
|
|
38
|
-
# @option options [group] :channel
|
|
39
|
-
# Private channel to clone and archive.
|
|
40
|
-
# @see https://api.slack.com/methods/groups.createChild
|
|
41
|
-
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.createChild.json
|
|
42
|
-
def groups_createChild(options = {})
|
|
43
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
44
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
45
|
-
post('groups.createChild', options)
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
#
|
|
49
|
-
# Fetches history of messages and events from a private channel.
|
|
50
|
-
#
|
|
51
|
-
# @option options [group] :channel
|
|
52
|
-
# Private channel to fetch history for.
|
|
53
|
-
# @option options [Object] :inclusive
|
|
54
|
-
# Include messages with latest or oldest timestamp in results.
|
|
55
|
-
# @option options [timestamp] :latest
|
|
56
|
-
# End of time range of messages to include in results.
|
|
57
|
-
# @option options [timestamp] :oldest
|
|
58
|
-
# Start of time range of messages to include in results.
|
|
59
|
-
# @option options [Object] :unreads
|
|
60
|
-
# Include unread_count_display in the output?.
|
|
61
|
-
# @see https://api.slack.com/methods/groups.history
|
|
62
|
-
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.history.json
|
|
63
|
-
def groups_history(options = {})
|
|
64
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
65
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
66
|
-
post('groups.history', options)
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
#
|
|
70
|
-
# Gets information about a private channel.
|
|
71
|
-
#
|
|
72
|
-
# @option options [group] :channel
|
|
73
|
-
# Private channel to get info on.
|
|
74
|
-
# @option options [Object] :include_locale
|
|
75
|
-
# Set this to true to receive the locale for this group. Defaults to false.
|
|
76
|
-
# @see https://api.slack.com/methods/groups.info
|
|
77
|
-
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.info.json
|
|
78
|
-
def groups_info(options = {})
|
|
79
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
80
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
81
|
-
post('groups.info', options)
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
#
|
|
85
|
-
# Invites a user to a private channel.
|
|
86
|
-
#
|
|
87
|
-
# @option options [group] :channel
|
|
88
|
-
# Private channel to invite user to.
|
|
89
|
-
# @option options [user] :user
|
|
90
|
-
# User to invite.
|
|
91
|
-
# @see https://api.slack.com/methods/groups.invite
|
|
92
|
-
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.invite.json
|
|
93
|
-
def groups_invite(options = {})
|
|
94
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
95
|
-
throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
|
|
96
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
97
|
-
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
|
98
|
-
post('groups.invite', options)
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
#
|
|
102
|
-
# Removes a user from a private channel.
|
|
103
|
-
#
|
|
104
|
-
# @option options [group] :channel
|
|
105
|
-
# Private channel to remove user from.
|
|
106
|
-
# @option options [user] :user
|
|
107
|
-
# User to remove from private channel.
|
|
108
|
-
# @see https://api.slack.com/methods/groups.kick
|
|
109
|
-
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.kick.json
|
|
110
|
-
def groups_kick(options = {})
|
|
111
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
112
|
-
throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
|
|
113
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
114
|
-
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
|
115
|
-
post('groups.kick', options)
|
|
116
|
-
end
|
|
117
|
-
|
|
118
|
-
#
|
|
119
|
-
# Leaves a private channel.
|
|
120
|
-
#
|
|
121
|
-
# @option options [group] :channel
|
|
122
|
-
# Private channel to leave.
|
|
123
|
-
# @see https://api.slack.com/methods/groups.leave
|
|
124
|
-
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.leave.json
|
|
125
|
-
def groups_leave(options = {})
|
|
126
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
127
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
128
|
-
post('groups.leave', options)
|
|
129
|
-
end
|
|
130
|
-
|
|
131
|
-
#
|
|
132
|
-
# Lists private channels that the calling user has access to.
|
|
133
|
-
#
|
|
134
|
-
# @option options [Object] :cursor
|
|
135
|
-
# 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.
|
|
136
|
-
# @option options [Object] :exclude_archived
|
|
137
|
-
# Don't return archived private channels.
|
|
138
|
-
# @option options [Object] :exclude_members
|
|
139
|
-
# Exclude the members from each group.
|
|
140
|
-
# @option options [Object] :limit
|
|
141
|
-
# 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.
|
|
142
|
-
# @see https://api.slack.com/methods/groups.list
|
|
143
|
-
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.list.json
|
|
144
|
-
def groups_list(options = {})
|
|
145
|
-
if block_given?
|
|
146
|
-
Pagination::Cursor.new(self, :groups_list, options).each do |page|
|
|
147
|
-
yield page
|
|
148
|
-
end
|
|
149
|
-
else
|
|
150
|
-
post('groups.list', options)
|
|
151
|
-
end
|
|
152
|
-
end
|
|
153
|
-
|
|
154
|
-
#
|
|
155
|
-
# Sets the read cursor in a private channel.
|
|
156
|
-
#
|
|
157
|
-
# @option options [group] :channel
|
|
158
|
-
# Private channel to set reading cursor in.
|
|
159
|
-
# @option options [timestamp] :ts
|
|
160
|
-
# Timestamp of the most recently seen message.
|
|
161
|
-
# @see https://api.slack.com/methods/groups.mark
|
|
162
|
-
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.mark.json
|
|
163
|
-
def groups_mark(options = {})
|
|
164
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
165
|
-
throw ArgumentError.new('Required arguments :ts missing') if options[:ts].nil?
|
|
166
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
167
|
-
post('groups.mark', options)
|
|
168
|
-
end
|
|
169
|
-
|
|
170
|
-
#
|
|
171
|
-
# Opens a private channel.
|
|
172
|
-
#
|
|
173
|
-
# @option options [group] :channel
|
|
174
|
-
# Private channel to open.
|
|
175
|
-
# @see https://api.slack.com/methods/groups.open
|
|
176
|
-
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.open.json
|
|
177
|
-
def groups_open(options = {})
|
|
178
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
179
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
180
|
-
post('groups.open', options)
|
|
181
|
-
end
|
|
182
|
-
|
|
183
|
-
#
|
|
184
|
-
# Renames a private channel.
|
|
185
|
-
#
|
|
186
|
-
# @option options [group] :channel
|
|
187
|
-
# Private channel to rename.
|
|
188
|
-
# @option options [Object] :name
|
|
189
|
-
# New name for private channel.
|
|
190
|
-
# @option options [Object] :validate
|
|
191
|
-
# Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.
|
|
192
|
-
# @see https://api.slack.com/methods/groups.rename
|
|
193
|
-
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.rename.json
|
|
194
|
-
def groups_rename(options = {})
|
|
195
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
196
|
-
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
|
197
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
198
|
-
post('groups.rename', options)
|
|
199
|
-
end
|
|
200
|
-
|
|
201
|
-
#
|
|
202
|
-
# Retrieve a thread of messages posted to a private channel
|
|
203
|
-
#
|
|
204
|
-
# @option options [group] :channel
|
|
205
|
-
# Private channel to fetch thread from.
|
|
206
|
-
# @option options [Object] :thread_ts
|
|
207
|
-
# Unique identifier of a thread's parent message.
|
|
208
|
-
# @see https://api.slack.com/methods/groups.replies
|
|
209
|
-
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.replies.json
|
|
210
|
-
def groups_replies(options = {})
|
|
211
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
212
|
-
throw ArgumentError.new('Required arguments :thread_ts missing') if options[:thread_ts].nil?
|
|
213
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
214
|
-
post('groups.replies', options)
|
|
215
|
-
end
|
|
216
|
-
|
|
217
|
-
#
|
|
218
|
-
# Sets the purpose for a private channel.
|
|
219
|
-
#
|
|
220
|
-
# @option options [group] :channel
|
|
221
|
-
# Private channel to set the purpose of.
|
|
222
|
-
# @option options [Object] :purpose
|
|
223
|
-
# The new purpose.
|
|
224
|
-
# @see https://api.slack.com/methods/groups.setPurpose
|
|
225
|
-
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.setPurpose.json
|
|
226
|
-
def groups_setPurpose(options = {})
|
|
227
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
228
|
-
throw ArgumentError.new('Required arguments :purpose missing') if options[:purpose].nil?
|
|
229
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
230
|
-
post('groups.setPurpose', options)
|
|
231
|
-
end
|
|
232
|
-
|
|
233
|
-
#
|
|
234
|
-
# Sets the topic for a private channel.
|
|
235
|
-
#
|
|
236
|
-
# @option options [group] :channel
|
|
237
|
-
# Private channel to set the topic of.
|
|
238
|
-
# @option options [Object] :topic
|
|
239
|
-
# The new topic.
|
|
240
|
-
# @see https://api.slack.com/methods/groups.setTopic
|
|
241
|
-
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.setTopic.json
|
|
242
|
-
def groups_setTopic(options = {})
|
|
243
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
244
|
-
throw ArgumentError.new('Required arguments :topic missing') if options[:topic].nil?
|
|
245
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
246
|
-
post('groups.setTopic', options)
|
|
247
|
-
end
|
|
248
|
-
|
|
249
|
-
#
|
|
250
|
-
# Unarchives a private channel.
|
|
251
|
-
#
|
|
252
|
-
# @option options [group] :channel
|
|
253
|
-
# Private channel to unarchive.
|
|
254
|
-
# @see https://api.slack.com/methods/groups.unarchive
|
|
255
|
-
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/groups/groups.unarchive.json
|
|
256
|
-
def groups_unarchive(options = {})
|
|
257
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
258
|
-
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
|
259
|
-
post('groups.unarchive', options)
|
|
260
|
-
end
|
|
261
9
|
end
|
|
262
10
|
end
|
|
263
11
|
end
|