slack-ruby-client 0.11.1 → 1.1.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/.github/workflows/danger.yml +19 -0
- data/.github/workflows/integtest.yml +25 -0
- data/.github/workflows/rubocop.yml +13 -0
- data/.github/workflows/test.yml +34 -0
- data/.gitignore +6 -3
- data/.rubocop.yml +36 -2
- data/.rubocop_todo.yml +186 -54
- data/CHANGELOG.md +156 -31
- data/CONTRIBUTING.md +20 -9
- data/Dangerfile +2 -0
- data/Gemfile +27 -6
- data/Gemfile.danger +6 -0
- data/LICENSE.md +1 -1
- data/README.md +199 -52
- data/RELEASING.md +2 -2
- data/Rakefile +2 -1
- data/UPGRADING.md +89 -3
- data/bin/commands/admin_analytics.rb +16 -0
- data/bin/commands/admin_apps.rb +51 -0
- data/bin/commands/admin_apps_approved.rb +17 -0
- data/bin/commands/admin_apps_requests.rb +28 -0
- data/bin/commands/admin_apps_restricted.rb +17 -0
- data/bin/commands/admin_auth_policy.rb +39 -0
- data/bin/commands/admin_barriers.rb +47 -0
- data/bin/commands/admin_conversations.rb +170 -0
- data/bin/commands/admin_conversations_ekm.rb +17 -0
- data/bin/commands/admin_conversations_restrictAccess.rb +37 -0
- data/bin/commands/admin_conversations_whitelist.rb +37 -0
- data/bin/commands/admin_emoji.rb +54 -0
- data/bin/commands/admin_inviteRequests.rb +36 -0
- data/bin/commands/admin_inviteRequests_approved.rb +16 -0
- data/bin/commands/admin_inviteRequests_denied.rb +16 -0
- data/bin/commands/admin_teams.rb +27 -0
- data/bin/commands/admin_teams_admins.rb +16 -0
- data/bin/commands/admin_teams_owners.rb +16 -0
- data/bin/commands/admin_teams_settings.rb +64 -0
- data/bin/commands/admin_usergroups.rb +48 -0
- data/bin/commands/admin_users.rb +98 -0
- data/bin/commands/admin_users_session.rb +78 -0
- data/bin/commands/admin_users_unsupportedVersions.rb +15 -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_manifest.rb +52 -0
- data/bin/commands/apps_permissions.rb +1 -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 +1 -0
- data/bin/commands/auth_teams.rb +16 -0
- data/bin/commands/bookmarks.rb +52 -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 +57 -12
- data/bin/commands/chat_scheduledMessages.rb +19 -0
- data/bin/commands/conversations.rb +75 -4
- data/bin/commands/dialog.rb +1 -0
- data/bin/commands/dnd.rb +6 -3
- data/bin/commands/emoji.rb +1 -0
- data/bin/commands/files.rb +14 -19
- data/bin/commands/files_comments.rb +1 -21
- data/bin/commands/files_remote.rb +78 -0
- data/bin/commands/groups.rb +1 -159
- data/bin/commands/im.rb +1 -62
- data/bin/commands/migration.rb +2 -0
- data/bin/commands/mpim.rb +1 -58
- data/bin/commands/oauth.rb +4 -15
- data/bin/commands/oauth_v2.rb +29 -0
- data/bin/commands/openid_connect.rb +27 -0
- data/bin/commands/pins.rb +3 -6
- data/bin/commands/reactions.rb +5 -3
- data/bin/commands/reminders.rb +7 -0
- data/bin/commands/rtm.rb +7 -4
- data/bin/commands/search.rb +8 -3
- data/bin/commands/stars.rb +10 -6
- data/bin/commands/team.rb +6 -0
- data/bin/commands/team_billing.rb +13 -0
- data/bin/commands/team_preferences.rb +13 -0
- data/bin/commands/team_profile.rb +1 -0
- data/bin/commands/tooling_tokens.rb +14 -0
- data/bin/commands/usergroups.rb +7 -1
- data/bin/commands/usergroups_users.rb +3 -0
- data/bin/commands/users.rb +21 -6
- data/bin/commands/users_admin.rb +1 -0
- data/bin/commands/users_prefs.rb +1 -0
- data/bin/commands/users_profile.rb +7 -6
- data/bin/commands/views.rb +48 -0
- data/bin/commands/workflows.rb +38 -0
- data/bin/commands.rb +40 -5
- 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_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 +12 -7
- 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/config.rb +2 -2
- data/lib/slack/events/config.rb +32 -0
- data/lib/slack/events/request.rb +72 -0
- data/lib/slack/logger.rb +6 -5
- data/lib/slack/messages/formatting.rb +1 -1
- 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 +103 -34
- data/lib/slack/real_time/concurrency/async.rb +138 -0
- data/lib/slack/real_time/concurrency.rb +2 -2
- data/lib/slack/real_time/config.rb +6 -10
- 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/models.rb +1 -0
- data/lib/slack/real_time/socket.rb +45 -17
- data/lib/slack/real_time/stores/base.rb +5 -7
- data/lib/slack/real_time/stores/starter.rb +27 -3
- data/lib/slack/real_time/stores/store.rb +43 -25
- data/lib/slack/real_time/stores.rb +1 -0
- data/lib/slack/version.rb +2 -1
- data/lib/slack/web/api/endpoints/admin_analytics.rb +28 -0
- data/lib/slack/web/api/endpoints/admin_apps.rb +78 -0
- data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_apps_requests.rb +51 -0
- data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_auth_policy.rb +72 -0
- data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
- data/lib/slack/web/api/endpoints/admin_conversations.rb +262 -0
- data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +64 -0
- data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
- data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
- data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
- data/lib/slack/web/api/endpoints/admin_users.rb +163 -0
- data/lib/slack/web/api/endpoints/admin_users_session.rb +122 -0
- data/lib/slack/web/api/endpoints/admin_users_unsupportedVersions.rb +25 -0
- data/lib/slack/web/api/endpoints/api.rb +2 -3
- data/lib/slack/web/api/endpoints/apps.rb +27 -0
- data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
- data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
- data/lib/slack/web/api/endpoints/apps_manifest.rb +77 -0
- data/lib/slack/web/api/endpoints/apps_permissions.rb +1 -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 +2 -1
- data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
- data/lib/slack/web/api/endpoints/bookmarks.rb +86 -0
- data/lib/slack/web/api/endpoints/bots.rb +4 -1
- 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 +145 -46
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
- data/lib/slack/web/api/endpoints/conversations.rb +152 -39
- data/lib/slack/web/api/endpoints/dialog.rb +3 -2
- data/lib/slack/web/api/endpoints/dnd.rb +9 -4
- data/lib/slack/web/api/endpoints/emoji.rb +1 -0
- data/lib/slack/web/api/endpoints/files.rb +35 -28
- data/lib/slack/web/api/endpoints/files_comments.rb +2 -34
- data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
- data/lib/slack/web/api/endpoints/groups.rb +1 -243
- data/lib/slack/web/api/endpoints/im.rb +1 -101
- data/lib/slack/web/api/endpoints/migration.rb +5 -2
- data/lib/slack/web/api/endpoints/mpim.rb +1 -86
- data/lib/slack/web/api/endpoints/oauth.rb +8 -30
- data/lib/slack/web/api/endpoints/oauth_v2.rb +48 -0
- data/lib/slack/web/api/endpoints/openid_connect.rb +42 -0
- data/lib/slack/web/api/endpoints/pins.rb +8 -15
- data/lib/slack/web/api/endpoints/reactions.rb +29 -18
- data/lib/slack/web/api/endpoints/reminders.rb +18 -5
- data/lib/slack/web/api/endpoints/rtm.rb +14 -9
- data/lib/slack/web/api/endpoints/search.rb +30 -15
- data/lib/slack/web/api/endpoints/stars.rb +23 -10
- data/lib/slack/web/api/endpoints/team.rb +15 -4
- data/lib/slack/web/api/endpoints/team_billing.rb +21 -0
- data/lib/slack/web/api/endpoints/team_preferences.rb +21 -0
- data/lib/slack/web/api/endpoints/team_profile.rb +2 -1
- data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
- data/lib/slack/web/api/endpoints/usergroups.rb +27 -16
- data/lib/slack/web/api/endpoints/usergroups_users.rb +10 -5
- data/lib/slack/web/api/endpoints/users.rb +44 -17
- 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 +9 -8
- data/lib/slack/web/api/endpoints/views.rb +97 -0
- data/lib/slack/web/api/endpoints/workflows.rb +61 -0
- data/lib/slack/web/api/endpoints.rb +80 -12
- data/lib/slack/web/api/error.rb +1 -0
- data/lib/slack/web/api/errors/server_error.rb +37 -0
- data/lib/slack/web/api/errors/slack_error.rb +14 -1
- data/lib/slack/web/api/errors/too_many_requests_error.rb +2 -4
- data/lib/slack/web/api/errors.rb +1066 -0
- data/lib/slack/web/api/mixins/{channels.id.rb → conversations.id.rb} +4 -5
- 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/mixins.rb +2 -2
- data/lib/slack/web/api/patches/chat.1.patch +70 -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 -2
- 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 +5 -1
- data/lib/slack/web/faraday/response/raise_error.rb +14 -7
- data/lib/slack/web/faraday/response/wrap_error.rb +24 -0
- data/lib/slack/web/pagination/cursor.rb +7 -7
- data/lib/slack-ruby-client.rb +12 -5
- data/lib/slack.rb +1 -0
- data/lib/slack_ruby_client.rb +1 -0
- data/lib/tasks/git.rake +1 -0
- data/lib/tasks/real_time.rake +16 -8
- 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 +7 -12
- data/spec/fixtures/slack/web/429_error.yml +50 -54
- data/spec/fixtures/slack/web/auth_test_error.yml +51 -18
- data/spec/fixtures/slack/web/auth_test_success.yml +50 -26
- data/spec/fixtures/slack/web/conversations_info.yml +167 -0
- data/spec/fixtures/slack/web/conversations_setTopic.yml +84 -0
- data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +172 -0
- data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +253 -0
- data/spec/fixtures/slack/web/paginated_users_list.yml +501 -69
- data/spec/fixtures/slack/web/rtm_connect.yml +267 -30
- data/spec/fixtures/slack/web/rtm_start.yml +771 -60
- data/spec/fixtures/slack/web/users_info.yml +153 -69
- data/spec/fixtures/slack/web/users_list.yml +102 -41
- data/spec/fixtures/slack/web/views_open_error.yml +83 -0
- data/spec/integration/integration_spec.rb +116 -48
- data/spec/slack/config_spec.rb +2 -0
- data/spec/slack/events/config_spec.rb +33 -0
- data/spec/slack/events/request_spec.rb +184 -0
- data/spec/slack/messages/formatting_spec.rb +25 -14
- data/spec/slack/real_time/api/message_spec.rb +6 -1
- data/spec/slack/real_time/api/ping_spec.rb +2 -0
- data/spec/slack/real_time/api/typing_spec.rb +5 -1
- data/spec/slack/real_time/client_spec.rb +258 -62
- 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 +3 -2
- data/spec/slack/real_time/event_handlers/channel_spec.rb +14 -11
- data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +2 -1
- data/spec/slack/real_time/event_handlers/group_spec.rb +6 -5
- data/spec/slack/real_time/event_handlers/im_spec.rb +10 -9
- data/spec/slack/real_time/event_handlers/team_spec.rb +3 -1
- data/spec/slack/real_time/event_handlers/user_spec.rb +3 -2
- 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 +4 -3
- data/spec/slack/slack_spec.rb +42 -8
- data/spec/slack/version_spec.rb +2 -1
- data/spec/slack/web/api/endpoints/admin_analytics_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/admin_auth_policy_spec.rb +35 -0
- data/spec/slack/web/api/endpoints/admin_barriers_spec.rb +38 -0
- data/spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +32 -0
- data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +98 -0
- data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +37 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/admin_teams_admins_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_owners_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +53 -0
- data/spec/slack/web/api/endpoints/admin_teams_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +37 -0
- data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +41 -0
- data/spec/slack/web/api/endpoints/admin_users_spec.rb +67 -0
- data/spec/slack/web/api/endpoints/admin_users_unsupportedVersions_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/api_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/apps_connections_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/apps_manifest_spec.rb +36 -0
- data/spec/slack/web/api/endpoints/apps_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/auth_teams_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/bookmarks_spec.rb +40 -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/custom_specs/auth_spec.rb +9 -7
- data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +131 -39
- data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +16 -6
- data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +8 -3
- data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +103 -0
- data/spec/slack/web/api/endpoints/dnd_spec.rb +4 -3
- data/spec/slack/web/api/endpoints/emoji_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/files_comments_spec.rb +3 -21
- data/spec/slack/web/api/endpoints/files_remote_spec.rb +24 -0
- data/spec/slack/web/api/endpoints/files_spec.rb +5 -4
- data/spec/slack/web/api/endpoints/migration_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/oauth_spec.rb +1 -22
- data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/openid_connect_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/pins_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/reactions_spec.rb +8 -1
- data/spec/slack/web/api/endpoints/reminders_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/rtm_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/search_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/stars_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/team_billing_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/team_preferences_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/team_profile_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/team_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/tooling_tokens_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/usergroups_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/users_admin_spec.rb +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 +7 -7
- data/spec/slack/web/api/errors/slack_error_spec.rb +26 -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/users_spec.rb +25 -14
- data/spec/slack/web/api/pagination/cursor_spec.rb +43 -15
- data/spec/slack/web/client_spec.rb +186 -19
- data/spec/slack/web/faraday/request_spec.rb +80 -0
- data/spec/slack/web/faraday/response/raise_error_spec.rb +48 -12
- data/spec/spec_helper.rb +9 -2
- 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 +6 -6
- data/spec/support/real_time/event.rb +1 -0
- data/spec/support/token.rb +1 -0
- data/spec/support/vcr.rb +37 -1
- metadata +177 -231
- data/.travis.yml +0 -30
- 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 -117
- data/lib/slack/real_time/concurrency/eventmachine.rb +0 -60
- data/lib/slack/web/api/mixins/channels.id.json +0 -20
- data/lib/slack/web/api/mixins/groups.id.json +0 -20
- data/lib/slack/web/api/mixins/groups.id.rb +0 -26
- data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
- data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
- data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -21
- data/lib/slack/web/api/patches/chat.4.postEphemeral-attachments-support.patch +0 -17
- data/screenshots/register-bot.png +0 -0
- data/spec/fixtures/slack/web/503_error.yml +0 -14
- data/spec/fixtures/slack/web/channels_info.yml +0 -46
- data/spec/fixtures/slack/web/groups_info.yml +0 -43
- data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -62
- data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -47
- data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +0 -15
- data/spec/slack/web/api/endpoints/conversations_spec.rb +0 -100
- data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -11
- data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -11
- data/spec/slack/web/api/endpoints/im_spec.rb +0 -38
- data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -38
- data/spec/slack/web/api/errors/service_unavailable_spec.rb +0 -14
- data/spec/slack/web/api/mixins/channels_spec.rb +0 -31
- data/spec/slack/web/api/mixins/groups_spec.rb +0 -31
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
|
3
|
+
|
|
4
|
+
desc 'FilesRemote methods.'
|
|
5
|
+
command 'files_remote' do |g|
|
|
6
|
+
g.desc 'Adds a file from a remote service'
|
|
7
|
+
g.long_desc %( Adds a file from a remote service )
|
|
8
|
+
g.command 'add' do |c|
|
|
9
|
+
c.flag 'external_id', desc: 'Creator defined GUID for the file.'
|
|
10
|
+
c.flag 'external_url', desc: 'URL of the remote file.'
|
|
11
|
+
c.flag 'title', desc: 'Title of the file being shared.'
|
|
12
|
+
c.flag 'filetype', desc: 'type of file.'
|
|
13
|
+
c.flag 'indexable_file_contents', desc: 'A text file (txt, pdf, doc, etc.) containing textual search terms that are used to improve discovery of the remote file.'
|
|
14
|
+
c.flag 'preview_image', desc: 'Preview of the document via multipart/form-data.'
|
|
15
|
+
c.action do |_global_options, options, _args|
|
|
16
|
+
puts JSON.dump($client.files_remote_add(options))
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
g.desc 'Retrieve information about a remote file added to Slack'
|
|
21
|
+
g.long_desc %( Retrieve information about a remote file added to Slack )
|
|
22
|
+
g.command 'info' do |c|
|
|
23
|
+
c.flag 'external_id', desc: 'Creator defined GUID for the file.'
|
|
24
|
+
c.flag 'file', desc: 'Specify a file by providing its ID.'
|
|
25
|
+
c.action do |_global_options, options, _args|
|
|
26
|
+
puts JSON.dump($client.files_remote_info(options))
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
g.desc 'Retrieve information about a remote file added to Slack'
|
|
31
|
+
g.long_desc %( Retrieve information about a remote file added to Slack )
|
|
32
|
+
g.command 'list' do |c|
|
|
33
|
+
c.flag 'channel', desc: 'Filter files appearing in a specific channel, indicated by its ID.'
|
|
34
|
+
c.flag 'cursor', desc: "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."
|
|
35
|
+
c.flag 'limit', desc: 'The maximum number of items to return.'
|
|
36
|
+
c.flag 'ts_from', desc: 'Filter files created after this timestamp (inclusive).'
|
|
37
|
+
c.flag 'ts_to', desc: 'Filter files created before this timestamp (inclusive).'
|
|
38
|
+
c.action do |_global_options, options, _args|
|
|
39
|
+
puts JSON.dump($client.files_remote_list(options))
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
g.desc 'Remove a remote file.'
|
|
44
|
+
g.long_desc %( Remove a remote file. )
|
|
45
|
+
g.command 'remove' do |c|
|
|
46
|
+
c.flag 'external_id', desc: 'Creator defined GUID for the file.'
|
|
47
|
+
c.flag 'file', desc: 'Specify a file by providing its ID.'
|
|
48
|
+
c.action do |_global_options, options, _args|
|
|
49
|
+
puts JSON.dump($client.files_remote_remove(options))
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
g.desc 'Share a remote file into a channel.'
|
|
54
|
+
g.long_desc %( Share a remote file into a channel. )
|
|
55
|
+
g.command 'share' do |c|
|
|
56
|
+
c.flag 'channels', desc: 'Comma-separated list of channel IDs where the file will be shared.'
|
|
57
|
+
c.flag 'external_id', desc: '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.'
|
|
58
|
+
c.flag 'file', desc: 'Specify a file registered with Slack by providing its ID. Either this field or external_id or both are required.'
|
|
59
|
+
c.action do |_global_options, options, _args|
|
|
60
|
+
puts JSON.dump($client.files_remote_share(options))
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
g.desc 'Updates an existing remote file.'
|
|
65
|
+
g.long_desc %( Updates an existing remote file. )
|
|
66
|
+
g.command 'update' do |c|
|
|
67
|
+
c.flag 'external_id', desc: 'Creator defined GUID for the file.'
|
|
68
|
+
c.flag 'external_url', desc: 'URL of the remote file.'
|
|
69
|
+
c.flag 'file', desc: 'Specify a file by providing its ID.'
|
|
70
|
+
c.flag 'filetype', desc: 'type of file.'
|
|
71
|
+
c.flag 'indexable_file_contents', desc: 'File containing contents that can be used to improve searchability for the remote file.'
|
|
72
|
+
c.flag 'preview_image', desc: 'Preview of the document via multipart/form-data.'
|
|
73
|
+
c.flag 'title', desc: 'Title of the file being shared.'
|
|
74
|
+
c.action do |_global_options, options, _args|
|
|
75
|
+
puts JSON.dump($client.files_remote_update(options))
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
data/bin/commands/groups.rb
CHANGED
|
@@ -1,48 +1,8 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
desc "Get info on your team's private channels."
|
|
4
5
|
command 'groups' do |g|
|
|
5
|
-
g.desc 'Archives a private channel.'
|
|
6
|
-
g.long_desc %( Archives a private channel. )
|
|
7
|
-
g.command 'archive' do |c|
|
|
8
|
-
c.flag 'channel', desc: 'Private channel to archive.'
|
|
9
|
-
c.action do |_global_options, options, _args|
|
|
10
|
-
puts JSON.dump($client.groups_archive(options))
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
g.desc 'Creates a private channel.'
|
|
15
|
-
g.long_desc %( Creates a private channel. )
|
|
16
|
-
g.command 'create' do |c|
|
|
17
|
-
c.flag 'name', desc: 'Name of private channel to create.'
|
|
18
|
-
c.flag 'validate', desc: 'Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.'
|
|
19
|
-
c.action do |_global_options, options, _args|
|
|
20
|
-
puts JSON.dump($client.groups_create(options))
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
g.desc 'Clones and archives a private channel.'
|
|
25
|
-
g.long_desc %( Clones and archives a private channel. )
|
|
26
|
-
g.command 'createChild' do |c|
|
|
27
|
-
c.flag 'channel', desc: 'Private channel to clone and archive.'
|
|
28
|
-
c.action do |_global_options, options, _args|
|
|
29
|
-
puts JSON.dump($client.groups_createChild(options))
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
g.desc 'Fetches history of messages and events from a private channel.'
|
|
34
|
-
g.long_desc %( Fetches history of messages and events from a private channel. )
|
|
35
|
-
g.command 'history' do |c|
|
|
36
|
-
c.flag 'channel', desc: 'Private channel to fetch history for.'
|
|
37
|
-
c.flag 'inclusive', desc: 'Include messages with latest or oldest timestamp in results.'
|
|
38
|
-
c.flag 'latest', desc: 'End of time range of messages to include in results.'
|
|
39
|
-
c.flag 'oldest', desc: 'Start of time range of messages to include in results.'
|
|
40
|
-
c.flag 'unreads', desc: 'Include unread_count_display in the output?.'
|
|
41
|
-
c.action do |_global_options, options, _args|
|
|
42
|
-
puts JSON.dump($client.groups_history(options))
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
|
|
46
6
|
g.desc 'This method returns the ID of a group.'
|
|
47
7
|
g.long_desc %( This method returns the ID of a group. )
|
|
48
8
|
g.command 'id' do |c|
|
|
@@ -51,122 +11,4 @@ command 'groups' do |g|
|
|
|
51
11
|
puts JSON.dump($client.groups_id(options))
|
|
52
12
|
end
|
|
53
13
|
end
|
|
54
|
-
|
|
55
|
-
g.desc 'Gets information about a private channel.'
|
|
56
|
-
g.long_desc %( Gets information about a private channel. )
|
|
57
|
-
g.command 'info' do |c|
|
|
58
|
-
c.flag 'channel', desc: 'Private channel to get info on.'
|
|
59
|
-
c.flag 'include_locale', desc: 'Set this to true to receive the locale for this group. Defaults to false.'
|
|
60
|
-
c.action do |_global_options, options, _args|
|
|
61
|
-
puts JSON.dump($client.groups_info(options))
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
g.desc 'Invites a user to a private channel.'
|
|
66
|
-
g.long_desc %( Invites a user to a private channel. )
|
|
67
|
-
g.command 'invite' do |c|
|
|
68
|
-
c.flag 'channel', desc: 'Private channel to invite user to.'
|
|
69
|
-
c.flag 'user', desc: 'User to invite.'
|
|
70
|
-
c.action do |_global_options, options, _args|
|
|
71
|
-
puts JSON.dump($client.groups_invite(options))
|
|
72
|
-
end
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
g.desc 'Removes a user from a private channel.'
|
|
76
|
-
g.long_desc %( Removes a user from a private channel. )
|
|
77
|
-
g.command 'kick' do |c|
|
|
78
|
-
c.flag 'channel', desc: 'Private channel to remove user from.'
|
|
79
|
-
c.flag 'user', desc: 'User to remove from private channel.'
|
|
80
|
-
c.action do |_global_options, options, _args|
|
|
81
|
-
puts JSON.dump($client.groups_kick(options))
|
|
82
|
-
end
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
g.desc 'Leaves a private channel.'
|
|
86
|
-
g.long_desc %( Leaves a private channel. )
|
|
87
|
-
g.command 'leave' do |c|
|
|
88
|
-
c.flag 'channel', desc: 'Private channel to leave.'
|
|
89
|
-
c.action do |_global_options, options, _args|
|
|
90
|
-
puts JSON.dump($client.groups_leave(options))
|
|
91
|
-
end
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
g.desc 'Lists private channels that the calling user has access to.'
|
|
95
|
-
g.long_desc %( Lists private channels that the calling user has access to. )
|
|
96
|
-
g.command 'list' do |c|
|
|
97
|
-
c.flag 'exclude_archived', desc: "Don't return archived private channels."
|
|
98
|
-
c.flag 'exclude_members', desc: 'Exclude the members from each group.'
|
|
99
|
-
c.action do |_global_options, options, _args|
|
|
100
|
-
puts JSON.dump($client.groups_list(options))
|
|
101
|
-
end
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
g.desc 'Sets the read cursor in a private channel.'
|
|
105
|
-
g.long_desc %( Sets the read cursor in a private channel. )
|
|
106
|
-
g.command 'mark' do |c|
|
|
107
|
-
c.flag 'channel', desc: 'Private channel to set reading cursor in.'
|
|
108
|
-
c.flag 'ts', desc: 'Timestamp of the most recently seen message.'
|
|
109
|
-
c.action do |_global_options, options, _args|
|
|
110
|
-
puts JSON.dump($client.groups_mark(options))
|
|
111
|
-
end
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
g.desc 'Opens a private channel.'
|
|
115
|
-
g.long_desc %( Opens a private channel. )
|
|
116
|
-
g.command 'open' do |c|
|
|
117
|
-
c.flag 'channel', desc: 'Private channel to open.'
|
|
118
|
-
c.action do |_global_options, options, _args|
|
|
119
|
-
puts JSON.dump($client.groups_open(options))
|
|
120
|
-
end
|
|
121
|
-
end
|
|
122
|
-
|
|
123
|
-
g.desc 'Renames a private channel.'
|
|
124
|
-
g.long_desc %( Renames a private channel. )
|
|
125
|
-
g.command 'rename' do |c|
|
|
126
|
-
c.flag 'channel', desc: 'Private channel to rename.'
|
|
127
|
-
c.flag 'name', desc: 'New name for private channel.'
|
|
128
|
-
c.flag 'validate', desc: 'Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.'
|
|
129
|
-
c.action do |_global_options, options, _args|
|
|
130
|
-
puts JSON.dump($client.groups_rename(options))
|
|
131
|
-
end
|
|
132
|
-
end
|
|
133
|
-
|
|
134
|
-
g.desc 'Retrieve a thread of messages posted to a private channel'
|
|
135
|
-
g.long_desc %( Retrieve a thread of messages posted to a private channel )
|
|
136
|
-
g.command 'replies' do |c|
|
|
137
|
-
c.flag 'channel', desc: 'Private channel to fetch thread from.'
|
|
138
|
-
c.flag 'thread_ts', desc: "Unique identifier of a thread's parent message."
|
|
139
|
-
c.action do |_global_options, options, _args|
|
|
140
|
-
puts JSON.dump($client.groups_replies(options))
|
|
141
|
-
end
|
|
142
|
-
end
|
|
143
|
-
|
|
144
|
-
g.desc 'Sets the purpose for a private channel.'
|
|
145
|
-
g.long_desc %( Sets the purpose for a private channel. )
|
|
146
|
-
g.command 'setPurpose' do |c|
|
|
147
|
-
c.flag 'channel', desc: 'Private channel to set the purpose of.'
|
|
148
|
-
c.flag 'purpose', desc: 'The new purpose.'
|
|
149
|
-
c.action do |_global_options, options, _args|
|
|
150
|
-
puts JSON.dump($client.groups_setPurpose(options))
|
|
151
|
-
end
|
|
152
|
-
end
|
|
153
|
-
|
|
154
|
-
g.desc 'Sets the topic for a private channel.'
|
|
155
|
-
g.long_desc %( Sets the topic for a private channel. )
|
|
156
|
-
g.command 'setTopic' do |c|
|
|
157
|
-
c.flag 'channel', desc: 'Private channel to set the topic of.'
|
|
158
|
-
c.flag 'topic', desc: 'The new topic.'
|
|
159
|
-
c.action do |_global_options, options, _args|
|
|
160
|
-
puts JSON.dump($client.groups_setTopic(options))
|
|
161
|
-
end
|
|
162
|
-
end
|
|
163
|
-
|
|
164
|
-
g.desc 'Unarchives a private channel.'
|
|
165
|
-
g.long_desc %( Unarchives a private channel. )
|
|
166
|
-
g.command 'unarchive' do |c|
|
|
167
|
-
c.flag 'channel', desc: 'Private channel to unarchive.'
|
|
168
|
-
c.action do |_global_options, options, _args|
|
|
169
|
-
puts JSON.dump($client.groups_unarchive(options))
|
|
170
|
-
end
|
|
171
|
-
end
|
|
172
14
|
end
|
data/bin/commands/im.rb
CHANGED
|
@@ -1,67 +1,6 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
desc 'Get info on your direct messages.'
|
|
4
5
|
command 'im' do |g|
|
|
5
|
-
g.desc 'Close a direct message channel.'
|
|
6
|
-
g.long_desc %( Close a direct message channel. )
|
|
7
|
-
g.command 'close' do |c|
|
|
8
|
-
c.flag 'channel', desc: 'Direct message channel to close.'
|
|
9
|
-
c.action do |_global_options, options, _args|
|
|
10
|
-
puts JSON.dump($client.im_close(options))
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
g.desc 'Fetches history of messages and events from direct message channel.'
|
|
15
|
-
g.long_desc %( Fetches history of messages and events from direct message channel. )
|
|
16
|
-
g.command 'history' do |c|
|
|
17
|
-
c.flag 'channel', desc: 'Direct message channel to fetch history for.'
|
|
18
|
-
c.flag 'inclusive', desc: 'Include messages with latest or oldest timestamp in results.'
|
|
19
|
-
c.flag 'latest', desc: 'End of time range of messages to include in results.'
|
|
20
|
-
c.flag 'oldest', desc: 'Start of time range of messages to include in results.'
|
|
21
|
-
c.flag 'unreads', desc: 'Include unread_count_display in the output?.'
|
|
22
|
-
c.action do |_global_options, options, _args|
|
|
23
|
-
puts JSON.dump($client.im_history(options))
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
g.desc 'Lists direct message channels for the calling user.'
|
|
28
|
-
g.long_desc %( Lists direct message channels for the calling user. )
|
|
29
|
-
g.command 'list' do |c|
|
|
30
|
-
c.flag 'cursor', desc: "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."
|
|
31
|
-
c.flag 'limit', desc: "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."
|
|
32
|
-
c.action do |_global_options, options, _args|
|
|
33
|
-
puts JSON.dump($client.im_list(options))
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
g.desc 'Sets the read cursor in a direct message channel.'
|
|
38
|
-
g.long_desc %( Sets the read cursor in a direct message channel. )
|
|
39
|
-
g.command 'mark' do |c|
|
|
40
|
-
c.flag 'channel', desc: 'Direct message channel to set reading cursor in.'
|
|
41
|
-
c.flag 'ts', desc: 'Timestamp of the most recently seen message.'
|
|
42
|
-
c.action do |_global_options, options, _args|
|
|
43
|
-
puts JSON.dump($client.im_mark(options))
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
g.desc 'Opens a direct message channel.'
|
|
48
|
-
g.long_desc %( Opens a direct message channel. )
|
|
49
|
-
g.command 'open' do |c|
|
|
50
|
-
c.flag 'user', desc: 'User to open a direct message channel with.'
|
|
51
|
-
c.flag 'include_locale', desc: 'Set this to true to receive the locale for this im. Defaults to false.'
|
|
52
|
-
c.flag 'return_im', desc: 'Boolean, indicates you want the full IM channel definition in the response.'
|
|
53
|
-
c.action do |_global_options, options, _args|
|
|
54
|
-
puts JSON.dump($client.im_open(options))
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
g.desc 'Retrieve a thread of messages posted to a direct message conversation'
|
|
59
|
-
g.long_desc %( Retrieve a thread of messages posted to a direct message conversation )
|
|
60
|
-
g.command 'replies' do |c|
|
|
61
|
-
c.flag 'channel', desc: 'Direct message channel to fetch thread from.'
|
|
62
|
-
c.flag 'thread_ts', desc: "Unique identifier of a thread's parent message."
|
|
63
|
-
c.action do |_global_options, options, _args|
|
|
64
|
-
puts JSON.dump($client.im_replies(options))
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
6
|
end
|
data/bin/commands/migration.rb
CHANGED
|
@@ -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
|
desc 'Migration methods.'
|
|
@@ -6,6 +7,7 @@ command 'migration' do |g|
|
|
|
6
7
|
g.long_desc %( For Enterprise Grid workspaces, map local user IDs to global user IDs )
|
|
7
8
|
g.command 'exchange' do |c|
|
|
8
9
|
c.flag 'users', desc: 'A comma-separated list of user ids, up to 400 per request.'
|
|
10
|
+
c.flag 'team_id', desc: 'Specify team_id starts with T in case of Org Token.'
|
|
9
11
|
c.flag 'to_old', desc: 'Specify true to convert W global user IDs to workspace-specific U IDs. Defaults to false.'
|
|
10
12
|
c.action do |_global_options, options, _args|
|
|
11
13
|
puts JSON.dump($client.migration_exchange(options))
|
data/bin/commands/mpim.rb
CHANGED
|
@@ -1,63 +1,6 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
desc 'Get info on your multiparty direct messages.'
|
|
4
5
|
command 'mpim' do |g|
|
|
5
|
-
g.desc 'Closes a multiparty direct message channel.'
|
|
6
|
-
g.long_desc %( Closes a multiparty direct message channel. )
|
|
7
|
-
g.command 'close' do |c|
|
|
8
|
-
c.flag 'channel', desc: 'MPIM to close.'
|
|
9
|
-
c.action do |_global_options, options, _args|
|
|
10
|
-
puts JSON.dump($client.mpim_close(options))
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
g.desc 'Fetches history of messages and events from a multiparty direct message.'
|
|
15
|
-
g.long_desc %( Fetches history of messages and events from a multiparty direct message. )
|
|
16
|
-
g.command 'history' do |c|
|
|
17
|
-
c.flag 'channel', desc: 'Multiparty direct message to fetch history for.'
|
|
18
|
-
c.flag 'inclusive', desc: 'Include messages with latest or oldest timestamp in results.'
|
|
19
|
-
c.flag 'latest', desc: 'End of time range of messages to include in results.'
|
|
20
|
-
c.flag 'oldest', desc: 'Start of time range of messages to include in results.'
|
|
21
|
-
c.flag 'unreads', desc: 'Include unread_count_display in the output?.'
|
|
22
|
-
c.action do |_global_options, options, _args|
|
|
23
|
-
puts JSON.dump($client.mpim_history(options))
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
g.desc 'Lists multiparty direct message channels for the calling user.'
|
|
28
|
-
g.long_desc %( Lists multiparty direct message channels for the calling user. )
|
|
29
|
-
g.command 'list' do |c|
|
|
30
|
-
c.action do |_global_options, options, _args|
|
|
31
|
-
puts JSON.dump($client.mpim_list(options))
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
g.desc 'Sets the read cursor in a multiparty direct message channel.'
|
|
36
|
-
g.long_desc %( Sets the read cursor in a multiparty direct message channel. )
|
|
37
|
-
g.command 'mark' do |c|
|
|
38
|
-
c.flag 'channel', desc: 'multiparty direct message channel to set reading cursor in.'
|
|
39
|
-
c.flag 'ts', desc: 'Timestamp of the most recently seen message.'
|
|
40
|
-
c.action do |_global_options, options, _args|
|
|
41
|
-
puts JSON.dump($client.mpim_mark(options))
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
g.desc 'This method opens a multiparty direct message.'
|
|
46
|
-
g.long_desc %( This method opens a multiparty direct message. )
|
|
47
|
-
g.command 'open' do |c|
|
|
48
|
-
c.flag 'users', desc: 'Comma separated lists of users. The ordering of the users is preserved whenever a MPIM group is returned.'
|
|
49
|
-
c.action do |_global_options, options, _args|
|
|
50
|
-
puts JSON.dump($client.mpim_open(options))
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
g.desc 'Retrieve a thread of messages posted to a direct message conversation from a multiparty direct message.'
|
|
55
|
-
g.long_desc %( Retrieve a thread of messages posted to a direct message conversation from a multiparty direct message. )
|
|
56
|
-
g.command 'replies' do |c|
|
|
57
|
-
c.flag 'channel', desc: 'Multiparty direct message channel to fetch thread from.'
|
|
58
|
-
c.flag 'thread_ts', desc: "Unique identifier of a thread's parent message."
|
|
59
|
-
c.action do |_global_options, options, _args|
|
|
60
|
-
puts JSON.dump($client.mpim_replies(options))
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
6
|
end
|
data/bin/commands/oauth.rb
CHANGED
|
@@ -1,29 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
desc 'Oauth methods.'
|
|
4
5
|
command 'oauth' do |g|
|
|
5
|
-
g.desc 'Exchanges a temporary OAuth code for an
|
|
6
|
-
g.long_desc %( Exchanges a temporary OAuth code for an
|
|
6
|
+
g.desc 'Exchanges a temporary OAuth verifier code for an access token.'
|
|
7
|
+
g.long_desc %( Exchanges a temporary OAuth verifier code for an access token. )
|
|
7
8
|
g.command 'access' do |c|
|
|
8
9
|
c.flag 'client_id', desc: 'Issued when you created your application.'
|
|
9
10
|
c.flag 'client_secret', desc: 'Issued when you created your application.'
|
|
10
11
|
c.flag 'code', desc: 'The code param returned via the OAuth callback.'
|
|
11
12
|
c.flag 'redirect_uri', desc: 'This must match the originally submitted URI (if one was sent).'
|
|
13
|
+
c.flag 'single_channel', desc: 'Request the user to add your app only to a single channel. Only valid with a legacy workspace app.'
|
|
12
14
|
c.action do |_global_options, options, _args|
|
|
13
15
|
puts JSON.dump($client.oauth_access(options))
|
|
14
16
|
end
|
|
15
17
|
end
|
|
16
|
-
|
|
17
|
-
g.desc 'Exchanges a temporary OAuth verifier code for a workspace token.'
|
|
18
|
-
g.long_desc %( Exchanges a temporary OAuth verifier code for a workspace token. )
|
|
19
|
-
g.command 'token' do |c|
|
|
20
|
-
c.flag 'client_id', desc: 'Issued when you created your application.'
|
|
21
|
-
c.flag 'client_secret', desc: 'Issued when you created your application.'
|
|
22
|
-
c.flag 'code', desc: 'The code param returned via the OAuth callback.'
|
|
23
|
-
c.flag 'redirect_uri', desc: 'This must match the originally submitted URI (if one was sent).'
|
|
24
|
-
c.flag 'single_channel', desc: 'Request the user to add your app only to a single channel.'
|
|
25
|
-
c.action do |_global_options, options, _args|
|
|
26
|
-
puts JSON.dump($client.oauth_token(options))
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
18
|
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
|
3
|
+
|
|
4
|
+
desc 'OauthV2 methods.'
|
|
5
|
+
command 'oauth_v2' do |g|
|
|
6
|
+
g.desc 'Exchanges a temporary OAuth verifier code for an access token.'
|
|
7
|
+
g.long_desc %( Exchanges a temporary OAuth verifier code for an access token. )
|
|
8
|
+
g.command 'access' do |c|
|
|
9
|
+
c.flag 'client_id', desc: 'Issued when you created your application.'
|
|
10
|
+
c.flag 'client_secret', desc: 'Issued when you created your application.'
|
|
11
|
+
c.flag 'code', desc: 'The code param returned via the OAuth callback.'
|
|
12
|
+
c.flag 'grant_type', desc: 'The grant_type param as described in the OAuth spec.'
|
|
13
|
+
c.flag 'redirect_uri', desc: 'This must match the originally submitted URI (if one was sent).'
|
|
14
|
+
c.flag 'refresh_token', desc: 'The refresh_token param as described in the OAuth spec.'
|
|
15
|
+
c.action do |_global_options, options, _args|
|
|
16
|
+
puts JSON.dump($client.oauth_v2_access(options))
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
g.desc 'Exchanges a legacy access token for a new expiring access token and refresh token'
|
|
21
|
+
g.long_desc %( Exchanges a legacy access token for a new expiring access token and refresh token )
|
|
22
|
+
g.command 'exchange' do |c|
|
|
23
|
+
c.flag 'client_id', desc: 'Issued when you created your application.'
|
|
24
|
+
c.flag 'client_secret', desc: 'Issued when you created your application.'
|
|
25
|
+
c.action do |_global_options, options, _args|
|
|
26
|
+
puts JSON.dump($client.oauth_v2_exchange(options))
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
|
3
|
+
|
|
4
|
+
desc 'OpenidConnect methods.'
|
|
5
|
+
command 'openid_connect' do |g|
|
|
6
|
+
g.desc 'Exchanges a temporary OAuth verifier code for an access token for Sign in with Slack.'
|
|
7
|
+
g.long_desc %( Exchanges a temporary OAuth verifier code for an access token for Sign in with Slack. )
|
|
8
|
+
g.command 'token' do |c|
|
|
9
|
+
c.flag 'client_id', desc: 'Issued when you created your application.'
|
|
10
|
+
c.flag 'client_secret', desc: 'Issued when you created your application.'
|
|
11
|
+
c.flag 'code', desc: 'The code param returned via the OAuth callback.'
|
|
12
|
+
c.flag 'grant_type', desc: 'The grant_type param as described in the OAuth spec.'
|
|
13
|
+
c.flag 'redirect_uri', desc: 'This must match the originally submitted URI (if one was sent).'
|
|
14
|
+
c.flag 'refresh_token', desc: 'The refresh_token param as described in the OAuth spec.'
|
|
15
|
+
c.action do |_global_options, options, _args|
|
|
16
|
+
puts JSON.dump($client.openid_connect_token(options))
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
g.desc 'Get the identity of a user who has authorized Sign in with Slack.'
|
|
21
|
+
g.long_desc %( Get the identity of a user who has authorized Sign in with Slack. )
|
|
22
|
+
g.command 'userInfo' do |c|
|
|
23
|
+
c.action do |_global_options, options, _args|
|
|
24
|
+
puts JSON.dump($client.openid_connect_userInfo(options))
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
data/bin/commands/pins.rb
CHANGED
|
@@ -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
|
desc 'Pins methods.'
|
|
@@ -5,10 +6,8 @@ command 'pins' do |g|
|
|
|
5
6
|
g.desc 'Pins an item to a channel.'
|
|
6
7
|
g.long_desc %( Pins an item to a channel. )
|
|
7
8
|
g.command 'add' do |c|
|
|
8
|
-
c.flag 'channel', desc: 'Channel to pin the
|
|
9
|
-
c.flag '
|
|
10
|
-
c.flag 'file_comment', desc: 'File comment to pin.'
|
|
11
|
-
c.flag 'timestamp', desc: 'Timestamp of the message to pin.'
|
|
9
|
+
c.flag 'channel', desc: 'Channel to pin the messsage to. You must also include a timestamp when pinning messages.'
|
|
10
|
+
c.flag 'timestamp', desc: 'Timestamp of the message to pin. You must also include the channel.'
|
|
12
11
|
c.action do |_global_options, options, _args|
|
|
13
12
|
puts JSON.dump($client.pins_add(options))
|
|
14
13
|
end
|
|
@@ -27,8 +26,6 @@ command 'pins' do |g|
|
|
|
27
26
|
g.long_desc %( Un-pins an item from a channel. )
|
|
28
27
|
g.command 'remove' do |c|
|
|
29
28
|
c.flag 'channel', desc: 'Channel where the item is pinned to.'
|
|
30
|
-
c.flag 'file', desc: 'File to un-pin.'
|
|
31
|
-
c.flag 'file_comment', desc: 'File comment to un-pin.'
|
|
32
29
|
c.flag 'timestamp', desc: 'Timestamp of the message to un-pin.'
|
|
33
30
|
c.action do |_global_options, options, _args|
|
|
34
31
|
puts JSON.dump($client.pins_remove(options))
|
data/bin/commands/reactions.rb
CHANGED
|
@@ -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
|
desc 'Reactions methods.'
|
|
@@ -5,10 +6,8 @@ command 'reactions' do |g|
|
|
|
5
6
|
g.desc 'Adds a reaction to an item.'
|
|
6
7
|
g.long_desc %( Adds a reaction to an item. )
|
|
7
8
|
g.command 'add' do |c|
|
|
8
|
-
c.flag 'name', desc: 'Reaction (emoji) name.'
|
|
9
9
|
c.flag 'channel', desc: 'Channel where the message to add reaction to was posted.'
|
|
10
|
-
c.flag '
|
|
11
|
-
c.flag 'file_comment', desc: 'File comment to add reaction to.'
|
|
10
|
+
c.flag 'name', desc: 'Reaction (emoji) name.'
|
|
12
11
|
c.flag 'timestamp', desc: 'Timestamp of the message to add reaction to.'
|
|
13
12
|
c.action do |_global_options, options, _args|
|
|
14
13
|
puts JSON.dump($client.reactions_add(options))
|
|
@@ -31,7 +30,10 @@ command 'reactions' do |g|
|
|
|
31
30
|
g.desc 'Lists reactions made by a user.'
|
|
32
31
|
g.long_desc %( Lists reactions made by a user. )
|
|
33
32
|
g.command 'list' do |c|
|
|
33
|
+
c.flag 'cursor', desc: "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."
|
|
34
34
|
c.flag 'full', desc: 'If true always return the complete reaction list.'
|
|
35
|
+
c.flag 'limit', desc: "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."
|
|
36
|
+
c.flag 'team_id', desc: 'encoded team id to list reactions in, required if org token is used.'
|
|
35
37
|
c.flag 'user', desc: 'Show reactions made by this user. Defaults to the authed user.'
|
|
36
38
|
c.action do |_global_options, options, _args|
|
|
37
39
|
puts JSON.dump($client.reactions_list(options))
|
data/bin/commands/reminders.rb
CHANGED
|
@@ -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
|
desc 'Reminders methods.'
|
|
@@ -7,6 +8,8 @@ command 'reminders' do |g|
|
|
|
7
8
|
g.command 'add' do |c|
|
|
8
9
|
c.flag 'text', desc: 'The content of the reminder.'
|
|
9
10
|
c.flag 'time', desc: 'When this reminder should happen: the Unix timestamp (up to five years from now), the number of seconds until the reminder (if within 24 hours), or a natural language description (Ex. "in 15 minutes," or "every Thursday").'
|
|
11
|
+
c.flag 'recurrence', desc: 'Specify the repeating behavior of a reminder. Available options: daily, weekly, monthly, or yearly. If weekly, may further specify the days of the week.'
|
|
12
|
+
c.flag 'team_id', desc: 'Encoded team id, required if org token is used.'
|
|
10
13
|
c.flag 'user', desc: 'The user who will receive the reminder. If no user is specified, the reminder will go to user who created it.'
|
|
11
14
|
c.action do |_global_options, options, _args|
|
|
12
15
|
puts JSON.dump($client.reminders_add(options))
|
|
@@ -17,6 +20,7 @@ command 'reminders' do |g|
|
|
|
17
20
|
g.long_desc %( Marks a reminder as complete. )
|
|
18
21
|
g.command 'complete' do |c|
|
|
19
22
|
c.flag 'reminder', desc: 'The ID of the reminder to be marked as complete.'
|
|
23
|
+
c.flag 'team_id', desc: 'Encoded team id, required if org token is used.'
|
|
20
24
|
c.action do |_global_options, options, _args|
|
|
21
25
|
puts JSON.dump($client.reminders_complete(options))
|
|
22
26
|
end
|
|
@@ -26,6 +30,7 @@ command 'reminders' do |g|
|
|
|
26
30
|
g.long_desc %( Deletes a reminder. )
|
|
27
31
|
g.command 'delete' do |c|
|
|
28
32
|
c.flag 'reminder', desc: 'The ID of the reminder.'
|
|
33
|
+
c.flag 'team_id', desc: 'Encoded team id, required if org token is used.'
|
|
29
34
|
c.action do |_global_options, options, _args|
|
|
30
35
|
puts JSON.dump($client.reminders_delete(options))
|
|
31
36
|
end
|
|
@@ -35,6 +40,7 @@ command 'reminders' do |g|
|
|
|
35
40
|
g.long_desc %( Gets information about a reminder. )
|
|
36
41
|
g.command 'info' do |c|
|
|
37
42
|
c.flag 'reminder', desc: 'The ID of the reminder.'
|
|
43
|
+
c.flag 'team_id', desc: 'Encoded team id, required if org token is passed.'
|
|
38
44
|
c.action do |_global_options, options, _args|
|
|
39
45
|
puts JSON.dump($client.reminders_info(options))
|
|
40
46
|
end
|
|
@@ -43,6 +49,7 @@ command 'reminders' do |g|
|
|
|
43
49
|
g.desc 'Lists all reminders created by or for a given user.'
|
|
44
50
|
g.long_desc %( Lists all reminders created by or for a given user. )
|
|
45
51
|
g.command 'list' do |c|
|
|
52
|
+
c.flag 'team_id', desc: 'Encoded team id, required if org token is passed.'
|
|
46
53
|
c.action do |_global_options, options, _args|
|
|
47
54
|
puts JSON.dump($client.reminders_list(options))
|
|
48
55
|
end
|
data/bin/commands/rtm.rb
CHANGED
|
@@ -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
|
desc 'Rtm methods.'
|
|
@@ -5,20 +6,22 @@ command 'rtm' do |g|
|
|
|
5
6
|
g.desc 'Starts a Real Time Messaging session.'
|
|
6
7
|
g.long_desc %( Starts a Real Time Messaging session. )
|
|
7
8
|
g.command 'connect' do |c|
|
|
8
|
-
c.flag 'batch_presence_aware', desc: '
|
|
9
|
+
c.flag 'batch_presence_aware', desc: 'Batch presence deliveries via subscription. Enabling changes the shape of presence_change events. See batch presence.'
|
|
10
|
+
c.flag 'presence_sub', desc: 'Only deliver presence events when requested by subscription. See presence subscriptions.'
|
|
9
11
|
c.action do |_global_options, options, _args|
|
|
10
12
|
puts JSON.dump($client.rtm_connect(options))
|
|
11
13
|
end
|
|
12
14
|
end
|
|
13
15
|
|
|
14
|
-
g.desc 'Starts a Real Time Messaging session.'
|
|
15
|
-
g.long_desc %( Starts a Real Time Messaging session. )
|
|
16
|
+
g.desc 'Deprecated: Starts a Real Time Messaging session. Use rtm.connect instead.'
|
|
17
|
+
g.long_desc %( Deprecated: Starts a Real Time Messaging session. Use rtm.connect instead. )
|
|
16
18
|
g.command 'start' do |c|
|
|
17
|
-
c.flag 'batch_presence_aware', desc: '
|
|
19
|
+
c.flag 'batch_presence_aware', desc: 'Batch presence deliveries via subscription. Enabling changes the shape of presence_change events. See batch presence.'
|
|
18
20
|
c.flag 'include_locale', desc: 'Set this to true to receive the locale for users and channels. Defaults to false.'
|
|
19
21
|
c.flag 'mpim_aware', desc: 'Returns MPIMs to the client in the API response.'
|
|
20
22
|
c.flag 'no_latest', desc: 'Exclude latest timestamps for channels, groups, mpims, and ims. Automatically sets no_unreads to 1.'
|
|
21
23
|
c.flag 'no_unreads', desc: 'Skip unread counts for each channel (improves performance).'
|
|
24
|
+
c.flag 'presence_sub', desc: 'Only deliver presence events when requested by subscription. See presence subscriptions.'
|
|
22
25
|
c.flag 'simple_latest', desc: 'Return timestamp only for latest message object of each channel (improves performance).'
|
|
23
26
|
c.action do |_global_options, options, _args|
|
|
24
27
|
puts JSON.dump($client.rtm_start(options))
|