slack-ruby-client 0.12.0 → 0.14.6
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/.gitignore +1 -0
- data/.rubocop.yml +21 -9
- data/.rubocop_todo.yml +64 -56
- data/.travis.yml +5 -3
- data/CHANGELOG.md +90 -32
- data/Dangerfile +2 -0
- data/Gemfile +10 -4
- data/LICENSE.md +1 -1
- data/README.md +176 -32
- data/Rakefile +2 -1
- data/UPGRADING.md +27 -1
- data/bin/commands.rb +21 -0
- data/bin/commands/admin_apps.rb +27 -0
- data/bin/commands/admin_apps_approved.rb +17 -0
- data/bin/commands/admin_apps_requests.rb +16 -0
- data/bin/commands/admin_apps_restricted.rb +17 -0
- data/bin/commands/admin_conversations.rb +17 -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_users.rb +97 -0
- data/bin/commands/admin_users_session.rb +16 -0
- data/bin/commands/api.rb +1 -0
- data/bin/commands/apps.rb +15 -0
- data/bin/commands/apps_permissions.rb +1 -0
- data/bin/commands/apps_permissions_resources.rb +1 -0
- data/bin/commands/apps_permissions_scopes.rb +1 -0
- data/bin/commands/apps_permissions_users.rb +1 -0
- data/bin/commands/auth.rb +1 -0
- data/bin/commands/bots.rb +1 -0
- data/bin/commands/channels.rb +3 -1
- data/bin/commands/chat.rb +48 -9
- data/bin/commands/chat_scheduledMessages.rb +18 -0
- data/bin/commands/conversations.rb +4 -2
- data/bin/commands/dialog.rb +1 -0
- data/bin/commands/dnd.rb +4 -3
- data/bin/commands/emoji.rb +1 -0
- data/bin/commands/files.rb +4 -14
- data/bin/commands/files_comments.rb +1 -21
- data/bin/commands/files_remote.rb +78 -0
- data/bin/commands/groups.rb +2 -1
- data/bin/commands/im.rb +2 -1
- data/bin/commands/migration.rb +1 -0
- data/bin/commands/mpim.rb +2 -1
- data/bin/commands/oauth.rb +2 -1
- data/bin/commands/oauth_v2.rb +17 -0
- data/bin/commands/pins.rb +1 -2
- data/bin/commands/reactions.rb +2 -3
- data/bin/commands/reminders.rb +1 -0
- data/bin/commands/rtm.rb +1 -0
- data/bin/commands/search.rb +2 -1
- data/bin/commands/stars.rb +1 -0
- data/bin/commands/team.rb +2 -0
- data/bin/commands/team_profile.rb +1 -0
- data/bin/commands/usergroups.rb +2 -1
- data/bin/commands/usergroups_users.rb +1 -0
- data/bin/commands/users.rb +2 -2
- data/bin/commands/users_admin.rb +1 -0
- data/bin/commands/users_prefs.rb +1 -0
- data/bin/commands/users_profile.rb +1 -0
- data/bin/commands/views.rb +48 -0
- data/bin/slack +2 -3
- data/examples/hi_real_time/Gemfile +1 -0
- data/examples/hi_real_time/hi.rb +7 -3
- data/examples/hi_real_time_and_web/Gemfile +1 -0
- data/examples/hi_real_time_and_web/hi.rb +7 -3
- data/examples/hi_real_time_async_async/Gemfile +7 -0
- data/examples/hi_real_time_async_async/Procfile +2 -0
- data/examples/hi_real_time_async_async/hi.rb +41 -0
- data/examples/hi_real_time_async_celluloid/Gemfile +1 -0
- data/examples/hi_real_time_async_celluloid/hi.rb +7 -3
- data/examples/hi_real_time_async_eventmachine/Gemfile +1 -0
- data/examples/hi_real_time_async_eventmachine/hi.rb +7 -3
- data/examples/hi_web/Gemfile +1 -0
- data/examples/hi_web/hi.rb +1 -0
- data/examples/new_ticket/Gemfile +1 -0
- data/examples/new_ticket/new_ticket.rb +1 -0
- data/lib/slack-ruby-client.rb +8 -2
- data/lib/slack.rb +1 -0
- data/lib/slack/config.rb +1 -0
- data/lib/slack/events/config.rb +32 -0
- data/lib/slack/events/request.rb +66 -0
- data/lib/slack/logger.rb +6 -5
- data/lib/slack/messages/formatting.rb +1 -0
- data/lib/slack/messages/message.rb +1 -0
- 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 +97 -28
- data/lib/slack/real_time/concurrency.rb +2 -0
- data/lib/slack/real_time/concurrency/async.rb +142 -0
- data/lib/slack/real_time/concurrency/celluloid.rb +33 -9
- data/lib/slack/real_time/concurrency/eventmachine.rb +32 -7
- data/lib/slack/real_time/config.rb +7 -2
- data/lib/slack/real_time/models.rb +1 -0
- data/lib/slack/real_time/models/base.rb +1 -0
- data/lib/slack/real_time/models/bot.rb +1 -0
- data/lib/slack/real_time/models/channel.rb +1 -0
- data/lib/slack/real_time/models/group.rb +1 -0
- data/lib/slack/real_time/models/im.rb +1 -0
- data/lib/slack/real_time/models/team.rb +1 -0
- data/lib/slack/real_time/models/user.rb +1 -0
- data/lib/slack/real_time/socket.rb +42 -13
- data/lib/slack/real_time/stores.rb +1 -0
- data/lib/slack/real_time/stores/base.rb +1 -0
- data/lib/slack/real_time/stores/starter.rb +11 -0
- data/lib/slack/real_time/stores/store.rb +28 -25
- data/lib/slack/version.rb +2 -1
- data/lib/slack/web/api/endpoints.rb +41 -0
- data/lib/slack/web/api/endpoints/admin_apps.rb +42 -0
- data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_apps_requests.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_conversations.rb +30 -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_users.rb +163 -0
- data/lib/slack/web/api/endpoints/admin_users_session.rb +28 -0
- data/lib/slack/web/api/endpoints/api.rb +1 -0
- data/lib/slack/web/api/endpoints/apps.rb +27 -0
- data/lib/slack/web/api/endpoints/apps_permissions.rb +1 -0
- data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +1 -0
- data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +1 -0
- data/lib/slack/web/api/endpoints/apps_permissions_users.rb +1 -0
- data/lib/slack/web/api/endpoints/auth.rb +1 -0
- data/lib/slack/web/api/endpoints/bots.rb +1 -0
- data/lib/slack/web/api/endpoints/channels.rb +3 -0
- data/lib/slack/web/api/endpoints/chat.rb +99 -12
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +38 -0
- data/lib/slack/web/api/endpoints/conversations.rb +4 -1
- data/lib/slack/web/api/endpoints/dialog.rb +1 -0
- data/lib/slack/web/api/endpoints/dnd.rb +3 -1
- data/lib/slack/web/api/endpoints/emoji.rb +1 -0
- data/lib/slack/web/api/endpoints/files.rb +4 -13
- data/lib/slack/web/api/endpoints/files_comments.rb +1 -33
- data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
- data/lib/slack/web/api/endpoints/groups.rb +1 -0
- data/lib/slack/web/api/endpoints/im.rb +1 -0
- data/lib/slack/web/api/endpoints/migration.rb +1 -0
- data/lib/slack/web/api/endpoints/mpim.rb +1 -0
- data/lib/slack/web/api/endpoints/oauth.rb +2 -1
- data/lib/slack/web/api/endpoints/oauth_v2.rb +30 -0
- data/lib/slack/web/api/endpoints/pins.rb +2 -4
- data/lib/slack/web/api/endpoints/reactions.rb +5 -6
- data/lib/slack/web/api/endpoints/reminders.rb +1 -0
- data/lib/slack/web/api/endpoints/rtm.rb +1 -0
- data/lib/slack/web/api/endpoints/search.rb +1 -0
- data/lib/slack/web/api/endpoints/stars.rb +1 -0
- data/lib/slack/web/api/endpoints/team.rb +3 -0
- data/lib/slack/web/api/endpoints/team_profile.rb +1 -0
- data/lib/slack/web/api/endpoints/usergroups.rb +1 -0
- data/lib/slack/web/api/endpoints/usergroups_users.rb +1 -0
- data/lib/slack/web/api/endpoints/users.rb +1 -2
- 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 +1 -0
- data/lib/slack/web/api/endpoints/views.rb +97 -0
- data/lib/slack/web/api/error.rb +1 -0
- data/lib/slack/web/api/errors.rb +566 -0
- data/lib/slack/web/api/errors/slack_error.rb +14 -1
- data/lib/slack/web/api/errors/too_many_requests_error.rb +1 -0
- data/lib/slack/web/api/mixins.rb +1 -0
- data/lib/slack/web/api/mixins/channels.id.rb +1 -0
- data/lib/slack/web/api/mixins/groups.id.rb +1 -0
- data/lib/slack/web/api/mixins/ids.id.rb +4 -1
- data/lib/slack/web/api/mixins/users.id.rb +1 -0
- data/lib/slack/web/api/mixins/users.search.rb +1 -0
- data/lib/slack/web/api/patches/chat.5.postEphemeral-text-or-attachments.patch +5 -3
- data/lib/slack/web/api/patches/chat.6.block-kit-support.patch +69 -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 +1 -0
- data/lib/slack/web/api/templates/errors.erb +20 -0
- data/lib/slack/web/api/templates/method.erb +1 -0
- data/lib/slack/web/api/templates/method_spec.erb +1 -0
- data/lib/slack/web/client.rb +2 -1
- data/lib/slack/web/config.rb +1 -0
- data/lib/slack/web/faraday/connection.rb +1 -0
- data/lib/slack/web/faraday/request.rb +1 -0
- data/lib/slack/web/faraday/response/raise_error.rb +10 -6
- data/lib/slack/web/pagination/cursor.rb +4 -0
- data/lib/slack_ruby_client.rb +1 -0
- data/lib/tasks/git.rake +1 -0
- data/lib/tasks/real_time.rake +15 -5
- data/lib/tasks/update.rake +1 -0
- data/lib/tasks/web.rake +28 -7
- data/screenshots/create-app.png +0 -0
- data/slack-ruby-client.gemspec +6 -2
- data/spec/fixtures/slack/web/views_open_error.yml +76 -0
- data/spec/integration/integration_spec.rb +116 -48
- data/spec/slack/config_spec.rb +2 -0
- data/spec/slack/events/config_spec.rb +33 -0
- data/spec/slack/events/request_spec.rb +179 -0
- data/spec/slack/messages/formatting_spec.rb +25 -13
- data/spec/slack/real_time/api/message_spec.rb +6 -1
- data/spec/slack/real_time/api/ping_spec.rb +2 -0
- data/spec/slack/real_time/api/typing_spec.rb +5 -1
- data/spec/slack/real_time/client_spec.rb +212 -31
- data/spec/slack/real_time/concurrency/celluloid_spec.rb +15 -5
- data/spec/slack/real_time/concurrency/eventmachine_spec.rb +11 -1
- data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +2 -0
- data/spec/slack/real_time/event_handlers/bot_spec.rb +2 -1
- data/spec/slack/real_time/event_handlers/channel_spec.rb +9 -6
- data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +2 -1
- data/spec/slack/real_time/event_handlers/group_spec.rb +5 -4
- data/spec/slack/real_time/event_handlers/im_spec.rb +4 -3
- data/spec/slack/real_time/event_handlers/team_spec.rb +3 -1
- data/spec/slack/real_time/event_handlers/user_spec.rb +1 -0
- data/spec/slack/real_time/rtm_connect_spec.rb +1 -0
- data/spec/slack/real_time/rtm_start_spec.rb +1 -0
- data/spec/slack/real_time/store_spec.rb +2 -1
- data/spec/slack/slack_spec.rb +37 -5
- data/spec/slack/version_spec.rb +2 -1
- 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 +8 -0
- data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +13 -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_users_session_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_users_spec.rb +75 -0
- data/spec/slack/web/api/endpoints/api_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/apps_permissions_scopes_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +4 -3
- data/spec/slack/web/api/endpoints/apps_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/bots_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/conversations_spec.rb +2 -1
- data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +5 -1
- data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +2 -0
- data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +112 -36
- data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +12 -4
- data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +2 -0
- data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +6 -1
- data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +95 -0
- data/spec/slack/web/api/endpoints/dnd_spec.rb +6 -0
- data/spec/slack/web/api/endpoints/emoji_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/files_comments_spec.rb +1 -19
- data/spec/slack/web/api/endpoints/files_remote_spec.rb +24 -0
- data/spec/slack/web/api/endpoints/files_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/im_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/migration_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/mpim_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/oauth_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/pins_spec.rb +5 -1
- data/spec/slack/web/api/endpoints/reactions_spec.rb +8 -1
- data/spec/slack/web/api/endpoints/reminders_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/rtm_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/search_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/stars_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/team_profile_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/team_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/usergroups_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +1 -0
- 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/views_spec.rb +29 -0
- data/spec/slack/web/api/error_spec.rb +4 -2
- data/spec/slack/web/api/errors/service_unavailable_spec.rb +6 -3
- data/spec/slack/web/api/errors/slack_error_spec.rb +26 -2
- data/spec/slack/web/api/mixins/channels_spec.rb +17 -7
- data/spec/slack/web/api/mixins/groups_spec.rb +17 -7
- data/spec/slack/web/api/mixins/users_spec.rb +17 -8
- data/spec/slack/web/api/pagination/cursor_spec.rb +40 -10
- data/spec/slack/web/client_spec.rb +45 -18
- data/spec/slack/web/faraday/response/raise_error_spec.rb +41 -7
- data/spec/spec_helper.rb +8 -1
- data/spec/support/queue_with_timeout.rb +5 -4
- data/spec/support/real_time/concurrency/mock.rb +1 -0
- data/spec/support/real_time/connected_client.rb +9 -3
- data/spec/support/real_time/event.rb +1 -0
- data/spec/support/token.rb +1 -0
- data/spec/support/vcr.rb +1 -0
- metadata +149 -9
- data/screenshots/register-bot.png +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module Slack
|
|
2
3
|
module RealTime
|
|
3
4
|
module Stores
|
|
@@ -14,6 +15,16 @@ module Slack
|
|
|
14
15
|
|
|
15
16
|
### RealTime Events
|
|
16
17
|
|
|
18
|
+
# An enterprise grid migration has started on an external workspace..
|
|
19
|
+
# @see https://api.slack.com/events/external_org_migration_started
|
|
20
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/external_org_migration_started.json
|
|
21
|
+
# on :external_org_migration_started do |data|
|
|
22
|
+
|
|
23
|
+
# An enterprise grid migration has finished on an external workspace..
|
|
24
|
+
# @see https://api.slack.com/events/external_org_migration_finished
|
|
25
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/external_org_migration_finished.json
|
|
26
|
+
# on :external_org_migration_finished do |data|
|
|
27
|
+
|
|
17
28
|
# A private channel was deleted.
|
|
18
29
|
# @see https://api.slack.com/events/group_deleted
|
|
19
30
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_deleted.json
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module Slack
|
|
2
3
|
module RealTime
|
|
3
4
|
module Stores
|
|
@@ -26,44 +27,44 @@ module Slack
|
|
|
26
27
|
@users = {}
|
|
27
28
|
end
|
|
28
29
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
@users[data.id] = @users.key?(data.id) ? @users[data.id].merge(user) : user
|
|
33
|
-
end
|
|
30
|
+
attrs.users&.each do |data|
|
|
31
|
+
user = Models::User.new(data)
|
|
32
|
+
@users[data.id] = @users.key?(data.id) ? @users[data.id].merge(user) : user
|
|
34
33
|
end
|
|
35
34
|
|
|
36
35
|
@channels = {}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
@channels[data.id] = Models::Channel.new(data)
|
|
40
|
-
end
|
|
36
|
+
attrs.channels&.each do |data|
|
|
37
|
+
@channels[data.id] = Models::Channel.new(data)
|
|
41
38
|
end
|
|
42
39
|
|
|
43
40
|
@bots = {}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
@bots[data.id] = Models::Bot.new(data)
|
|
47
|
-
end
|
|
41
|
+
attrs.bots&.each do |data|
|
|
42
|
+
@bots[data.id] = Models::Bot.new(data)
|
|
48
43
|
end
|
|
49
44
|
|
|
50
45
|
@groups = {}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
@groups[data.id] = Models::Group.new(data)
|
|
54
|
-
end
|
|
46
|
+
attrs.groups&.each do |data|
|
|
47
|
+
@groups[data.id] = Models::Group.new(data)
|
|
55
48
|
end
|
|
56
49
|
|
|
57
50
|
@ims = {}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
@ims[data.id] = Models::Im.new(data)
|
|
61
|
-
end
|
|
51
|
+
attrs.ims&.each do |data|
|
|
52
|
+
@ims[data.id] = Models::Im.new(data)
|
|
62
53
|
end
|
|
63
54
|
end
|
|
64
55
|
|
|
65
56
|
### RealTime Events
|
|
66
57
|
|
|
58
|
+
# An enterprise grid migration has started on an external workspace..
|
|
59
|
+
# @see https://api.slack.com/events/external_org_migration_started
|
|
60
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/external_org_migration_started.json
|
|
61
|
+
# on :external_org_migration_started do |data|
|
|
62
|
+
|
|
63
|
+
# An enterprise grid migration has finished on an external workspace..
|
|
64
|
+
# @see https://api.slack.com/events/external_org_migration_finished
|
|
65
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/external_org_migration_finished.json
|
|
66
|
+
# on :external_org_migration_finished do |data|
|
|
67
|
+
|
|
67
68
|
# A private channel was deleted.
|
|
68
69
|
# @see https://api.slack.com/events/group_deleted
|
|
69
70
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_deleted.json
|
|
@@ -151,7 +152,7 @@ module Slack
|
|
|
151
152
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/bot_changed.json
|
|
152
153
|
on :bot_changed do |data|
|
|
153
154
|
bot = bots[data.bot.id]
|
|
154
|
-
bot
|
|
155
|
+
bot&.merge!(data.bot)
|
|
155
156
|
end
|
|
156
157
|
|
|
157
158
|
# A team channel was archived.
|
|
@@ -333,7 +334,7 @@ module Slack
|
|
|
333
334
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_left.json
|
|
334
335
|
on :group_left do |data|
|
|
335
336
|
channel = groups[data.channel]
|
|
336
|
-
channel.members.delete(self.self.id) if channel
|
|
337
|
+
channel.members.delete(self.self.id) if channel&.key?(:members)
|
|
337
338
|
end
|
|
338
339
|
|
|
339
340
|
# A private group read marker was updated.
|
|
@@ -368,7 +369,8 @@ module Slack
|
|
|
368
369
|
# @see https://api.slack.com/events/im_close
|
|
369
370
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_close.json
|
|
370
371
|
on :im_close do |data|
|
|
371
|
-
return unless ims
|
|
372
|
+
return unless ims&.key?(data.channel)
|
|
373
|
+
|
|
372
374
|
ims[data.channel].is_open = false
|
|
373
375
|
end
|
|
374
376
|
|
|
@@ -393,7 +395,8 @@ module Slack
|
|
|
393
395
|
# @see https://api.slack.com/events/im_open
|
|
394
396
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_open.json
|
|
395
397
|
on :im_open do |data|
|
|
396
|
-
return unless ims
|
|
398
|
+
return unless ims&.key?(data.channel)
|
|
399
|
+
|
|
397
400
|
ims[data.channel].is_open = true
|
|
398
401
|
end
|
|
399
402
|
|
data/lib/slack/version.rb
CHANGED
|
@@ -1,6 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
4
|
+
require_relative 'endpoints/admin_apps'
|
|
5
|
+
require_relative 'endpoints/admin_apps_approved'
|
|
6
|
+
require_relative 'endpoints/admin_apps_requests'
|
|
7
|
+
require_relative 'endpoints/admin_apps_restricted'
|
|
8
|
+
require_relative 'endpoints/admin_conversations'
|
|
9
|
+
require_relative 'endpoints/admin_emoji'
|
|
10
|
+
require_relative 'endpoints/admin_inviteRequests'
|
|
11
|
+
require_relative 'endpoints/admin_inviteRequests_approved'
|
|
12
|
+
require_relative 'endpoints/admin_inviteRequests_denied'
|
|
13
|
+
require_relative 'endpoints/admin_teams'
|
|
14
|
+
require_relative 'endpoints/admin_teams_admins'
|
|
15
|
+
require_relative 'endpoints/admin_teams_owners'
|
|
16
|
+
require_relative 'endpoints/admin_teams_settings'
|
|
17
|
+
require_relative 'endpoints/admin_users'
|
|
18
|
+
require_relative 'endpoints/admin_users_session'
|
|
3
19
|
require_relative 'endpoints/api'
|
|
20
|
+
require_relative 'endpoints/apps'
|
|
4
21
|
require_relative 'endpoints/apps_permissions'
|
|
5
22
|
require_relative 'endpoints/apps_permissions_resources'
|
|
6
23
|
require_relative 'endpoints/apps_permissions_scopes'
|
|
@@ -9,17 +26,20 @@ require_relative 'endpoints/auth'
|
|
|
9
26
|
require_relative 'endpoints/bots'
|
|
10
27
|
require_relative 'endpoints/channels'
|
|
11
28
|
require_relative 'endpoints/chat'
|
|
29
|
+
require_relative 'endpoints/chat_scheduledMessages'
|
|
12
30
|
require_relative 'endpoints/conversations'
|
|
13
31
|
require_relative 'endpoints/dialog'
|
|
14
32
|
require_relative 'endpoints/dnd'
|
|
15
33
|
require_relative 'endpoints/emoji'
|
|
16
34
|
require_relative 'endpoints/files'
|
|
17
35
|
require_relative 'endpoints/files_comments'
|
|
36
|
+
require_relative 'endpoints/files_remote'
|
|
18
37
|
require_relative 'endpoints/groups'
|
|
19
38
|
require_relative 'endpoints/im'
|
|
20
39
|
require_relative 'endpoints/migration'
|
|
21
40
|
require_relative 'endpoints/mpim'
|
|
22
41
|
require_relative 'endpoints/oauth'
|
|
42
|
+
require_relative 'endpoints/oauth_v2'
|
|
23
43
|
require_relative 'endpoints/pins'
|
|
24
44
|
require_relative 'endpoints/reactions'
|
|
25
45
|
require_relative 'endpoints/reminders'
|
|
@@ -34,6 +54,7 @@ require_relative 'endpoints/users'
|
|
|
34
54
|
require_relative 'endpoints/users_admin'
|
|
35
55
|
require_relative 'endpoints/users_prefs'
|
|
36
56
|
require_relative 'endpoints/users_profile'
|
|
57
|
+
require_relative 'endpoints/views'
|
|
37
58
|
|
|
38
59
|
module Slack
|
|
39
60
|
module Web
|
|
@@ -43,7 +64,23 @@ module Slack
|
|
|
43
64
|
include Slack::Web::Api::Mixins::Users
|
|
44
65
|
include Slack::Web::Api::Mixins::Groups
|
|
45
66
|
|
|
67
|
+
include AdminApps
|
|
68
|
+
include AdminAppsApproved
|
|
69
|
+
include AdminAppsRequests
|
|
70
|
+
include AdminAppsRestricted
|
|
71
|
+
include AdminConversations
|
|
72
|
+
include AdminEmoji
|
|
73
|
+
include AdminInviterequests
|
|
74
|
+
include AdminInviterequestsApproved
|
|
75
|
+
include AdminInviterequestsDenied
|
|
76
|
+
include AdminTeams
|
|
77
|
+
include AdminTeamsAdmins
|
|
78
|
+
include AdminTeamsOwners
|
|
79
|
+
include AdminTeamsSettings
|
|
80
|
+
include AdminUsers
|
|
81
|
+
include AdminUsersSession
|
|
46
82
|
include Api
|
|
83
|
+
include Apps
|
|
47
84
|
include AppsPermissions
|
|
48
85
|
include AppsPermissionsResources
|
|
49
86
|
include AppsPermissionsScopes
|
|
@@ -52,17 +89,20 @@ module Slack
|
|
|
52
89
|
include Bots
|
|
53
90
|
include Channels
|
|
54
91
|
include Chat
|
|
92
|
+
include ChatScheduledmessages
|
|
55
93
|
include Conversations
|
|
56
94
|
include Dialog
|
|
57
95
|
include Dnd
|
|
58
96
|
include Emoji
|
|
59
97
|
include Files
|
|
60
98
|
include FilesComments
|
|
99
|
+
include FilesRemote
|
|
61
100
|
include Groups
|
|
62
101
|
include Im
|
|
63
102
|
include Migration
|
|
64
103
|
include Mpim
|
|
65
104
|
include Oauth
|
|
105
|
+
include OauthV2
|
|
66
106
|
include Pins
|
|
67
107
|
include Reactions
|
|
68
108
|
include Reminders
|
|
@@ -77,6 +117,7 @@ module Slack
|
|
|
77
117
|
include UsersAdmin
|
|
78
118
|
include UsersPrefs
|
|
79
119
|
include UsersProfile
|
|
120
|
+
include Views
|
|
80
121
|
end
|
|
81
122
|
end
|
|
82
123
|
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 AdminApps
|
|
9
|
+
#
|
|
10
|
+
# Approve an app for installation on a workspace.
|
|
11
|
+
#
|
|
12
|
+
# @option options [Object] :app_id
|
|
13
|
+
# The id of the app to approve.
|
|
14
|
+
# @option options [Object] :request_id
|
|
15
|
+
# The id of the request to approve.
|
|
16
|
+
# @option options [Object] :team_id
|
|
17
|
+
# .
|
|
18
|
+
# @see https://api.slack.com/methods/admin.apps.approve
|
|
19
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps/admin.apps.approve.json
|
|
20
|
+
def admin_apps_approve(options = {})
|
|
21
|
+
post('admin.apps.approve', options)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
#
|
|
25
|
+
# Restrict an app for installation on a workspace.
|
|
26
|
+
#
|
|
27
|
+
# @option options [Object] :app_id
|
|
28
|
+
# The id of the app to restrict.
|
|
29
|
+
# @option options [Object] :request_id
|
|
30
|
+
# The id of the request to restrict.
|
|
31
|
+
# @option options [Object] :team_id
|
|
32
|
+
# .
|
|
33
|
+
# @see https://api.slack.com/methods/admin.apps.restrict
|
|
34
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps/admin.apps.restrict.json
|
|
35
|
+
def admin_apps_restrict(options = {})
|
|
36
|
+
post('admin.apps.restrict', options)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
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 AdminAppsApproved
|
|
9
|
+
#
|
|
10
|
+
# List approved apps for an org or workspace.
|
|
11
|
+
#
|
|
12
|
+
# @option options [Object] :cursor
|
|
13
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
|
14
|
+
# @option options [Object] :enterprise_id
|
|
15
|
+
# .
|
|
16
|
+
# @option options [Object] :limit
|
|
17
|
+
# The maximum number of items to return. Must be between 1 - 1000 both inclusive.
|
|
18
|
+
# @option options [Object] :team_id
|
|
19
|
+
# .
|
|
20
|
+
# @see https://api.slack.com/methods/admin.apps.approved.list
|
|
21
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps.approved/admin.apps.approved.list.json
|
|
22
|
+
def admin_apps_approved_list(options = {})
|
|
23
|
+
if block_given?
|
|
24
|
+
Pagination::Cursor.new(self, :admin_apps_approved_list, options).each do |page|
|
|
25
|
+
yield page
|
|
26
|
+
end
|
|
27
|
+
else
|
|
28
|
+
post('admin.apps.approved.list', options)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
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 AdminAppsRequests
|
|
9
|
+
#
|
|
10
|
+
# List app requests for a team/workspace.
|
|
11
|
+
#
|
|
12
|
+
# @option options [Object] :cursor
|
|
13
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
|
14
|
+
# @option options [Object] :limit
|
|
15
|
+
# The maximum number of items to return. Must be between 1 - 1000 both inclusive.
|
|
16
|
+
# @option options [Object] :team_id
|
|
17
|
+
# .
|
|
18
|
+
# @see https://api.slack.com/methods/admin.apps.requests.list
|
|
19
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps.requests/admin.apps.requests.list.json
|
|
20
|
+
def admin_apps_requests_list(options = {})
|
|
21
|
+
if block_given?
|
|
22
|
+
Pagination::Cursor.new(self, :admin_apps_requests_list, options).each do |page|
|
|
23
|
+
yield page
|
|
24
|
+
end
|
|
25
|
+
else
|
|
26
|
+
post('admin.apps.requests.list', options)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
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 AdminAppsRestricted
|
|
9
|
+
#
|
|
10
|
+
# List restricted apps for an org or workspace.
|
|
11
|
+
#
|
|
12
|
+
# @option options [Object] :cursor
|
|
13
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
|
14
|
+
# @option options [Object] :enterprise_id
|
|
15
|
+
# .
|
|
16
|
+
# @option options [Object] :limit
|
|
17
|
+
# The maximum number of items to return. Must be between 1 - 1000 both inclusive.
|
|
18
|
+
# @option options [Object] :team_id
|
|
19
|
+
# .
|
|
20
|
+
# @see https://api.slack.com/methods/admin.apps.restricted.list
|
|
21
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.apps.restricted/admin.apps.restricted.list.json
|
|
22
|
+
def admin_apps_restricted_list(options = {})
|
|
23
|
+
if block_given?
|
|
24
|
+
Pagination::Cursor.new(self, :admin_apps_restricted_list, options).each do |page|
|
|
25
|
+
yield page
|
|
26
|
+
end
|
|
27
|
+
else
|
|
28
|
+
post('admin.apps.restricted.list', options)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
|
3
|
+
|
|
4
|
+
module Slack
|
|
5
|
+
module Web
|
|
6
|
+
module Api
|
|
7
|
+
module Endpoints
|
|
8
|
+
module AdminConversations
|
|
9
|
+
#
|
|
10
|
+
# Set the workspaces in an Enterprise grid org that connect to a channel.
|
|
11
|
+
#
|
|
12
|
+
# @option options [Object] :channel_id
|
|
13
|
+
# The encoded channel_id to add or remove to workspaces.
|
|
14
|
+
# @option options [Object] :org_channel
|
|
15
|
+
# True if channel has to be converted to an org channel.
|
|
16
|
+
# @option options [Object] :target_team_ids
|
|
17
|
+
# The list of workspaces to which the channel should be shared. Not required if the channel is being shared orgwide. Example: ['T1234', 'T5678'].
|
|
18
|
+
# @option options [Object] :team_id
|
|
19
|
+
# The workspace to which the channel belongs. Omit this argument if the channel is a cross-workspace shared channel.
|
|
20
|
+
# @see https://api.slack.com/methods/admin.conversations.setTeams
|
|
21
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.setTeams.json
|
|
22
|
+
def admin_conversations_setTeams(options = {})
|
|
23
|
+
throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
|
|
24
|
+
post('admin.conversations.setTeams', options)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,88 @@
|
|
|
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 AdminEmoji
|
|
9
|
+
#
|
|
10
|
+
# Add an emoji.
|
|
11
|
+
#
|
|
12
|
+
# @option options [Object] :name
|
|
13
|
+
# The name of the emoji to be removed. Colons (:myemoji:) around the value are not required, although they may be included.
|
|
14
|
+
# @option options [Object] :url
|
|
15
|
+
# The URL of a file to use as an image for the emoji. Square images under 128KB and with transparent backgrounds work best.
|
|
16
|
+
# @see https://api.slack.com/methods/admin.emoji.add
|
|
17
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.emoji/admin.emoji.add.json
|
|
18
|
+
def admin_emoji_add(options = {})
|
|
19
|
+
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
|
20
|
+
throw ArgumentError.new('Required arguments :url missing') if options[:url].nil?
|
|
21
|
+
post('admin.emoji.add', options)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
#
|
|
25
|
+
# Add an emoji alias.
|
|
26
|
+
#
|
|
27
|
+
# @option options [Object] :alias_for
|
|
28
|
+
# The alias of the emoji.
|
|
29
|
+
# @option options [Object] :name
|
|
30
|
+
# The name of the emoji to be aliased. Colons (:myemoji:) around the value are not required, although they may be included.
|
|
31
|
+
# @see https://api.slack.com/methods/admin.emoji.addAlias
|
|
32
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.emoji/admin.emoji.addAlias.json
|
|
33
|
+
def admin_emoji_addAlias(options = {})
|
|
34
|
+
throw ArgumentError.new('Required arguments :alias_for missing') if options[:alias_for].nil?
|
|
35
|
+
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
|
36
|
+
post('admin.emoji.addAlias', options)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
#
|
|
40
|
+
# List emoji for an Enterprise Grid organization.
|
|
41
|
+
#
|
|
42
|
+
# @option options [Object] :cursor
|
|
43
|
+
# Set cursor to next_cursor returned by the previous call to list items in the next page.
|
|
44
|
+
# @option options [Object] :limit
|
|
45
|
+
# The maximum number of items to return. Must be between 1 - 1000 both inclusive.
|
|
46
|
+
# @see https://api.slack.com/methods/admin.emoji.list
|
|
47
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.emoji/admin.emoji.list.json
|
|
48
|
+
def admin_emoji_list(options = {})
|
|
49
|
+
if block_given?
|
|
50
|
+
Pagination::Cursor.new(self, :admin_emoji_list, options).each do |page|
|
|
51
|
+
yield page
|
|
52
|
+
end
|
|
53
|
+
else
|
|
54
|
+
post('admin.emoji.list', options)
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
#
|
|
59
|
+
# Remove an emoji across an Enterprise Grid organization
|
|
60
|
+
#
|
|
61
|
+
# @option options [Object] :name
|
|
62
|
+
# The name of the emoji to be removed. Colons (:myemoji:) around the value are not required, although they may be included.
|
|
63
|
+
# @see https://api.slack.com/methods/admin.emoji.remove
|
|
64
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.emoji/admin.emoji.remove.json
|
|
65
|
+
def admin_emoji_remove(options = {})
|
|
66
|
+
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
|
67
|
+
post('admin.emoji.remove', options)
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
#
|
|
71
|
+
# Rename an emoji.
|
|
72
|
+
#
|
|
73
|
+
# @option options [Object] :name
|
|
74
|
+
# The name of the emoji to be renamed. Colons (:myemoji:) around the value are not required, although they may be included.
|
|
75
|
+
# @option options [Object] :new_name
|
|
76
|
+
# The new name of the emoji.
|
|
77
|
+
# @see https://api.slack.com/methods/admin.emoji.rename
|
|
78
|
+
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.emoji/admin.emoji.rename.json
|
|
79
|
+
def admin_emoji_rename(options = {})
|
|
80
|
+
throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
|
|
81
|
+
throw ArgumentError.new('Required arguments :new_name missing') if options[:new_name].nil?
|
|
82
|
+
post('admin.emoji.rename', options)
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|