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,94 +7,110 @@ module Slack
|
|
|
6
7
|
module Endpoints
|
|
7
8
|
module Im
|
|
8
9
|
#
|
|
9
|
-
#
|
|
10
|
+
# Close a direct message channel.
|
|
10
11
|
#
|
|
11
12
|
# @option options [im] :channel
|
|
12
13
|
# Direct message channel to close.
|
|
13
14
|
# @see https://api.slack.com/methods/im.close
|
|
14
|
-
# @see https://github.com/
|
|
15
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/im/im.close.json
|
|
15
16
|
def im_close(options = {})
|
|
16
17
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
17
|
-
options = options.merge(channel:
|
|
18
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
19
|
+
logger.warn('im.close: 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.close.')
|
|
18
20
|
post('im.close', options)
|
|
19
21
|
end
|
|
20
22
|
|
|
21
23
|
#
|
|
22
|
-
#
|
|
23
|
-
# To read the entire history for a direct message channel, call the method with no latest or
|
|
24
|
-
# oldest arguments, and then continue paging using the instructions below.
|
|
24
|
+
# Fetches history of messages and events from direct message channel.
|
|
25
25
|
#
|
|
26
26
|
# @option options [im] :channel
|
|
27
27
|
# Direct message channel to fetch history for.
|
|
28
|
+
# @option options [Object] :inclusive
|
|
29
|
+
# Include messages with latest or oldest timestamp in results.
|
|
28
30
|
# @option options [timestamp] :latest
|
|
29
31
|
# End of time range of messages to include in results.
|
|
30
32
|
# @option options [timestamp] :oldest
|
|
31
33
|
# Start of time range of messages to include in results.
|
|
32
|
-
# @option options [Object] :inclusive
|
|
33
|
-
# Include messages with latest or oldest timestamp in results.
|
|
34
34
|
# @option options [Object] :unreads
|
|
35
35
|
# Include unread_count_display in the output?.
|
|
36
36
|
# @see https://api.slack.com/methods/im.history
|
|
37
|
-
# @see https://github.com/
|
|
37
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/im/im.history.json
|
|
38
38
|
def im_history(options = {})
|
|
39
39
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
40
|
-
options = options.merge(channel:
|
|
40
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
41
|
+
logger.warn('im.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.')
|
|
41
42
|
post('im.history', options)
|
|
42
43
|
end
|
|
43
44
|
|
|
44
45
|
#
|
|
45
|
-
#
|
|
46
|
+
# Lists direct message channels for the calling user.
|
|
46
47
|
#
|
|
48
|
+
# @option options [Object] :cursor
|
|
49
|
+
# 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.
|
|
50
|
+
# @option options [Object] :limit
|
|
51
|
+
# The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't been reached.
|
|
47
52
|
# @see https://api.slack.com/methods/im.list
|
|
48
|
-
# @see https://github.com/
|
|
53
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/im/im.list.json
|
|
49
54
|
def im_list(options = {})
|
|
50
|
-
|
|
55
|
+
logger.warn('im.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.')
|
|
56
|
+
if block_given?
|
|
57
|
+
Pagination::Cursor.new(self, :im_list, options).each do |page|
|
|
58
|
+
yield page
|
|
59
|
+
end
|
|
60
|
+
else
|
|
61
|
+
post('im.list', options)
|
|
62
|
+
end
|
|
51
63
|
end
|
|
52
64
|
|
|
53
65
|
#
|
|
54
|
-
#
|
|
66
|
+
# Sets the read cursor in a direct message channel.
|
|
55
67
|
#
|
|
56
68
|
# @option options [im] :channel
|
|
57
69
|
# Direct message channel to set reading cursor in.
|
|
58
70
|
# @option options [timestamp] :ts
|
|
59
71
|
# Timestamp of the most recently seen message.
|
|
60
72
|
# @see https://api.slack.com/methods/im.mark
|
|
61
|
-
# @see https://github.com/
|
|
73
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/im/im.mark.json
|
|
62
74
|
def im_mark(options = {})
|
|
63
75
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
64
76
|
throw ArgumentError.new('Required arguments :ts missing') if options[:ts].nil?
|
|
65
|
-
options = options.merge(channel:
|
|
77
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
78
|
+
logger.warn('im.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.')
|
|
66
79
|
post('im.mark', options)
|
|
67
80
|
end
|
|
68
81
|
|
|
69
82
|
#
|
|
70
|
-
#
|
|
83
|
+
# Opens a direct message channel.
|
|
71
84
|
#
|
|
72
85
|
# @option options [user] :user
|
|
73
86
|
# User to open a direct message channel with.
|
|
87
|
+
# @option options [Object] :include_locale
|
|
88
|
+
# Set this to true to receive the locale for this im. Defaults to false.
|
|
74
89
|
# @option options [Object] :return_im
|
|
75
90
|
# Boolean, indicates you want the full IM channel definition in the response.
|
|
76
91
|
# @see https://api.slack.com/methods/im.open
|
|
77
|
-
# @see https://github.com/
|
|
92
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/im/im.open.json
|
|
78
93
|
def im_open(options = {})
|
|
79
94
|
throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
|
|
80
95
|
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
|
96
|
+
logger.warn('im.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: conversations.open.')
|
|
81
97
|
post('im.open', options)
|
|
82
98
|
end
|
|
83
99
|
|
|
84
100
|
#
|
|
85
|
-
#
|
|
101
|
+
# Retrieve a thread of messages posted to a direct message conversation
|
|
86
102
|
#
|
|
87
103
|
# @option options [im] :channel
|
|
88
104
|
# Direct message channel to fetch thread from.
|
|
89
105
|
# @option options [Object] :thread_ts
|
|
90
106
|
# Unique identifier of a thread's parent message.
|
|
91
107
|
# @see https://api.slack.com/methods/im.replies
|
|
92
|
-
# @see https://github.com/
|
|
108
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/im/im.replies.json
|
|
93
109
|
def im_replies(options = {})
|
|
94
110
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
95
111
|
throw ArgumentError.new('Required arguments :thread_ts missing') if options[:thread_ts].nil?
|
|
96
|
-
options = options.merge(channel:
|
|
112
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
113
|
+
logger.warn('im.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.')
|
|
97
114
|
post('im.replies', options)
|
|
98
115
|
end
|
|
99
116
|
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
|
3
|
+
|
|
4
|
+
module Slack
|
|
5
|
+
module Web
|
|
6
|
+
module Api
|
|
7
|
+
module Endpoints
|
|
8
|
+
module Migration
|
|
9
|
+
#
|
|
10
|
+
# For Enterprise Grid workspaces, map local user IDs to global user IDs
|
|
11
|
+
#
|
|
12
|
+
# @option options [Object] :users
|
|
13
|
+
# A comma-separated list of user ids, up to 400 per request.
|
|
14
|
+
# @option options [Object] :team_id
|
|
15
|
+
# Specify team_id starts with T in case of Org Token.
|
|
16
|
+
# @option options [Object] :to_old
|
|
17
|
+
# Specify true to convert W global user IDs to workspace-specific U IDs. Defaults to false.
|
|
18
|
+
# @see https://api.slack.com/methods/migration.exchange
|
|
19
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/migration/migration.exchange.json
|
|
20
|
+
def migration_exchange(options = {})
|
|
21
|
+
throw ArgumentError.new('Required arguments :users missing') if options[:users].nil?
|
|
22
|
+
post('migration.exchange', options)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
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,63 +7,75 @@ module Slack
|
|
|
6
7
|
module Endpoints
|
|
7
8
|
module Mpim
|
|
8
9
|
#
|
|
9
|
-
#
|
|
10
|
+
# Closes a multiparty direct message channel.
|
|
10
11
|
#
|
|
11
12
|
# @option options [channel] :channel
|
|
12
13
|
# MPIM to close.
|
|
13
14
|
# @see https://api.slack.com/methods/mpim.close
|
|
14
|
-
# @see https://github.com/
|
|
15
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/mpim/mpim.close.json
|
|
15
16
|
def mpim_close(options = {})
|
|
16
17
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
17
|
-
options = options.merge(channel:
|
|
18
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
19
|
+
logger.warn('mpim.close: 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.close.')
|
|
18
20
|
post('mpim.close', options)
|
|
19
21
|
end
|
|
20
22
|
|
|
21
23
|
#
|
|
22
|
-
#
|
|
23
|
-
# To read the entire history for a multiparty direct message, call the method with no latest or
|
|
24
|
-
# oldest arguments, and then continue paging using the instructions below.
|
|
24
|
+
# Fetches history of messages and events from a multiparty direct message.
|
|
25
25
|
#
|
|
26
26
|
# @option options [channel] :channel
|
|
27
27
|
# Multiparty direct message to fetch history for.
|
|
28
|
+
# @option options [Object] :inclusive
|
|
29
|
+
# Include messages with latest or oldest timestamp in results.
|
|
28
30
|
# @option options [timestamp] :latest
|
|
29
31
|
# End of time range of messages to include in results.
|
|
30
32
|
# @option options [timestamp] :oldest
|
|
31
33
|
# Start of time range of messages to include in results.
|
|
32
|
-
# @option options [Object] :inclusive
|
|
33
|
-
# Include messages with latest or oldest timestamp in results.
|
|
34
34
|
# @option options [Object] :unreads
|
|
35
35
|
# Include unread_count_display in the output?.
|
|
36
36
|
# @see https://api.slack.com/methods/mpim.history
|
|
37
|
-
# @see https://github.com/
|
|
37
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/mpim/mpim.history.json
|
|
38
38
|
def mpim_history(options = {})
|
|
39
39
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
40
|
-
options = options.merge(channel:
|
|
40
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
41
|
+
logger.warn('mpim.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.')
|
|
41
42
|
post('mpim.history', options)
|
|
42
43
|
end
|
|
43
44
|
|
|
44
45
|
#
|
|
45
|
-
#
|
|
46
|
+
# Lists multiparty direct message channels for the calling user.
|
|
46
47
|
#
|
|
48
|
+
# @option options [Object] :cursor
|
|
49
|
+
# 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.
|
|
50
|
+
# @option options [Object] :limit
|
|
51
|
+
# 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.
|
|
47
52
|
# @see https://api.slack.com/methods/mpim.list
|
|
48
|
-
# @see https://github.com/
|
|
53
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/mpim/mpim.list.json
|
|
49
54
|
def mpim_list(options = {})
|
|
50
|
-
|
|
55
|
+
logger.warn('mpim.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.')
|
|
56
|
+
if block_given?
|
|
57
|
+
Pagination::Cursor.new(self, :mpim_list, options).each do |page|
|
|
58
|
+
yield page
|
|
59
|
+
end
|
|
60
|
+
else
|
|
61
|
+
post('mpim.list', options)
|
|
62
|
+
end
|
|
51
63
|
end
|
|
52
64
|
|
|
53
65
|
#
|
|
54
|
-
#
|
|
66
|
+
# Sets the read cursor in a multiparty direct message channel.
|
|
55
67
|
#
|
|
56
68
|
# @option options [channel] :channel
|
|
57
|
-
#
|
|
69
|
+
# Channel or conversation to set the read cursor for.
|
|
58
70
|
# @option options [timestamp] :ts
|
|
59
|
-
#
|
|
71
|
+
# Unique identifier of message you want marked as most recently seen in this conversation.
|
|
60
72
|
# @see https://api.slack.com/methods/mpim.mark
|
|
61
|
-
# @see https://github.com/
|
|
73
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/mpim/mpim.mark.json
|
|
62
74
|
def mpim_mark(options = {})
|
|
63
75
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
64
76
|
throw ArgumentError.new('Required arguments :ts missing') if options[:ts].nil?
|
|
65
|
-
options = options.merge(channel:
|
|
77
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
78
|
+
logger.warn('mpim.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.')
|
|
66
79
|
post('mpim.mark', options)
|
|
67
80
|
end
|
|
68
81
|
|
|
@@ -72,25 +85,27 @@ module Slack
|
|
|
72
85
|
# @option options [Object] :users
|
|
73
86
|
# Comma separated lists of users. The ordering of the users is preserved whenever a MPIM group is returned.
|
|
74
87
|
# @see https://api.slack.com/methods/mpim.open
|
|
75
|
-
# @see https://github.com/
|
|
88
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/mpim/mpim.open.json
|
|
76
89
|
def mpim_open(options = {})
|
|
77
90
|
throw ArgumentError.new('Required arguments :users missing') if options[:users].nil?
|
|
91
|
+
logger.warn('mpim.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: conversations.open.')
|
|
78
92
|
post('mpim.open', options)
|
|
79
93
|
end
|
|
80
94
|
|
|
81
95
|
#
|
|
82
|
-
#
|
|
96
|
+
# Retrieve a thread of messages posted to a direct message conversation from a multiparty direct message.
|
|
83
97
|
#
|
|
84
98
|
# @option options [channel] :channel
|
|
85
99
|
# Multiparty direct message channel to fetch thread from.
|
|
86
100
|
# @option options [Object] :thread_ts
|
|
87
101
|
# Unique identifier of a thread's parent message.
|
|
88
102
|
# @see https://api.slack.com/methods/mpim.replies
|
|
89
|
-
# @see https://github.com/
|
|
103
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/mpim/mpim.replies.json
|
|
90
104
|
def mpim_replies(options = {})
|
|
91
105
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
92
106
|
throw ArgumentError.new('Required arguments :thread_ts missing') if options[:thread_ts].nil?
|
|
93
|
-
options = options.merge(channel:
|
|
107
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
108
|
+
logger.warn('mpim.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.')
|
|
94
109
|
post('mpim.replies', options)
|
|
95
110
|
end
|
|
96
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
|
|
@@ -6,8 +7,7 @@ module Slack
|
|
|
6
7
|
module Endpoints
|
|
7
8
|
module Oauth
|
|
8
9
|
#
|
|
9
|
-
#
|
|
10
|
-
# This is used as part of the OAuth authentication flow.
|
|
10
|
+
# Exchanges a temporary OAuth verifier code for an access token.
|
|
11
11
|
#
|
|
12
12
|
# @option options [Object] :client_id
|
|
13
13
|
# Issued when you created your application.
|
|
@@ -17,13 +17,34 @@ module Slack
|
|
|
17
17
|
# The code param returned via the OAuth callback.
|
|
18
18
|
# @option options [Object] :redirect_uri
|
|
19
19
|
# This must match the originally submitted URI (if one was sent).
|
|
20
|
+
# @option options [Object] :single_channel
|
|
21
|
+
# Request the user to add your app only to a single channel. Only valid with a legacy workspace app.
|
|
20
22
|
# @see https://api.slack.com/methods/oauth.access
|
|
21
|
-
# @see https://github.com/
|
|
23
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/oauth/oauth.access.json
|
|
22
24
|
def oauth_access(options = {})
|
|
25
|
+
post('oauth.access', options)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
#
|
|
29
|
+
# Exchanges a temporary OAuth verifier code for a workspace token.
|
|
30
|
+
#
|
|
31
|
+
# @option options [Object] :client_id
|
|
32
|
+
# Issued when you created your application.
|
|
33
|
+
# @option options [Object] :client_secret
|
|
34
|
+
# Issued when you created your application.
|
|
35
|
+
# @option options [Object] :code
|
|
36
|
+
# The code param returned via the OAuth callback.
|
|
37
|
+
# @option options [Object] :redirect_uri
|
|
38
|
+
# This must match the originally submitted URI (if one was sent).
|
|
39
|
+
# @option options [Object] :single_channel
|
|
40
|
+
# Request the user to add your app only to a single channel.
|
|
41
|
+
# @see https://api.slack.com/methods/oauth.token
|
|
42
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/oauth/oauth.token.json
|
|
43
|
+
def oauth_token(options = {})
|
|
23
44
|
throw ArgumentError.new('Required arguments :client_id missing') if options[:client_id].nil?
|
|
24
45
|
throw ArgumentError.new('Required arguments :client_secret missing') if options[:client_secret].nil?
|
|
25
46
|
throw ArgumentError.new('Required arguments :code missing') if options[:code].nil?
|
|
26
|
-
post('oauth.
|
|
47
|
+
post('oauth.token', options)
|
|
27
48
|
end
|
|
28
49
|
end
|
|
29
50
|
end
|
|
@@ -0,0 +1,30 @@
|
|
|
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 OauthV2
|
|
9
|
+
#
|
|
10
|
+
# Exchanges a temporary OAuth verifier code for an access token.
|
|
11
|
+
#
|
|
12
|
+
# @option options [Object] :code
|
|
13
|
+
# The code param returned via the OAuth callback.
|
|
14
|
+
# @option options [Object] :client_id
|
|
15
|
+
# Issued when you created your application.
|
|
16
|
+
# @option options [Object] :client_secret
|
|
17
|
+
# Issued when you created your application.
|
|
18
|
+
# @option options [Object] :redirect_uri
|
|
19
|
+
# This must match the originally submitted URI (if one was sent).
|
|
20
|
+
# @see https://api.slack.com/methods/oauth.v2.access
|
|
21
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/oauth.v2/oauth.v2.access.json
|
|
22
|
+
def oauth_v2_access(options = {})
|
|
23
|
+
throw ArgumentError.new('Required arguments :code missing') if options[:code].nil?
|
|
24
|
+
post('oauth.v2.access', options)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
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,45 @@ module Slack
|
|
|
6
7
|
module Endpoints
|
|
7
8
|
module Pins
|
|
8
9
|
#
|
|
9
|
-
#
|
|
10
|
-
# The channel argument is required and one of file, file_comment, or timestamp must also be specified.
|
|
10
|
+
# Pins an item to a channel.
|
|
11
11
|
#
|
|
12
12
|
# @option options [channel] :channel
|
|
13
13
|
# Channel to pin the item in.
|
|
14
|
-
# @option options [file] :file
|
|
15
|
-
# File to pin.
|
|
16
|
-
# @option options [Object] :file_comment
|
|
17
|
-
# File comment to pin.
|
|
18
14
|
# @option options [Object] :timestamp
|
|
19
15
|
# Timestamp of the message to pin.
|
|
20
16
|
# @see https://api.slack.com/methods/pins.add
|
|
21
|
-
# @see https://github.com/
|
|
17
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/pins/pins.add.json
|
|
22
18
|
def pins_add(options = {})
|
|
23
19
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
24
|
-
options = options.merge(channel:
|
|
20
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
25
21
|
post('pins.add', options)
|
|
26
22
|
end
|
|
27
23
|
|
|
28
24
|
#
|
|
29
|
-
#
|
|
25
|
+
# Lists items pinned to a channel.
|
|
30
26
|
#
|
|
31
27
|
# @option options [channel] :channel
|
|
32
28
|
# Channel to get pinned items for.
|
|
33
29
|
# @see https://api.slack.com/methods/pins.list
|
|
34
|
-
# @see https://github.com/
|
|
30
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/pins/pins.list.json
|
|
35
31
|
def pins_list(options = {})
|
|
36
32
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
37
|
-
options = options.merge(channel:
|
|
33
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
38
34
|
post('pins.list', options)
|
|
39
35
|
end
|
|
40
36
|
|
|
41
37
|
#
|
|
42
|
-
#
|
|
43
|
-
# The channel argument is required and one of file, file_comment, or timestamp must also be specified.
|
|
38
|
+
# Un-pins an item from a channel.
|
|
44
39
|
#
|
|
45
40
|
# @option options [channel] :channel
|
|
46
41
|
# Channel where the item is pinned to.
|
|
47
|
-
# @option options [file] :file
|
|
48
|
-
# File to un-pin.
|
|
49
|
-
# @option options [Object] :file_comment
|
|
50
|
-
# File comment to un-pin.
|
|
51
42
|
# @option options [Object] :timestamp
|
|
52
43
|
# Timestamp of the message to un-pin.
|
|
53
44
|
# @see https://api.slack.com/methods/pins.remove
|
|
54
|
-
# @see https://github.com/
|
|
45
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/pins/pins.remove.json
|
|
55
46
|
def pins_remove(options = {})
|
|
56
47
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
|
57
|
-
options = options.merge(channel:
|
|
48
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
|
58
49
|
post('pins.remove', options)
|
|
59
50
|
end
|
|
60
51
|
end
|