slack-ruby-client 0.7.2 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.github/FUNDING.yml +1 -0
- data/.gitignore +2 -0
- data/.gitmodules +1 -1
- data/.rubocop.yml +37 -1
- data/.rubocop_todo.yml +130 -47
- data/.travis.yml +17 -13
- data/CHANGELOG.md +254 -43
- data/CONTRIBUTING.md +26 -15
- data/Dangerfile +3 -0
- data/Gemfile +13 -2
- data/LICENSE.md +1 -1
- data/README.md +287 -63
- data/RELEASING.md +22 -14
- data/Rakefile +2 -1
- data/UPGRADING.md +129 -5
- data/bin/commands/admin_analytics.rb +16 -0
- data/bin/commands/admin_apps.rb +51 -0
- data/bin/commands/admin_apps_approved.rb +17 -0
- data/bin/commands/admin_apps_requests.rb +17 -0
- data/bin/commands/admin_apps_restricted.rb +17 -0
- data/bin/commands/admin_auth_policy.rb +39 -0
- data/bin/commands/admin_barriers.rb +47 -0
- data/bin/commands/admin_conversations.rb +169 -0
- data/bin/commands/admin_conversations_ekm.rb +17 -0
- data/bin/commands/admin_conversations_restrictAccess.rb +37 -0
- data/bin/commands/admin_conversations_whitelist.rb +37 -0
- data/bin/commands/admin_emoji.rb +54 -0
- data/bin/commands/admin_inviteRequests.rb +36 -0
- data/bin/commands/admin_inviteRequests_approved.rb +16 -0
- data/bin/commands/admin_inviteRequests_denied.rb +16 -0
- data/bin/commands/admin_teams.rb +27 -0
- data/bin/commands/admin_teams_admins.rb +16 -0
- data/bin/commands/admin_teams_owners.rb +16 -0
- data/bin/commands/admin_teams_settings.rb +64 -0
- data/bin/commands/admin_usergroups.rb +48 -0
- data/bin/commands/admin_users.rb +98 -0
- data/bin/commands/admin_users_session.rb +78 -0
- data/bin/commands/api.rb +3 -3
- data/bin/commands/apps.rb +15 -0
- data/bin/commands/apps_connections.rb +13 -0
- data/bin/commands/apps_event_authorizations.rb +16 -0
- data/bin/commands/apps_manifest.rb +51 -0
- data/bin/commands/apps_permissions.rb +23 -0
- data/bin/commands/apps_permissions_resources.rb +15 -0
- data/bin/commands/apps_permissions_scopes.rb +13 -0
- data/bin/commands/apps_permissions_users.rb +26 -0
- data/bin/commands/auth.rb +12 -2
- data/bin/commands/auth_teams.rb +16 -0
- data/bin/commands/bots.rb +15 -0
- data/bin/commands/calls.rb +52 -0
- data/bin/commands/calls_participants.rb +25 -0
- data/bin/commands/channels.rb +6 -132
- data/bin/commands/chat.rb +127 -20
- data/bin/commands/chat_scheduledMessages.rb +19 -0
- data/bin/commands/conversations.rb +253 -0
- data/bin/commands/dialog.rb +15 -0
- data/bin/commands/dnd.rb +12 -9
- data/bin/commands/emoji.rb +3 -2
- data/bin/commands/files.rb +47 -31
- data/bin/commands/files_comments.rb +3 -23
- data/bin/commands/files_remote.rb +78 -0
- data/bin/commands/groups.rb +1 -154
- data/bin/commands/im.rb +1 -48
- data/bin/commands/migration.rb +16 -0
- data/bin/commands/mpim.rb +1 -48
- data/bin/commands/oauth.rb +4 -2
- data/bin/commands/oauth_v2.rb +29 -0
- data/bin/commands/openid_connect.rb +27 -0
- data/bin/commands/pins.rb +9 -12
- data/bin/commands/reactions.rb +17 -15
- data/bin/commands/reminders.rb +17 -10
- data/bin/commands/rtm.rb +19 -4
- data/bin/commands/search.rb +17 -12
- data/bin/commands/stars.rb +12 -9
- data/bin/commands/team.rb +23 -8
- data/bin/commands/team_billing.rb +13 -0
- data/bin/commands/team_preferences.rb +13 -0
- data/bin/commands/team_profile.rb +14 -0
- data/bin/commands/tooling_tokens.rb +14 -0
- data/bin/commands/usergroups.rb +23 -17
- data/bin/commands/usergroups_users.rb +7 -4
- data/bin/commands/users.rb +83 -27
- data/bin/commands/users_admin.rb +29 -0
- data/bin/commands/users_prefs.rb +13 -0
- data/bin/commands/users_profile.rb +27 -0
- data/bin/commands/views.rb +48 -0
- data/bin/commands/workflows.rb +38 -0
- data/bin/commands.rb +47 -5
- data/bin/slack +3 -4
- data/examples/hi_real_time_and_web/Gemfile +1 -0
- data/examples/hi_real_time_and_web/hi.rb +8 -4
- data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Gemfile +2 -1
- data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Procfile +0 -0
- data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/hi.rb +13 -8
- data/examples/hi_web/Gemfile +1 -0
- data/examples/hi_web/hi.rb +2 -1
- data/examples/new_ticket/Gemfile +1 -0
- data/examples/new_ticket/new_ticket.rb +3 -2
- data/lib/slack/config.rb +2 -2
- data/lib/slack/events/config.rb +32 -0
- data/lib/slack/events/request.rb +72 -0
- data/lib/slack/logger.rb +6 -5
- data/lib/slack/messages/formatting.rb +4 -4
- data/lib/slack/messages/message.rb +6 -4
- data/lib/slack/real_time/api/message.rb +3 -1
- data/lib/slack/real_time/api/message_id.rb +1 -0
- data/lib/slack/real_time/api/ping.rb +5 -2
- data/lib/slack/real_time/api/templates/event_handler.erb +1 -1
- data/lib/slack/real_time/api/typing.rb +3 -1
- data/lib/slack/real_time/client.rb +116 -36
- data/lib/slack/real_time/concurrency/async.rb +138 -0
- data/lib/slack/real_time/concurrency.rb +2 -2
- data/lib/slack/real_time/config.rb +17 -19
- data/lib/slack/real_time/models/base.rb +3 -3
- data/lib/slack/real_time/models/bot.rb +1 -0
- data/lib/slack/real_time/models/channel.rb +1 -0
- data/lib/slack/real_time/models/group.rb +1 -0
- data/lib/slack/real_time/models/im.rb +1 -0
- data/lib/slack/real_time/models/team.rb +1 -0
- data/lib/slack/real_time/models/user.rb +1 -0
- data/lib/slack/real_time/models.rb +8 -7
- data/lib/slack/real_time/socket.rb +51 -23
- data/lib/slack/real_time/stores/base.rb +6 -9
- data/lib/slack/real_time/stores/starter.rb +143 -69
- data/lib/slack/real_time/stores/store.rb +160 -82
- data/lib/slack/real_time/stores.rb +4 -3
- data/lib/slack/version.rb +2 -1
- data/lib/slack/web/api/endpoints/admin_analytics.rb +28 -0
- data/lib/slack/web/api/endpoints/admin_apps.rb +78 -0
- data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_apps_requests.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_auth_policy.rb +72 -0
- data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
- data/lib/slack/web/api/endpoints/admin_conversations.rb +260 -0
- data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +64 -0
- data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
- data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
- data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
- data/lib/slack/web/api/endpoints/admin_users.rb +163 -0
- data/lib/slack/web/api/endpoints/admin_users_session.rb +122 -0
- data/lib/slack/web/api/endpoints/api.rb +4 -5
- data/lib/slack/web/api/endpoints/apps.rb +27 -0
- data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
- data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
- data/lib/slack/web/api/endpoints/apps_manifest.rb +75 -0
- data/lib/slack/web/api/endpoints/apps_permissions.rb +36 -0
- data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +31 -0
- data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +21 -0
- data/lib/slack/web/api/endpoints/apps_permissions_users.rb +50 -0
- data/lib/slack/web/api/endpoints/auth.rb +14 -2
- data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
- data/lib/slack/web/api/endpoints/bots.rb +25 -0
- data/lib/slack/web/api/endpoints/calls.rb +83 -0
- data/lib/slack/web/api/endpoints/calls_participants.rb +42 -0
- data/lib/slack/web/api/endpoints/channels.rb +8 -201
- data/lib/slack/web/api/endpoints/chat.rb +252 -42
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
- data/lib/slack/web/api/endpoints/conversations.rb +422 -0
- data/lib/slack/web/api/endpoints/dialog.rb +33 -0
- data/lib/slack/web/api/endpoints/dnd.rb +17 -12
- data/lib/slack/web/api/endpoints/emoji.rb +3 -2
- data/lib/slack/web/api/endpoints/files.rb +82 -43
- data/lib/slack/web/api/endpoints/files_comments.rb +4 -36
- data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
- data/lib/slack/web/api/endpoints/groups.rb +1 -235
- data/lib/slack/web/api/endpoints/im.rb +1 -73
- data/lib/slack/web/api/endpoints/migration.rb +28 -0
- data/lib/slack/web/api/endpoints/mpim.rb +1 -72
- data/lib/slack/web/api/endpoints/oauth.rb +9 -10
- data/lib/slack/web/api/endpoints/oauth_v2.rb +48 -0
- data/lib/slack/web/api/endpoints/openid_connect.rb +42 -0
- data/lib/slack/web/api/endpoints/pins.rb +14 -23
- data/lib/slack/web/api/endpoints/presence.rb +1 -1
- data/lib/slack/web/api/endpoints/reactions.rb +43 -34
- data/lib/slack/web/api/endpoints/reminders.rb +28 -15
- data/lib/slack/web/api/endpoints/rtm.rb +29 -8
- data/lib/slack/web/api/endpoints/search.rb +39 -24
- data/lib/slack/web/api/endpoints/stars.rb +30 -22
- data/lib/slack/web/api/endpoints/team.rb +34 -11
- data/lib/slack/web/api/endpoints/team_billing.rb +21 -0
- data/lib/slack/web/api/endpoints/team_preferences.rb +21 -0
- data/lib/slack/web/api/endpoints/team_profile.rb +23 -0
- data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
- data/lib/slack/web/api/endpoints/usergroups.rb +43 -32
- data/lib/slack/web/api/endpoints/usergroups_users.rb +14 -9
- data/lib/slack/web/api/endpoints/users.rb +104 -19
- data/lib/slack/web/api/endpoints/users_admin.rb +49 -0
- data/lib/slack/web/api/endpoints/users_prefs.rb +21 -0
- data/lib/slack/web/api/endpoints/users_profile.rb +44 -0
- data/lib/slack/web/api/endpoints/views.rb +97 -0
- data/lib/slack/web/api/endpoints/workflows.rb +61 -0
- data/lib/slack/web/api/endpoints.rb +111 -29
- data/lib/slack/web/api/error.rb +2 -8
- data/lib/slack/web/api/errors/server_error.rb +37 -0
- data/lib/slack/web/api/errors/slack_error.rb +29 -0
- data/lib/slack/web/api/errors/too_many_requests_error.rb +21 -0
- data/lib/slack/web/api/errors.rb +1040 -0
- data/lib/slack/web/api/mixins/conversations.id.rb +25 -0
- data/lib/slack/web/api/mixins/ids.id.rb +24 -0
- data/lib/slack/web/api/mixins/users.id.rb +6 -7
- data/lib/slack/web/api/mixins/users.search.rb +39 -36
- data/lib/slack/web/api/mixins.rb +4 -4
- data/lib/slack/web/api/patches/chat.1.patch +70 -0
- data/lib/slack/web/api/patches/dialog.1.open-json-support.patch +17 -0
- data/lib/slack/web/api/patches/views.1.view-json.patch +40 -0
- data/lib/slack/web/api/patches/views.1.views-published.patch +16 -0
- data/lib/slack/web/api/templates/command.erb +5 -3
- data/lib/slack/web/api/templates/commands.erb +2 -1
- data/lib/slack/web/api/templates/endpoints.erb +5 -5
- data/lib/slack/web/api/templates/errors.erb +20 -0
- data/lib/slack/web/api/templates/method.erb +26 -4
- data/lib/slack/web/api/templates/method_spec.erb +3 -2
- data/lib/slack/web/client.rb +2 -1
- data/lib/slack/web/config.rb +21 -10
- data/lib/slack/web/faraday/connection.rb +25 -16
- data/lib/slack/web/faraday/request.rb +4 -1
- data/lib/slack/web/faraday/response/raise_error.rb +19 -1
- data/lib/slack/web/faraday/response/wrap_error.rb +24 -0
- data/lib/slack/web/pagination/cursor.rb +48 -0
- data/lib/slack-ruby-client.rb +40 -26
- data/lib/slack.rb +1 -0
- data/lib/slack_ruby_client.rb +1 -0
- data/lib/tasks/git.rake +2 -1
- data/lib/tasks/real_time.rake +16 -6
- data/lib/tasks/update.rake +1 -0
- data/lib/tasks/web.rake +42 -10
- data/screenshots/create-app.png +0 -0
- data/slack-ruby-client.gemspec +11 -9
- data/spec/fixtures/slack/web/429_error.yml +50 -52
- data/spec/fixtures/slack/web/auth_test_error.yml +51 -18
- data/spec/fixtures/slack/web/auth_test_success.yml +50 -26
- data/spec/fixtures/slack/web/conversations_info.yml +167 -0
- data/spec/fixtures/slack/web/conversations_setTopic.yml +84 -0
- data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +172 -0
- data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +253 -0
- data/spec/fixtures/slack/web/paginated_users_list.yml +613 -0
- data/spec/fixtures/slack/web/rtm_connect.yml +307 -0
- data/spec/fixtures/slack/web/rtm_start.yml +771 -60
- data/spec/fixtures/slack/web/users_info.yml +153 -69
- data/spec/fixtures/slack/web/users_list.yml +102 -41
- data/spec/fixtures/slack/web/views_open_error.yml +83 -0
- data/spec/integration/integration_spec.rb +116 -48
- data/spec/slack/config_spec.rb +2 -0
- data/spec/slack/events/config_spec.rb +33 -0
- data/spec/slack/events/request_spec.rb +184 -0
- data/spec/slack/messages/formatting_spec.rb +25 -14
- data/spec/slack/real_time/api/message_spec.rb +6 -1
- data/spec/slack/real_time/api/ping_spec.rb +2 -0
- data/spec/slack/real_time/api/typing_spec.rb +5 -1
- data/spec/slack/real_time/client_spec.rb +465 -141
- data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +21 -0
- data/spec/slack/real_time/concurrency/with_concurrency_spec.rb +10 -0
- data/spec/slack/real_time/concurrency/without_concurrency_spec.rb +10 -0
- data/spec/slack/real_time/event_handlers/bot_spec.rb +7 -4
- data/spec/slack/real_time/event_handlers/channel_spec.rb +10 -7
- data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +3 -2
- data/spec/slack/real_time/event_handlers/group_spec.rb +5 -4
- data/spec/slack/real_time/event_handlers/im_spec.rb +9 -8
- data/spec/slack/real_time/event_handlers/team_spec.rb +8 -4
- data/spec/slack/real_time/event_handlers/user_spec.rb +7 -4
- data/spec/slack/real_time/rtm_connect_spec.rb +14 -0
- data/spec/slack/real_time/rtm_start_spec.rb +2 -1
- data/spec/slack/real_time/store_spec.rb +2 -1
- data/spec/slack/slack_spec.rb +42 -8
- data/spec/slack/version_spec.rb +2 -1
- data/spec/slack/web/api/endpoints/admin_analytics_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/admin_auth_policy_spec.rb +35 -0
- data/spec/slack/web/api/endpoints/admin_barriers_spec.rb +38 -0
- data/spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +32 -0
- data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +98 -0
- data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +37 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/admin_teams_admins_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_owners_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +53 -0
- data/spec/slack/web/api/endpoints/admin_teams_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +37 -0
- data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +41 -0
- data/spec/slack/web/api/endpoints/admin_users_spec.rb +67 -0
- data/spec/slack/web/api/endpoints/api_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/apps_connections_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/apps_manifest_spec.rb +36 -0
- data/spec/slack/web/api/endpoints/apps_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/auth_teams_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/bots_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/calls_participants_spec.rb +24 -0
- data/spec/slack/web/api/endpoints/calls_spec.rb +31 -0
- data/spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +11 -4
- data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +140 -24
- data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +36 -0
- data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +22 -7
- data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +95 -0
- data/spec/slack/web/api/endpoints/dnd_spec.rb +4 -3
- data/spec/slack/web/api/endpoints/emoji_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/files_comments_spec.rb +3 -21
- data/spec/slack/web/api/endpoints/files_remote_spec.rb +24 -0
- data/spec/slack/web/api/endpoints/files_spec.rb +17 -5
- data/spec/slack/web/api/endpoints/migration_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/oauth_spec.rb +1 -11
- data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/openid_connect_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/pins_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/reactions_spec.rb +8 -1
- data/spec/slack/web/api/endpoints/reminders_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/rtm_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/search_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/stars_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/team_billing_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/team_preferences_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/team_profile_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/team_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/tooling_tokens_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/usergroups_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/users_admin_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/users_prefs_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/users_profile_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/workflows_spec.rb +26 -0
- data/spec/slack/web/api/error_spec.rb +7 -7
- data/spec/slack/web/api/errors/slack_error_spec.rb +33 -0
- data/spec/slack/web/api/mixins/conversations_list_spec.rb +21 -0
- data/spec/slack/web/api/mixins/conversations_spec.rb +43 -0
- data/spec/slack/web/api/mixins/users_spec.rb +30 -17
- data/spec/slack/web/api/pagination/cursor_spec.rb +98 -0
- data/spec/slack/web/client_spec.rb +211 -14
- data/spec/slack/web/faraday/request_spec.rb +80 -0
- data/spec/slack/web/faraday/response/raise_error_spec.rb +86 -0
- data/spec/spec_helper.rb +9 -2
- data/spec/support/queue_with_timeout.rb +6 -5
- data/spec/support/real_time/concurrency/mock.rb +2 -2
- data/spec/support/real_time/connected_client.rb +7 -2
- data/spec/support/real_time/event.rb +1 -0
- data/spec/support/token.rb +1 -0
- data/spec/support/vcr.rb +37 -1
- metadata +250 -130
- data/examples/hi_real_time/Gemfile +0 -5
- data/examples/hi_real_time/hi.gif +0 -0
- data/examples/hi_real_time/hi.rb +0 -37
- data/examples/hi_real_time_async/Gemfile +0 -5
- data/examples/hi_real_time_async/hi.rb +0 -29
- data/examples/hi_real_time_async_eventmachine/Gemfile +0 -6
- data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
- data/examples/hi_real_time_async_eventmachine/hi.rb +0 -36
- data/lib/slack/real_time/concurrency/celluloid.rb +0 -100
- data/lib/slack/real_time/concurrency/eventmachine.rb +0 -60
- data/lib/slack/web/api/mixins/channels.id.json +0 -20
- data/lib/slack/web/api/mixins/channels.id.rb +0 -26
- data/lib/slack/web/api/mixins/groups.id.json +0 -20
- data/lib/slack/web/api/mixins/groups.id.rb +0 -26
- data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
- data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
- data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -20
- data/screenshots/register-bot.png +0 -0
- data/spec/fixtures/slack/web/channels_info.yml +0 -46
- data/spec/fixtures/slack/web/groups_info.yml +0 -43
- data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -35
- data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -50
- data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -11
- data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -11
- data/spec/slack/web/api/endpoints/im_spec.rb +0 -30
- data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -30
- data/spec/slack/web/api/mixins/channels_spec.rb +0 -31
- data/spec/slack/web/api/mixins/groups_spec.rb +0 -31
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
2
3
|
|
3
4
|
module Slack
|
@@ -5,79 +6,6 @@ module Slack
|
|
5
6
|
module Api
|
6
7
|
module Endpoints
|
7
8
|
module Im
|
8
|
-
#
|
9
|
-
# This method closes a direct message channel.
|
10
|
-
#
|
11
|
-
# @option options [im] :channel
|
12
|
-
# Direct message channel to close.
|
13
|
-
# @see https://api.slack.com/methods/im.close
|
14
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/im/im.close.json
|
15
|
-
def im_close(options = {})
|
16
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
17
|
-
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
18
|
-
post('im.close', options)
|
19
|
-
end
|
20
|
-
|
21
|
-
#
|
22
|
-
# This method returns a portion of messages/events from the specified direct message channel.
|
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.
|
25
|
-
#
|
26
|
-
# @option options [im] :channel
|
27
|
-
# Direct message channel to fetch history for.
|
28
|
-
# @option options [timestamp] :latest
|
29
|
-
# End of time range of messages to include in results.
|
30
|
-
# @option options [timestamp] :oldest
|
31
|
-
# 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
|
-
# @option options [Object] :unreads
|
35
|
-
# Include unread_count_display in the output?.
|
36
|
-
# @see https://api.slack.com/methods/im.history
|
37
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/im/im.history.json
|
38
|
-
def im_history(options = {})
|
39
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
40
|
-
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
41
|
-
post('im.history', options)
|
42
|
-
end
|
43
|
-
|
44
|
-
#
|
45
|
-
# This method returns a list of all im channels that the user has.
|
46
|
-
#
|
47
|
-
# @see https://api.slack.com/methods/im.list
|
48
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/im/im.list.json
|
49
|
-
def im_list(options = {})
|
50
|
-
post('im.list', options)
|
51
|
-
end
|
52
|
-
|
53
|
-
#
|
54
|
-
# This method moves the read cursor in a direct message channel.
|
55
|
-
#
|
56
|
-
# @option options [im] :channel
|
57
|
-
# Direct message channel to set reading cursor in.
|
58
|
-
# @option options [timestamp] :ts
|
59
|
-
# Timestamp of the most recently seen message.
|
60
|
-
# @see https://api.slack.com/methods/im.mark
|
61
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/im/im.mark.json
|
62
|
-
def im_mark(options = {})
|
63
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
64
|
-
throw ArgumentError.new('Required arguments :ts missing') if options[:ts].nil?
|
65
|
-
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
66
|
-
post('im.mark', options)
|
67
|
-
end
|
68
|
-
|
69
|
-
#
|
70
|
-
# This method opens a direct message channel with another member of your Slack team.
|
71
|
-
#
|
72
|
-
# @option options [user] :user
|
73
|
-
# User to open a direct message channel with.
|
74
|
-
# @see https://api.slack.com/methods/im.open
|
75
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/im/im.open.json
|
76
|
-
def im_open(options = {})
|
77
|
-
throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
|
78
|
-
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
79
|
-
post('im.open', options)
|
80
|
-
end
|
81
9
|
end
|
82
10
|
end
|
83
11
|
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 [array] :users
|
13
|
+
# A comma-separated list of user ids, up to 400 per request.
|
14
|
+
# @option options [string] :team_id
|
15
|
+
# Specify team_id starts with T in case of Org Token.
|
16
|
+
# @option options [boolean] :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
|
@@ -5,78 +6,6 @@ module Slack
|
|
5
6
|
module Api
|
6
7
|
module Endpoints
|
7
8
|
module Mpim
|
8
|
-
#
|
9
|
-
# This method closes a multiparty direct message channel.
|
10
|
-
#
|
11
|
-
# @option options [channel] :channel
|
12
|
-
# MPIM to close.
|
13
|
-
# @see https://api.slack.com/methods/mpim.close
|
14
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/mpim/mpim.close.json
|
15
|
-
def mpim_close(options = {})
|
16
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
17
|
-
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
18
|
-
post('mpim.close', options)
|
19
|
-
end
|
20
|
-
|
21
|
-
#
|
22
|
-
# This method returns a portion of messages/events from the specified multiparty direct message channel.
|
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.
|
25
|
-
#
|
26
|
-
# @option options [channel] :channel
|
27
|
-
# Multiparty direct message to fetch history for.
|
28
|
-
# @option options [timestamp] :latest
|
29
|
-
# End of time range of messages to include in results.
|
30
|
-
# @option options [timestamp] :oldest
|
31
|
-
# 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
|
-
# @option options [Object] :unreads
|
35
|
-
# Include unread_count_display in the output?.
|
36
|
-
# @see https://api.slack.com/methods/mpim.history
|
37
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/mpim/mpim.history.json
|
38
|
-
def mpim_history(options = {})
|
39
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
40
|
-
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
41
|
-
post('mpim.history', options)
|
42
|
-
end
|
43
|
-
|
44
|
-
#
|
45
|
-
# This method returns a list of all multiparty direct message channels that the user has.
|
46
|
-
#
|
47
|
-
# @see https://api.slack.com/methods/mpim.list
|
48
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/mpim/mpim.list.json
|
49
|
-
def mpim_list(options = {})
|
50
|
-
post('mpim.list', options)
|
51
|
-
end
|
52
|
-
|
53
|
-
#
|
54
|
-
# This method moves the read cursor in a multiparty direct message channel.
|
55
|
-
#
|
56
|
-
# @option options [channel] :channel
|
57
|
-
# multiparty direct message channel to set reading cursor in.
|
58
|
-
# @option options [timestamp] :ts
|
59
|
-
# Timestamp of the most recently seen message.
|
60
|
-
# @see https://api.slack.com/methods/mpim.mark
|
61
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/mpim/mpim.mark.json
|
62
|
-
def mpim_mark(options = {})
|
63
|
-
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
64
|
-
throw ArgumentError.new('Required arguments :ts missing') if options[:ts].nil?
|
65
|
-
options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
|
66
|
-
post('mpim.mark', options)
|
67
|
-
end
|
68
|
-
|
69
|
-
#
|
70
|
-
# This method opens a multiparty direct message.
|
71
|
-
#
|
72
|
-
# @option options [Object] :users
|
73
|
-
# Comma separated lists of users. The ordering of the users is preserved whenever a MPIM group is returned.
|
74
|
-
# @see https://api.slack.com/methods/mpim.open
|
75
|
-
# @see https://github.com/dblock/slack-api-ref/blob/master/methods/mpim/mpim.open.json
|
76
|
-
def mpim_open(options = {})
|
77
|
-
throw ArgumentError.new('Required arguments :users missing') if options[:users].nil?
|
78
|
-
post('mpim.open', options)
|
79
|
-
end
|
80
9
|
end
|
81
10
|
end
|
82
11
|
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,23 +7,21 @@ 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
|
-
# @option options [
|
12
|
+
# @option options [string] :client_id
|
13
13
|
# Issued when you created your application.
|
14
|
-
# @option options [
|
14
|
+
# @option options [string] :client_secret
|
15
15
|
# Issued when you created your application.
|
16
|
-
# @option options [
|
16
|
+
# @option options [string] :code
|
17
17
|
# The code param returned via the OAuth callback.
|
18
|
-
# @option options [
|
18
|
+
# @option options [string] :redirect_uri
|
19
19
|
# This must match the originally submitted URI (if one was sent).
|
20
|
+
# @option options [boolean] :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 = {})
|
23
|
-
throw ArgumentError.new('Required arguments :client_id missing') if options[:client_id].nil?
|
24
|
-
throw ArgumentError.new('Required arguments :client_secret missing') if options[:client_secret].nil?
|
25
|
-
throw ArgumentError.new('Required arguments :code missing') if options[:code].nil?
|
26
25
|
post('oauth.access', options)
|
27
26
|
end
|
28
27
|
end
|
@@ -0,0 +1,48 @@
|
|
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 [string] :client_id
|
13
|
+
# Issued when you created your application.
|
14
|
+
# @option options [string] :client_secret
|
15
|
+
# Issued when you created your application.
|
16
|
+
# @option options [string] :code
|
17
|
+
# The code param returned via the OAuth callback.
|
18
|
+
# @option options [string] :grant_type
|
19
|
+
# The grant_type param as described in the OAuth spec.
|
20
|
+
# @option options [string] :redirect_uri
|
21
|
+
# This must match the originally submitted URI (if one was sent).
|
22
|
+
# @option options [string] :refresh_token
|
23
|
+
# The refresh_token param as described in the OAuth spec.
|
24
|
+
# @see https://api.slack.com/methods/oauth.v2.access
|
25
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/oauth.v2/oauth.v2.access.json
|
26
|
+
def oauth_v2_access(options = {})
|
27
|
+
post('oauth.v2.access', options)
|
28
|
+
end
|
29
|
+
|
30
|
+
#
|
31
|
+
# Exchanges a legacy access token for a new expiring access token and refresh token
|
32
|
+
#
|
33
|
+
# @option options [string] :client_id
|
34
|
+
# Issued when you created your application.
|
35
|
+
# @option options [string] :client_secret
|
36
|
+
# Issued when you created your application.
|
37
|
+
# @see https://api.slack.com/methods/oauth.v2.exchange
|
38
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/oauth.v2/oauth.v2.exchange.json
|
39
|
+
def oauth_v2_exchange(options = {})
|
40
|
+
throw ArgumentError.new('Required arguments :client_id missing') if options[:client_id].nil?
|
41
|
+
throw ArgumentError.new('Required arguments :client_secret missing') if options[:client_secret].nil?
|
42
|
+
post('oauth.v2.exchange', options)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
module Slack
|
5
|
+
module Web
|
6
|
+
module Api
|
7
|
+
module Endpoints
|
8
|
+
module OpenidConnect
|
9
|
+
#
|
10
|
+
# Exchanges a temporary OAuth verifier code for an access token for Sign in with Slack.
|
11
|
+
#
|
12
|
+
# @option options [string] :client_id
|
13
|
+
# Issued when you created your application.
|
14
|
+
# @option options [string] :client_secret
|
15
|
+
# Issued when you created your application.
|
16
|
+
# @option options [string] :code
|
17
|
+
# The code param returned via the OAuth callback.
|
18
|
+
# @option options [string] :grant_type
|
19
|
+
# The grant_type param as described in the OAuth spec.
|
20
|
+
# @option options [string] :redirect_uri
|
21
|
+
# This must match the originally submitted URI (if one was sent).
|
22
|
+
# @option options [string] :refresh_token
|
23
|
+
# The refresh_token param as described in the OAuth spec.
|
24
|
+
# @see https://api.slack.com/methods/openid.connect.token
|
25
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/openid.connect/openid.connect.token.json
|
26
|
+
def openid_connect_token(options = {})
|
27
|
+
post('openid.connect.token', options)
|
28
|
+
end
|
29
|
+
|
30
|
+
#
|
31
|
+
# Get the identity of a user who has authorized Sign in with Slack.
|
32
|
+
#
|
33
|
+
# @see https://api.slack.com/methods/openid.connect.userInfo
|
34
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/openid.connect/openid.connect.userInfo.json
|
35
|
+
def openid_connect_userInfo(options = {})
|
36
|
+
post('openid.connect.userInfo', options)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
2
3
|
|
3
4
|
module Slack
|
@@ -6,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
|
-
# Channel to pin the
|
14
|
-
# @option options [
|
15
|
-
#
|
16
|
-
# @option options [Object] :file_comment
|
17
|
-
# File comment to pin.
|
18
|
-
# @option options [Object] :timestamp
|
19
|
-
# Timestamp of the message to pin.
|
13
|
+
# Channel to pin the messsage to. You must also include a timestamp when pinning messages.
|
14
|
+
# @option options [string] :timestamp
|
15
|
+
# Timestamp of the message to pin. You must also include the channel.
|
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 [
|
48
|
-
# File to un-pin.
|
49
|
-
# @option options [Object] :file_comment
|
50
|
-
# File comment to un-pin.
|
51
|
-
# @option options [Object] :timestamp
|
42
|
+
# @option options [string] :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
|
@@ -11,7 +11,7 @@ module Slack
|
|
11
11
|
# @option options [Object] :presence
|
12
12
|
# Either `active` or `away`.
|
13
13
|
# @see https://api.slack.com/methods/presence.set
|
14
|
-
# @see https://github.com/
|
14
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/presence.set.json
|
15
15
|
def presence_set(options = {})
|
16
16
|
throw ArgumentError.new('Required arguments :presence missing') if options[:presence].nil?
|
17
17
|
post('presence.set', options)
|
@@ -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,80 +7,88 @@ module Slack
|
|
6
7
|
module Endpoints
|
7
8
|
module Reactions
|
8
9
|
#
|
9
|
-
#
|
10
|
-
# One of file, file_comment, or the combination of channel and timestamp must be specified.
|
10
|
+
# Adds a reaction to an item.
|
11
11
|
#
|
12
|
-
# @option options [Object] :name
|
13
|
-
# Reaction (emoji) name.
|
14
|
-
# @option options [file] :file
|
15
|
-
# File to add reaction to.
|
16
|
-
# @option options [Object] :file_comment
|
17
|
-
# File comment to add reaction to.
|
18
12
|
# @option options [channel] :channel
|
19
13
|
# Channel where the message to add reaction to was posted.
|
20
|
-
# @option options [
|
14
|
+
# @option options [string] :name
|
15
|
+
# Reaction (emoji) name.
|
16
|
+
# @option options [string] :timestamp
|
21
17
|
# Timestamp of the message to add reaction to.
|
22
18
|
# @see https://api.slack.com/methods/reactions.add
|
23
|
-
# @see https://github.com/
|
19
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reactions/reactions.add.json
|
24
20
|
def reactions_add(options = {})
|
21
|
+
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
25
22
|
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
26
|
-
|
23
|
+
throw ArgumentError.new('Required arguments :timestamp missing') if options[:timestamp].nil?
|
24
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
27
25
|
post('reactions.add', options)
|
28
26
|
end
|
29
27
|
|
30
28
|
#
|
31
|
-
#
|
29
|
+
# Gets reactions for an item.
|
32
30
|
#
|
31
|
+
# @option options [channel] :channel
|
32
|
+
# Channel where the message to get reactions for was posted.
|
33
33
|
# @option options [file] :file
|
34
34
|
# File to get reactions for.
|
35
|
-
# @option options [
|
35
|
+
# @option options [string] :file_comment
|
36
36
|
# File comment to get reactions for.
|
37
|
-
# @option options [
|
38
|
-
# Channel where the message to get reactions for was posted.
|
39
|
-
# @option options [Object] :timestamp
|
40
|
-
# Timestamp of the message to get reactions for.
|
41
|
-
# @option options [Object] :full
|
37
|
+
# @option options [boolean] :full
|
42
38
|
# If true always return the complete reaction list.
|
39
|
+
# @option options [string] :timestamp
|
40
|
+
# Timestamp of the message to get reactions for.
|
43
41
|
# @see https://api.slack.com/methods/reactions.get
|
44
|
-
# @see https://github.com/
|
42
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reactions/reactions.get.json
|
45
43
|
def reactions_get(options = {})
|
46
|
-
options = options.merge(channel:
|
44
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
47
45
|
post('reactions.get', options)
|
48
46
|
end
|
49
47
|
|
50
48
|
#
|
51
|
-
#
|
49
|
+
# Lists reactions made by a user.
|
52
50
|
#
|
51
|
+
# @option options [string] :cursor
|
52
|
+
# 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.
|
53
|
+
# @option options [boolean] :full
|
54
|
+
# If true always return the complete reaction list.
|
55
|
+
# @option options [integer] :limit
|
56
|
+
# 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.
|
57
|
+
# @option options [string] :team_id
|
58
|
+
# encoded team id to list reactions in, required if org token is used.
|
53
59
|
# @option options [user] :user
|
54
60
|
# Show reactions made by this user. Defaults to the authed user.
|
55
|
-
# @option options [Object] :full
|
56
|
-
# If true always return the complete reaction list.
|
57
61
|
# @see https://api.slack.com/methods/reactions.list
|
58
|
-
# @see https://github.com/
|
62
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reactions/reactions.list.json
|
59
63
|
def reactions_list(options = {})
|
60
64
|
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
61
|
-
|
65
|
+
if block_given?
|
66
|
+
Pagination::Cursor.new(self, :reactions_list, options).each do |page|
|
67
|
+
yield page
|
68
|
+
end
|
69
|
+
else
|
70
|
+
post('reactions.list', options)
|
71
|
+
end
|
62
72
|
end
|
63
73
|
|
64
74
|
#
|
65
|
-
#
|
66
|
-
# One of file, file_comment, or the combination of channel and timestamp must be specified.
|
75
|
+
# Removes a reaction from an item.
|
67
76
|
#
|
68
|
-
# @option options [
|
77
|
+
# @option options [string] :name
|
69
78
|
# Reaction (emoji) name.
|
79
|
+
# @option options [channel] :channel
|
80
|
+
# Channel where the message to remove reaction from was posted.
|
70
81
|
# @option options [file] :file
|
71
82
|
# File to remove reaction from.
|
72
|
-
# @option options [
|
83
|
+
# @option options [string] :file_comment
|
73
84
|
# File comment to remove reaction from.
|
74
|
-
# @option options [
|
75
|
-
# Channel where the message to remove reaction from was posted.
|
76
|
-
# @option options [Object] :timestamp
|
85
|
+
# @option options [string] :timestamp
|
77
86
|
# Timestamp of the message to remove reaction from.
|
78
87
|
# @see https://api.slack.com/methods/reactions.remove
|
79
|
-
# @see https://github.com/
|
88
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reactions/reactions.remove.json
|
80
89
|
def reactions_remove(options = {})
|
81
90
|
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
82
|
-
options = options.merge(channel:
|
91
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
83
92
|
post('reactions.remove', options)
|
84
93
|
end
|
85
94
|
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,16 +7,20 @@ module Slack
|
|
6
7
|
module Endpoints
|
7
8
|
module Reminders
|
8
9
|
#
|
9
|
-
#
|
10
|
+
# Creates a reminder.
|
10
11
|
#
|
11
|
-
# @option options [
|
12
|
+
# @option options [string] :text
|
12
13
|
# The content of the reminder.
|
13
|
-
# @option options [
|
14
|
+
# @option options [string] :time
|
14
15
|
# 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").
|
16
|
+
# @option options [object] :recurrence
|
17
|
+
# Specify the repeating behavior of a reminder. Available options: daily, weekly, monthly, or yearly. If weekly, may further specify the days of the week.
|
18
|
+
# @option options [string] :team_id
|
19
|
+
# Encoded team id, required if org token is used.
|
15
20
|
# @option options [user] :user
|
16
21
|
# The user who will receive the reminder. If no user is specified, the reminder will go to user who created it.
|
17
22
|
# @see https://api.slack.com/methods/reminders.add
|
18
|
-
# @see https://github.com/
|
23
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reminders/reminders.add.json
|
19
24
|
def reminders_add(options = {})
|
20
25
|
throw ArgumentError.new('Required arguments :text missing') if options[:text].nil?
|
21
26
|
throw ArgumentError.new('Required arguments :time missing') if options[:time].nil?
|
@@ -24,46 +29,54 @@ module Slack
|
|
24
29
|
end
|
25
30
|
|
26
31
|
#
|
27
|
-
#
|
32
|
+
# Marks a reminder as complete.
|
28
33
|
#
|
29
|
-
# @option options [
|
34
|
+
# @option options [string] :reminder
|
30
35
|
# The ID of the reminder to be marked as complete.
|
36
|
+
# @option options [string] :team_id
|
37
|
+
# Encoded team id, required if org token is used.
|
31
38
|
# @see https://api.slack.com/methods/reminders.complete
|
32
|
-
# @see https://github.com/
|
39
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reminders/reminders.complete.json
|
33
40
|
def reminders_complete(options = {})
|
34
41
|
throw ArgumentError.new('Required arguments :reminder missing') if options[:reminder].nil?
|
35
42
|
post('reminders.complete', options)
|
36
43
|
end
|
37
44
|
|
38
45
|
#
|
39
|
-
#
|
46
|
+
# Deletes a reminder.
|
40
47
|
#
|
41
|
-
# @option options [
|
48
|
+
# @option options [string] :reminder
|
42
49
|
# The ID of the reminder.
|
50
|
+
# @option options [string] :team_id
|
51
|
+
# Encoded team id, required if org token is used.
|
43
52
|
# @see https://api.slack.com/methods/reminders.delete
|
44
|
-
# @see https://github.com/
|
53
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reminders/reminders.delete.json
|
45
54
|
def reminders_delete(options = {})
|
46
55
|
throw ArgumentError.new('Required arguments :reminder missing') if options[:reminder].nil?
|
47
56
|
post('reminders.delete', options)
|
48
57
|
end
|
49
58
|
|
50
59
|
#
|
51
|
-
#
|
60
|
+
# Gets information about a reminder.
|
52
61
|
#
|
53
|
-
# @option options [
|
62
|
+
# @option options [string] :reminder
|
54
63
|
# The ID of the reminder.
|
64
|
+
# @option options [string] :team_id
|
65
|
+
# Encoded team id, required if org token is passed.
|
55
66
|
# @see https://api.slack.com/methods/reminders.info
|
56
|
-
# @see https://github.com/
|
67
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reminders/reminders.info.json
|
57
68
|
def reminders_info(options = {})
|
58
69
|
throw ArgumentError.new('Required arguments :reminder missing') if options[:reminder].nil?
|
59
70
|
post('reminders.info', options)
|
60
71
|
end
|
61
72
|
|
62
73
|
#
|
63
|
-
#
|
74
|
+
# Lists all reminders created by or for a given user.
|
64
75
|
#
|
76
|
+
# @option options [string] :team_id
|
77
|
+
# Encoded team id, required if org token is passed.
|
65
78
|
# @see https://api.slack.com/methods/reminders.list
|
66
|
-
# @see https://github.com/
|
79
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reminders/reminders.list.json
|
67
80
|
def reminders_list(options = {})
|
68
81
|
post('reminders.list', options)
|
69
82
|
end
|