slack-ruby-client 0.15.1 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -1
  3. data/.rubocop_todo.yml +0 -14
  4. data/.travis.yml +1 -4
  5. data/CHANGELOG.md +8 -0
  6. data/CONTRIBUTING.md +3 -10
  7. data/README.md +9 -27
  8. data/UPGRADING.md +14 -2
  9. data/bin/commands.rb +7 -0
  10. data/bin/commands/admin_analytics.rb +15 -0
  11. data/bin/commands/admin_apps.rb +15 -2
  12. data/bin/commands/admin_barriers.rb +47 -0
  13. data/bin/commands/admin_conversations.rb +154 -2
  14. data/bin/commands/admin_conversations_ekm.rb +17 -0
  15. data/bin/commands/admin_conversations_restrictAccess.rb +4 -4
  16. data/bin/commands/admin_conversations_whitelist.rb +1 -1
  17. data/bin/commands/admin_emoji.rb +1 -1
  18. data/bin/commands/admin_usergroups.rb +2 -2
  19. data/bin/commands/admin_users.rb +2 -2
  20. data/bin/commands/admin_users_session.rb +22 -0
  21. data/bin/commands/api.rb +0 -1
  22. data/bin/commands/apps_connections.rb +13 -0
  23. data/bin/commands/apps_event_authorizations.rb +16 -0
  24. data/bin/commands/auth_teams.rb +16 -0
  25. data/bin/commands/bots.rb +1 -0
  26. data/bin/commands/channels.rb +6 -3
  27. data/bin/commands/chat.rb +4 -4
  28. data/bin/commands/chat_scheduledMessages.rb +1 -0
  29. data/bin/commands/conversations.rb +14 -2
  30. data/bin/commands/dnd.rb +1 -1
  31. data/bin/commands/files.rb +6 -5
  32. data/bin/commands/files_remote.rb +2 -2
  33. data/bin/commands/groups.rb +5 -3
  34. data/bin/commands/im.rb +1 -1
  35. data/bin/commands/migration.rb +1 -0
  36. data/bin/commands/mpim.rb +3 -3
  37. data/bin/commands/pins.rb +0 -2
  38. data/bin/commands/reactions.rb +1 -0
  39. data/bin/commands/search.rb +4 -1
  40. data/bin/commands/team.rb +3 -0
  41. data/bin/commands/usergroups.rb +6 -1
  42. data/bin/commands/usergroups_users.rb +2 -0
  43. data/bin/commands/users.rb +5 -3
  44. data/bin/commands/users_profile.rb +5 -5
  45. data/bin/commands/views.rb +1 -1
  46. data/bin/commands/workflows.rb +38 -0
  47. data/lib/slack-ruby-client.rb +2 -0
  48. data/lib/slack/events/request.rb +5 -1
  49. data/lib/slack/real_time/client.rb +0 -1
  50. data/lib/slack/real_time/concurrency.rb +0 -2
  51. data/lib/slack/real_time/config.rb +5 -4
  52. data/lib/slack/version.rb +1 -1
  53. data/lib/slack/web/api/endpoints.rb +14 -0
  54. data/lib/slack/web/api/endpoints/admin_analytics.rb +26 -0
  55. data/lib/slack/web/api/endpoints/admin_apps.rb +22 -2
  56. data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
  57. data/lib/slack/web/api/endpoints/admin_conversations.rb +231 -1
  58. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
  59. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +3 -3
  60. data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +3 -3
  61. data/lib/slack/web/api/endpoints/admin_emoji.rb +1 -1
  62. data/lib/slack/web/api/endpoints/admin_usergroups.rb +1 -1
  63. data/lib/slack/web/api/endpoints/admin_users.rb +4 -6
  64. data/lib/slack/web/api/endpoints/admin_users_session.rb +38 -0
  65. data/lib/slack/web/api/endpoints/api.rb +0 -2
  66. data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
  67. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
  68. data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
  69. data/lib/slack/web/api/endpoints/bots.rb +2 -0
  70. data/lib/slack/web/api/endpoints/channels.rb +9 -3
  71. data/lib/slack/web/api/endpoints/chat.rb +3 -3
  72. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +2 -0
  73. data/lib/slack/web/api/endpoints/conversations.rb +21 -1
  74. data/lib/slack/web/api/endpoints/files.rb +4 -2
  75. data/lib/slack/web/api/endpoints/files_remote.rb +2 -2
  76. data/lib/slack/web/api/endpoints/groups.rb +7 -3
  77. data/lib/slack/web/api/endpoints/im.rb +1 -1
  78. data/lib/slack/web/api/endpoints/migration.rb +2 -0
  79. data/lib/slack/web/api/endpoints/mpim.rb +3 -3
  80. data/lib/slack/web/api/endpoints/pins.rb +0 -5
  81. data/lib/slack/web/api/endpoints/reactions.rb +2 -0
  82. data/lib/slack/web/api/endpoints/search.rb +6 -0
  83. data/lib/slack/web/api/endpoints/team.rb +6 -0
  84. data/lib/slack/web/api/endpoints/usergroups.rb +10 -0
  85. data/lib/slack/web/api/endpoints/usergroups_users.rb +4 -0
  86. data/lib/slack/web/api/endpoints/users.rb +7 -5
  87. data/lib/slack/web/api/endpoints/users_profile.rb +3 -3
  88. data/lib/slack/web/api/endpoints/views.rb +1 -1
  89. data/lib/slack/web/api/endpoints/workflows.rb +61 -0
  90. data/lib/slack/web/api/errors.rb +194 -0
  91. data/lib/slack/web/api/errors/internal_error.rb +14 -0
  92. data/lib/slack/web/api/templates/endpoints.erb +1 -0
  93. data/lib/slack/web/api/templates/method_spec.erb +1 -1
  94. data/lib/slack/web/faraday/connection.rb +1 -1
  95. data/lib/slack/web/faraday/response/raise_error.rb +16 -1
  96. data/lib/slack/web/faraday/response/wrap_error.rb +18 -0
  97. data/lib/tasks/web.rake +7 -3
  98. data/spec/slack/events/request_spec.rb +7 -3
  99. data/spec/slack/real_time/client_spec.rb +1 -1
  100. data/spec/slack/web/api/endpoints/admin_analytics_spec.rb +13 -0
  101. data/spec/slack/web/api/endpoints/admin_apps_spec.rb +5 -0
  102. data/spec/slack/web/api/endpoints/admin_barriers_spec.rb +38 -0
  103. data/spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb +8 -0
  104. data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +5 -5
  105. data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +85 -0
  106. data/spec/slack/web/api/endpoints/admin_conversations_whitelist_spec.rb +5 -5
  107. data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +6 -6
  108. data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +10 -10
  109. data/spec/slack/web/api/endpoints/admin_teams_spec.rb +2 -2
  110. data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +6 -6
  111. data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +8 -0
  112. data/spec/slack/web/api/endpoints/admin_users_spec.rb +15 -23
  113. data/spec/slack/web/api/endpoints/apps_connections_spec.rb +8 -0
  114. data/spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb +13 -0
  115. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +2 -2
  116. data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +3 -3
  117. data/spec/slack/web/api/endpoints/apps_spec.rb +2 -2
  118. data/spec/slack/web/api/endpoints/auth_teams_spec.rb +8 -0
  119. data/spec/slack/web/api/endpoints/calls_participants_spec.rb +4 -4
  120. data/spec/slack/web/api/endpoints/calls_spec.rb +2 -2
  121. data/spec/slack/web/api/endpoints/conversations_spec.rb +20 -12
  122. data/spec/slack/web/api/endpoints/files_comments_spec.rb +2 -2
  123. data/spec/slack/web/api/endpoints/files_remote_spec.rb +3 -3
  124. data/spec/slack/web/api/endpoints/files_spec.rb +4 -4
  125. data/spec/slack/web/api/endpoints/im_spec.rb +4 -4
  126. data/spec/slack/web/api/endpoints/mpim_spec.rb +4 -4
  127. data/spec/slack/web/api/endpoints/oauth_spec.rb +3 -3
  128. data/spec/slack/web/api/endpoints/pins_spec.rb +1 -4
  129. data/spec/slack/web/api/endpoints/reactions_spec.rb +3 -3
  130. data/spec/slack/web/api/endpoints/reminders_spec.rb +2 -2
  131. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +2 -2
  132. data/spec/slack/web/api/endpoints/workflows_spec.rb +26 -0
  133. data/spec/slack/web/client_spec.rb +56 -0
  134. data/spec/slack/web/faraday/response/raise_error_spec.rb +7 -6
  135. metadata +32 -19
  136. data/examples/hi_real_time/Gemfile +0 -6
  137. data/examples/hi_real_time/hi.gif +0 -0
  138. data/examples/hi_real_time/hi.rb +0 -41
  139. data/examples/hi_real_time_async_celluloid/Gemfile +0 -7
  140. data/examples/hi_real_time_async_celluloid/Procfile +0 -2
  141. data/examples/hi_real_time_async_celluloid/hi.rb +0 -39
  142. data/examples/hi_real_time_async_eventmachine/Gemfile +0 -7
  143. data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
  144. data/examples/hi_real_time_async_eventmachine/hi.rb +0 -39
  145. data/lib/slack/real_time/concurrency/celluloid.rb +0 -142
  146. data/lib/slack/real_time/concurrency/eventmachine.rb +0 -85
  147. data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -116
  148. data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -57
  149. data/spec/slack/web/api/errors/service_unavailable_spec.rb +0 -17
@@ -11,6 +11,8 @@ module Slack
11
11
  #
12
12
  # @option options [Object] :before
13
13
  # End of time range of logs to include in results (inclusive).
14
+ # @option options [Object] :team_id
15
+ # encoded team id to get logs from, required if org token is used.
14
16
  # @see https://api.slack.com/methods/team.accessLogs
15
17
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/team/team.accessLogs.json
16
18
  def team_accessLogs(options = {})
@@ -20,6 +22,8 @@ module Slack
20
22
  #
21
23
  # Gets billable users information for the current team.
22
24
  #
25
+ # @option options [Object] :team_id
26
+ # encoded team id to get the billable information from, required if org token is used.
23
27
  # @option options [user] :user
24
28
  # A user to retrieve the billable information for. Defaults to all users.
25
29
  # @see https://api.slack.com/methods/team.billableInfo
@@ -49,6 +53,8 @@ module Slack
49
53
  # Filter logs with this change type. Defaults to all logs.
50
54
  # @option options [Object] :service_id
51
55
  # Filter logs to this service. Defaults to all logs.
56
+ # @option options [Object] :team_id
57
+ # encoded team id to get logs from, required if org token is used.
52
58
  # @option options [user] :user
53
59
  # Filter logs generated by this user's actions. Defaults to all logs.
54
60
  # @see https://api.slack.com/methods/team.integrationLogs
@@ -19,6 +19,8 @@ module Slack
19
19
  # A mention handle. Must be unique among channels, users and User Groups.
20
20
  # @option options [Object] :include_count
21
21
  # Include the number of users in each User Group.
22
+ # @option options [Object] :team_id
23
+ # Encoded team id where the user group has to be created, required if org token is used.
22
24
  # @see https://api.slack.com/methods/usergroups.create
23
25
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.create.json
24
26
  def usergroups_create(options = {})
@@ -33,6 +35,8 @@ module Slack
33
35
  # The encoded ID of the User Group to disable.
34
36
  # @option options [Object] :include_count
35
37
  # Include the number of users in the User Group.
38
+ # @option options [Object] :team_id
39
+ # Encoded team id where the user group is, required if org token is used.
36
40
  # @see https://api.slack.com/methods/usergroups.disable
37
41
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.disable.json
38
42
  def usergroups_disable(options = {})
@@ -47,6 +51,8 @@ module Slack
47
51
  # The encoded ID of the User Group to enable.
48
52
  # @option options [Object] :include_count
49
53
  # Include the number of users in the User Group.
54
+ # @option options [Object] :team_id
55
+ # Encoded team id where the user group is, required if org token is used.
50
56
  # @see https://api.slack.com/methods/usergroups.enable
51
57
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.enable.json
52
58
  def usergroups_enable(options = {})
@@ -63,6 +69,8 @@ module Slack
63
69
  # Include disabled User Groups.
64
70
  # @option options [Object] :include_users
65
71
  # Include the list of users for each User Group.
72
+ # @option options [Object] :team_id
73
+ # encoded team id to list user groups in, required if org token is used.
66
74
  # @see https://api.slack.com/methods/usergroups.list
67
75
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.list.json
68
76
  def usergroups_list(options = {})
@@ -84,6 +92,8 @@ module Slack
84
92
  # Include the number of users in the User Group.
85
93
  # @option options [Object] :name
86
94
  # A name for the User Group. Must be unique among User Groups.
95
+ # @option options [Object] :team_id
96
+ # encoded team id where the user group exists, required if org token is used.
87
97
  # @see https://api.slack.com/methods/usergroups.update
88
98
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.update.json
89
99
  def usergroups_update(options = {})
@@ -13,6 +13,8 @@ module Slack
13
13
  # The encoded ID of the User Group to update.
14
14
  # @option options [Object] :include_disabled
15
15
  # Allow results that involve disabled User Groups.
16
+ # @option options [Object] :team_id
17
+ # encoded team id where the user group exists, required if org token is used.
16
18
  # @see https://api.slack.com/methods/usergroups.users.list
17
19
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups.users/usergroups.users.list.json
18
20
  def usergroups_users_list(options = {})
@@ -29,6 +31,8 @@ module Slack
29
31
  # A comma separated string of encoded user IDs that represent the entire list of users for the User Group.
30
32
  # @option options [Object] :include_count
31
33
  # Include the number of users in the User Group.
34
+ # @option options [Object] :team_id
35
+ # encoded team id where the user group exists, required if org token is used.
32
36
  # @see https://api.slack.com/methods/usergroups.users.update
33
37
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups.users/usergroups.users.update.json
34
38
  def usergroups_users_update(options = {})
@@ -15,6 +15,8 @@ module Slack
15
15
  # Set to true to exclude archived channels from the list.
16
16
  # @option options [Object] :limit
17
17
  # 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. Must be an integer no larger than 1000.
18
+ # @option options [Object] :team_id
19
+ # encoded team id to list conversations in, required if org token is used.
18
20
  # @option options [Object] :types
19
21
  # Mix and match channel types by providing a comma-separated list of any combination of public_channel, private_channel, mpim, im.
20
22
  # @option options [user] :user
@@ -49,7 +51,6 @@ module Slack
49
51
  # @see https://api.slack.com/methods/users.getPresence
50
52
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.getPresence.json
51
53
  def users_getPresence(options = {})
52
- throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
53
54
  options = options.merge(user: users_id(options)['user']['id']) if options[:user]
54
55
  post('users.getPresence', options)
55
56
  end
@@ -86,7 +87,9 @@ module Slack
86
87
  # @option options [Object] :include_locale
87
88
  # Set this to true to receive the locale for users. Defaults to false.
88
89
  # @option options [Object] :limit
89
- # 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.
90
+ # 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. Providing no limit value will result in Slack attempting to deliver you the entire result set. If the collection is too large you may experience limit_required or HTTP 500 errors.
91
+ # @option options [Object] :team_id
92
+ # encoded team id to list users in, required if org token is used.
90
93
  # @see https://api.slack.com/methods/users.list
91
94
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.list.json
92
95
  def users_list(options = {})
@@ -123,18 +126,17 @@ module Slack
123
126
  #
124
127
  # Set the user profile photo
125
128
  #
126
- # @option options [Object] :image
127
- # File contents via multipart/form-data.
128
129
  # @option options [Object] :crop_w
129
130
  # Width/height of crop box (always square).
130
131
  # @option options [Object] :crop_x
131
132
  # X coordinate of top-left corner of crop box.
132
133
  # @option options [Object] :crop_y
133
134
  # Y coordinate of top-left corner of crop box.
135
+ # @option options [Object] :image
136
+ # File contents via multipart/form-data.
134
137
  # @see https://api.slack.com/methods/users.setPhoto
135
138
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.setPhoto.json
136
139
  def users_setPhoto(options = {})
137
- throw ArgumentError.new('Required arguments :image missing') if options[:image].nil?
138
140
  post('users.setPhoto', options)
139
141
  end
140
142
 
@@ -7,10 +7,10 @@ module Slack
7
7
  module Endpoints
8
8
  module UsersProfile
9
9
  #
10
- # Retrieves a user's profile information.
10
+ # Retrieve a user's profile information, including their custom status.
11
11
  #
12
12
  # @option options [Object] :include_labels
13
- # Include labels for each ID in custom profile fields.
13
+ # Include labels for each ID in custom profile fields. Using this parameter will heavily rate-limit your requests and is not recommended.
14
14
  # @option options [user] :user
15
15
  # User to retrieve profile info for.
16
16
  # @see https://api.slack.com/methods/users.profile.get
@@ -21,7 +21,7 @@ module Slack
21
21
  end
22
22
 
23
23
  #
24
- # Set the profile information for a user.
24
+ # Set a user's profile information, including custom status.
25
25
  #
26
26
  # @option options [Object] :name
27
27
  # Name of a single key to set. Usable only if profile is not passed.
@@ -72,7 +72,7 @@ module Slack
72
72
  # Update an existing view.
73
73
  #
74
74
  # @option options [Object] :view
75
- # A view payload This must be a JSON-encoded string.
75
+ # A view object. This must be a JSON-encoded string.
76
76
  # @option options [Object] :external_id
77
77
  # A unique identifier of the view set by the developer. Must be unique for all views on a team. Max length of 255 characters. Either view_id or external_id is required.
78
78
  # @option options [Object] :hash
@@ -0,0 +1,61 @@
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 Workflows
9
+ #
10
+ # Indicate that an app's step in a workflow completed execution.
11
+ #
12
+ # @option options [Object] :workflow_step_execute_id
13
+ # Context identifier that maps to the correct workflow step execution.
14
+ # @option options [Object] :outputs
15
+ # Key-value object of outputs from your step. Keys of this object reflect the configured key properties of your outputs array from your workflow_step object.
16
+ # @see https://api.slack.com/methods/workflows.stepCompleted
17
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows/workflows.stepCompleted.json
18
+ def workflows_stepCompleted(options = {})
19
+ throw ArgumentError.new('Required arguments :workflow_step_execute_id missing') if options[:workflow_step_execute_id].nil?
20
+ post('workflows.stepCompleted', options)
21
+ end
22
+
23
+ #
24
+ # Indicate that an app's step in a workflow failed to execute.
25
+ #
26
+ # @option options [Object] :error
27
+ # A JSON-based object with a message property that should contain a human readable error message.
28
+ # @option options [Object] :workflow_step_execute_id
29
+ # Context identifier that maps to the correct workflow step execution.
30
+ # @see https://api.slack.com/methods/workflows.stepFailed
31
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows/workflows.stepFailed.json
32
+ def workflows_stepFailed(options = {})
33
+ throw ArgumentError.new('Required arguments :error missing') if options[:error].nil?
34
+ throw ArgumentError.new('Required arguments :workflow_step_execute_id missing') if options[:workflow_step_execute_id].nil?
35
+ post('workflows.stepFailed', options)
36
+ end
37
+
38
+ #
39
+ # Update the configuration for a workflow step.
40
+ #
41
+ # @option options [Object] :workflow_step_edit_id
42
+ # A context identifier provided with view_submission payloads used to call back to workflows.updateStep.
43
+ # @option options [Object] :inputs
44
+ # A JSON key-value map of inputs required from a user during configuration. This is the data your app expects to receive when the workflow step starts. Please note: the embedded variable format is set and replaced by the workflow system. You cannot create custom variables that will be replaced at runtime. Read more about variables in workflow steps here.
45
+ # @option options [Object] :outputs
46
+ # An JSON array of output objects used during step execution. This is the data your app agrees to provide when your workflow step was executed.
47
+ # @option options [Object] :step_image_url
48
+ # An optional field that can be used to override app image that is shown in the Workflow Builder.
49
+ # @option options [Object] :step_name
50
+ # An optional field that can be used to override the step name that is shown in the Workflow Builder.
51
+ # @see https://api.slack.com/methods/workflows.updateStep
52
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/workflows/workflows.updateStep.json
53
+ def workflows_updateStep(options = {})
54
+ throw ArgumentError.new('Required arguments :workflow_step_edit_id missing') if options[:workflow_step_edit_id].nil?
55
+ post('workflows.updateStep', options)
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -5,7 +5,9 @@ module Slack
5
5
  module Web
6
6
  module Api
7
7
  module Errors
8
+ class Accesslimited < SlackError; end
8
9
  class AccountInactive < SlackError; end
10
+ class AdminUnauthorized < SlackError; end
9
11
  class AlreadyArchived < SlackError; end
10
12
  class AlreadyInChannel < SlackError; end
11
13
  class AlreadyInTeam < SlackError; end
@@ -19,8 +21,10 @@ module Slack
19
21
  class AppMissingActionUrl < SlackError; end
20
22
  class AppRestrictedOrgWide < SlackError; end
21
23
  class AsUserNotSupported < SlackError; end
24
+ class AuthedUserNotFound < SlackError; end
22
25
  class AutoProvisionFailure < SlackError; end
23
26
  class BadClientSecret < SlackError; end
27
+ class BadHandle < SlackError; end
24
28
  class BadImage < SlackError; end
25
29
  class BadRedirectUri < SlackError; end
26
30
  class BadTimestamp < SlackError; end
@@ -28,13 +32,19 @@ module Slack
28
32
  class BadToken < SlackError; end
29
33
  class BadUrl < SlackError; end
30
34
  class BadUsers < SlackError; end
35
+ class BarrierAlreadyExists < SlackError; end
36
+ class BarrierNotFound < SlackError; end
37
+ class BarrieredFromUsergroupsNotFound < SlackError; end
31
38
  class BotNotFound < SlackError; end
39
+ class BotsNotAllowed < SlackError; end
40
+ class BotsNotFound < SlackError; end
32
41
  class CannotAddBot < SlackError; end
33
42
  class CannotAddMoreChannelsToGroup < SlackError; end
34
43
  class CannotAddMoreGroupsToChannel < SlackError; end
35
44
  class CannotAddOthers < SlackError; end
36
45
  class CannotAddOthersRecurring < SlackError; end
37
46
  class CannotAddSlackbot < SlackError; end
47
+ class CannotAuthUser < SlackError; end
38
48
  class CannotCompleteOthers < SlackError; end
39
49
  class CannotCompleteRecurring < SlackError; end
40
50
  class CannotCreateDialog < SlackError; end
@@ -42,6 +52,9 @@ module Slack
42
52
  class CannotFindMessage < SlackError; end
43
53
  class CannotFindService < SlackError; end
44
54
  class CannotInstallAnOrgInstalledApp < SlackError; end
55
+ class CannotInvalidatePrimaryOwner < SlackError; end
56
+ class CannotKickHomeTeam < SlackError; end
57
+ class CannotKickTeam < SlackError; end
45
58
  class CannotModifyPrimaryOwner < SlackError; end
46
59
  class CannotMoveLocalChannel < SlackError; end
47
60
  class CannotParse < SlackError; end
@@ -64,15 +77,31 @@ module Slack
64
77
  class CantUpdateMessage < SlackError; end
65
78
  class ChannelCannotBeUnshared < SlackError; end
66
79
  class ChannelIsNotPrivate < SlackError; end
80
+ class ChannelNotArchived < SlackError; end
67
81
  class ChannelNotFound < SlackError; end
68
82
  class ChannelTypeNotSupported < SlackError; end
69
83
  class ClientIdTokenMismatch < SlackError; end
70
84
  class CodeAlreadyUsed < SlackError; end
71
85
  class ComplianceExportsPreventDeletion < SlackError; end
86
+ class CouldNotArchiveChannel < SlackError; end
87
+ class CouldNotConvertChannel < SlackError; end
88
+ class CouldNotCreateChannel < SlackError; end
72
89
  class CouldNotCreateWorkspace < SlackError; end
90
+ class CouldNotDeleteChannel < SlackError; end
91
+ class CouldNotGetConversationPrefs < SlackError; end
92
+ class CouldNotGetRetention < SlackError; end
93
+ class CouldNotGetTeams < SlackError; end
94
+ class CouldNotRemoveRetention < SlackError; end
95
+ class CouldNotRenameChannel < SlackError; end
96
+ class CouldNotSetChannelPref < SlackError; end
97
+ class CouldNotSetRetention < SlackError; end
73
98
  class CouldNotSetTeamsForChannel < SlackError; end
99
+ class CouldNotUnarchiveChannel < SlackError; end
100
+ class DataNotAvailable < SlackError; end
74
101
  class DefaultChannelRestricted < SlackError; end
75
102
  class DefaultOrgWideChannel < SlackError; end
103
+ class DeprecatedEndpoint < SlackError; end
104
+ class DescriptionTooLong < SlackError; end
76
105
  class DiscoverabilitySettingInvalid < SlackError; end
77
106
  class DomainTaken < SlackError; end
78
107
  class DuplicateChannelNotFound < SlackError; end
@@ -80,8 +109,11 @@ module Slack
80
109
  class DuplicateMessageNotFound < SlackError; end
81
110
  class EditWindowClosed < SlackError; end
82
111
  class EkmAccessDenied < SlackError; end
112
+ class EmailTaken < SlackError; end
113
+ class EmojiLimitReached < SlackError; end
83
114
  class EmojiNotFound < SlackError; end
84
115
  class EnterpriseIsRestricted < SlackError; end
116
+ class EnterpriseNotFound < SlackError; end
85
117
  class ErrorBadFormat < SlackError; end
86
118
  class ErrorBadNameI18n < SlackError; end
87
119
  class ErrorBadUpload < SlackError; end
@@ -95,6 +127,8 @@ module Slack
95
127
  class ErrorTooBig < SlackError; end
96
128
  class ExternalChannelMigrating < SlackError; end
97
129
  class ExternallySharedOrDisconnectedChannel < SlackError; end
130
+ class FailToGetTeamsForRestrictedUser < SlackError; end
131
+ class FailedForSomeUsers < SlackError; end
98
132
  class FailedLookingUpUser < SlackError; end
99
133
  class FailedSendingDialog < SlackError; end
100
134
  class FailedToAddEmoji < SlackError; end
@@ -126,20 +160,27 @@ module Slack
126
160
  class FetchMembersFailed < SlackError; end
127
161
  class FileCommentNotFound < SlackError; end
128
162
  class FileDeleted < SlackError; end
163
+ class FileDeletingDisabled < SlackError; end
129
164
  class FileNotFound < SlackError; end
130
165
  class FileNotShared < SlackError; end
166
+ class FileNotYetAvailable < SlackError; end
131
167
  class FileUnderReview < SlackError; end
168
+ class ForbiddenHandle < SlackError; end
132
169
  class GroupAlreadyLinkedToChannel < SlackError; end
133
170
  class GroupContainsOthers < SlackError; end
134
171
  class GroupMustNotBeEmpty < SlackError; end
135
172
  class GroupNotFound < SlackError; end
173
+ class HandleAlreadyExists < SlackError; end
136
174
  class HashConflict < SlackError; end
137
175
  class InactiveCall < SlackError; end
176
+ class InsecureRequest < SlackError; end
138
177
  class InternalError < SlackError; end
139
178
  class InvalidActor < SlackError; end
140
179
  class InvalidAppId < SlackError; end
141
180
  class InvalidArgName < SlackError; end
181
+ class InvalidArgs < SlackError; end
142
182
  class InvalidArguments < SlackError; end
183
+ class InvalidArrayArg < SlackError; end
143
184
  class InvalidAttachments < SlackError; end
144
185
  class InvalidAuth < SlackError; end
145
186
  class InvalidBlocks < SlackError; end
@@ -152,38 +193,55 @@ module Slack
152
193
  class InvalidCode < SlackError; end
153
194
  class InvalidCreatedBy < SlackError; end
154
195
  class InvalidCursor < SlackError; end
196
+ class InvalidDate < SlackError; end
197
+ class InvalidDuration < SlackError; end
155
198
  class InvalidEmail < SlackError; end
199
+ class InvalidEventContext < SlackError; end
156
200
  class InvalidExternalId < SlackError; end
201
+ class InvalidForIsMpim < SlackError; end
157
202
  class InvalidFormData < SlackError; end
158
203
  class InvalidGrantType < SlackError; end
204
+ class InvalidInputs < SlackError; end
159
205
  class InvalidLimit < SlackError; end
160
206
  class InvalidName < SlackError; end
161
207
  class InvalidNameMaxlength < SlackError; end
162
208
  class InvalidNamePunctuation < SlackError; end
163
209
  class InvalidNameRequired < SlackError; end
164
210
  class InvalidNameSpecials < SlackError; end
211
+ class InvalidOutputs < SlackError; end
212
+ class InvalidPayload < SlackError; end
165
213
  class InvalidPermissions < SlackError; end
166
214
  class InvalidPostType < SlackError; end
167
215
  class InvalidPresence < SlackError; end
168
216
  class InvalidProfile < SlackError; end
169
217
  class InvalidRequest < SlackError; end
170
218
  class InvalidRequestId < SlackError; end
219
+ class InvalidRestrictedSubjects < SlackError; end
171
220
  class InvalidRoleForUser < SlackError; end
172
221
  class InvalidScheduledMessageId < SlackError; end
173
222
  class InvalidScope < SlackError; end
223
+ class InvalidScopes < SlackError; end
224
+ class InvalidSearchChannelType < SlackError; end
225
+ class InvalidSort < SlackError; end
226
+ class InvalidSortDir < SlackError; end
174
227
  class InvalidStartTime < SlackError; end
228
+ class InvalidStepStatus < SlackError; end
175
229
  class InvalidTargetTeam < SlackError; end
230
+ class InvalidTeam < SlackError; end
176
231
  class InvalidTeamIds < SlackError; end
177
232
  class InvalidTime < SlackError; end
178
233
  class InvalidTimestamp < SlackError; end
234
+ class InvalidToken < SlackError; end
179
235
  class InvalidTrigger < SlackError; end
180
236
  class InvalidTsLatest < SlackError; end
181
237
  class InvalidTsOldest < SlackError; end
238
+ class InvalidType < SlackError; end
182
239
  class InvalidTypes < SlackError; end
183
240
  class InvalidUnfurlsFormat < SlackError; end
184
241
  class InvalidUrl < SlackError; end
185
242
  class InvalidUser < SlackError; end
186
243
  class InvalidUserCombination < SlackError; end
244
+ class InvalidUserId < SlackError; end
187
245
  class InvalidUsers < SlackError; end
188
246
  class InvitedUserNotCreated < SlackError; end
189
247
  class InvitedUserNotReactivated < SlackError; end
@@ -192,12 +250,16 @@ module Slack
192
250
  class IsBot < SlackError; end
193
251
  class IsInactive < SlackError; end
194
252
  class LastMember < SlackError; end
253
+ class LeavingTeamNotInChannel < SlackError; end
254
+ class LeavingTeamRequired < SlackError; end
195
255
  class LimitRequired < SlackError; end
196
256
  class LinkNotFound < SlackError; end
257
+ class MemberAnalyticsDisabled < SlackError; end
197
258
  class MessageNotFound < SlackError; end
198
259
  class MethodDeprecated < SlackError; end
199
260
  class MethodNotSupportedForChannelType < SlackError; end
200
261
  class MigrationInProgress < SlackError; end
262
+ class MissingArgs < SlackError; end
201
263
  class MissingArgument < SlackError; end
202
264
  class MissingChannel < SlackError; end
203
265
  class MissingDialog < SlackError; end
@@ -205,27 +267,38 @@ module Slack
205
267
  class MissingPostType < SlackError; end
206
268
  class MissingResource < SlackError; end
207
269
  class MissingScope < SlackError; end
270
+ class MissingSubteamName < SlackError; end
271
+ class MissingTeam < SlackError; end
208
272
  class MissingTrigger < SlackError; end
209
273
  class MissingTs < SlackError; end
210
274
  class MissingUnfurls < SlackError; end
275
+ class MissingUser < SlackError; end
211
276
  class MixedScope < SlackError; end
212
277
  class MsgTooLong < SlackError; end
213
278
  class MustProvideTeamDomain < SlackError; end
214
279
  class MustProvideTeamName < SlackError; end
280
+ class NameAlreadyExists < SlackError; end
215
281
  class NameTaken < SlackError; end
216
282
  class NameTakenInOrg < SlackError; end
283
+ class NoActiveSessions < SlackError; end
217
284
  class NoAliasSelected < SlackError; end
218
285
  class NoBotUserForApp < SlackError; end
219
286
  class NoChannel < SlackError; end
220
287
  class NoImageUploaded < SlackError; end
221
288
  class NoItemSpecified < SlackError; end
289
+ class NoLocalUserOnTeam < SlackError; end
222
290
  class NoPermission < SlackError; end
291
+ class NoPin < SlackError; end
223
292
  class NoReaction < SlackError; end
293
+ class NoResolutionFound < SlackError; end
294
+ class NoScopes < SlackError; end
224
295
  class NoSuchSubteam < SlackError; end
225
296
  class NoTeamIdsGiven < SlackError; end
297
+ class NoTeamsToDisconnect < SlackError; end
226
298
  class NoText < SlackError; end
227
299
  class NoUser < SlackError; end
228
300
  class NoUserProvided < SlackError; end
301
+ class NoUsersProvided < SlackError; end
229
302
  class NotAdmin < SlackError; end
230
303
  class NotAllowed < SlackError; end
231
304
  class NotAllowedTokenType < SlackError; end
@@ -248,15 +321,21 @@ module Slack
248
321
  class NotPinned < SlackError; end
249
322
  class NotReactable < SlackError; end
250
323
  class NotStarred < SlackError; end
324
+ class NotSupported < SlackError; end
251
325
  class OauthAuthorizationUrlMismatch < SlackError; end
326
+ class OrgLevelEmailDisplayDisabled < SlackError; end
252
327
  class OrgLoginRequired < SlackError; end
328
+ class OrgNotFound < SlackError; end
329
+ class OrgUserNotInTeam < SlackError; end
253
330
  class OverPaginationLimit < SlackError; end
254
331
  class PaginationNotAvailable < SlackError; end
255
332
  class PaidOnly < SlackError; end
333
+ class PaidTeamsOnly < SlackError; end
256
334
  class PermissionDenied < SlackError; end
257
335
  class PlanUpgradeRequired < SlackError; end
258
336
  class PostingToGeneralChannelDenied < SlackError; end
259
337
  class PreviewFeatureNotAvailable < SlackError; end
338
+ class PrimaryUsergroupNotFound < SlackError; end
260
339
  class ProfileSetFailed < SlackError; end
261
340
  class PublicVideoNotAllowed < SlackError; end
262
341
  class PushLimitReached < SlackError; end
@@ -272,13 +351,24 @@ module Slack
272
351
  class RestrictedActionNonThreadableChannel < SlackError; end
273
352
  class RestrictedActionReadOnlyChannel < SlackError; end
274
353
  class RestrictedActionThreadOnlyChannel < SlackError; end
354
+ class RetentionOverrideNotAllowed < SlackError; end
275
355
  class RtmConnectRequired < SlackError; end
276
356
  class SentRecently < SlackError; end
357
+ class ServiceUnavailable < SlackError; end
358
+ class SessionExpired < SlackError; end
359
+ class SessionInvalidationFailed < SlackError; end
360
+ class SessionNotFound < SlackError; end
361
+ class SlackConnectFileLinkSharingBlocked < SlackError; end
362
+ class SlackConnectFileUploadSharingBlocked < SlackError; end
277
363
  class SnoozeEndFailed < SlackError; end
278
364
  class SnoozeFailed < SlackError; end
279
365
  class SnoozeNotActive < SlackError; end
366
+ class SubteamMaxUsersExceeded < SlackError; end
367
+ class TeamAccessNotGranted < SlackError; end
280
368
  class TeamAddedToOrg < SlackError; end
369
+ class TeamIdOrOrgRequired < SlackError; end
281
370
  class TeamNotFound < SlackError; end
371
+ class TeamNotOnEnterprise < SlackError; end
282
372
  class ThreadNotFound < SlackError; end
283
373
  class TimeInPast < SlackError; end
284
374
  class TimeTooFar < SlackError; end
@@ -292,18 +382,24 @@ module Slack
292
382
  class TooManyFrames < SlackError; end
293
383
  class TooManyIds < SlackError; end
294
384
  class TooManyIdsProvided < SlackError; end
385
+ class TooManyLinkedChannels < SlackError; end
386
+ class TooManyMembers < SlackError; end
387
+ class TooManyPins < SlackError; end
295
388
  class TooManyReactions < SlackError; end
296
389
  class TooManyTargetTeams < SlackError; end
297
390
  class TooManyTeamsProvided < SlackError; end
298
391
  class TooManyUsers < SlackError; end
299
392
  class TriggerExchanged < SlackError; end
300
393
  class TriggerExpired < SlackError; end
394
+ class TwoFactorSetupRequired < SlackError; end
301
395
  class UnableToLeaveLastTeam < SlackError; end
302
396
  class UnableToLinkIdpGroupAndChannel < SlackError; end
303
397
  class UnableToUnlinkIdpGroupAndChannel < SlackError; end
304
398
  class UnknownMethod < SlackError; end
305
399
  class UnknownType < SlackError; end
306
400
  class UnsupportedArguments < SlackError; end
401
+ class UnsupportedContextType < SlackError; end
402
+ class UnsupportedTeamType < SlackError; end
307
403
  class UpdateFailed < SlackError; end
308
404
  class UraMaxChannels < SlackError; end
309
405
  class UserAlreadyDeleted < SlackError; end
@@ -315,6 +411,7 @@ module Slack
315
411
  class UserIsNotAGuest < SlackError; end
316
412
  class UserIsRestricted < SlackError; end
317
413
  class UserIsUltraRestricted < SlackError; end
414
+ class UserMustBeAdmin < SlackError; end
318
415
  class UserNotFound < SlackError; end
319
416
  class UserNotInChannel < SlackError; end
320
417
  class UserNotVisible < SlackError; end
@@ -328,7 +425,9 @@ module Slack
328
425
  class ViewTooLarge < SlackError; end
329
426
 
330
427
  ERROR_CLASSES = {
428
+ 'accesslimited' => Accesslimited,
331
429
  'account_inactive' => AccountInactive,
430
+ 'admin_unauthorized' => AdminUnauthorized,
332
431
  'already_archived' => AlreadyArchived,
333
432
  'already_in_channel' => AlreadyInChannel,
334
433
  'already_in_team' => AlreadyInTeam,
@@ -342,8 +441,10 @@ module Slack
342
441
  'app_missing_action_url' => AppMissingActionUrl,
343
442
  'app_restricted_org_wide' => AppRestrictedOrgWide,
344
443
  'as_user_not_supported' => AsUserNotSupported,
444
+ 'authed_user_not_found' => AuthedUserNotFound,
345
445
  'auto_provision_failure' => AutoProvisionFailure,
346
446
  'bad_client_secret' => BadClientSecret,
447
+ 'bad_handle' => BadHandle,
347
448
  'bad_image' => BadImage,
348
449
  'bad_redirect_uri' => BadRedirectUri,
349
450
  'bad_timestamp' => BadTimestamp,
@@ -351,13 +452,19 @@ module Slack
351
452
  'bad_token' => BadToken,
352
453
  'bad_url' => BadUrl,
353
454
  'bad_users' => BadUsers,
455
+ 'barrier_already_exists' => BarrierAlreadyExists,
456
+ 'barrier_not_found' => BarrierNotFound,
457
+ 'barriered_from_usergroups_not_found' => BarrieredFromUsergroupsNotFound,
354
458
  'bot_not_found' => BotNotFound,
459
+ 'bots_not_allowed' => BotsNotAllowed,
460
+ 'bots_not_found' => BotsNotFound,
355
461
  'cannot_add_bot' => CannotAddBot,
356
462
  'cannot_add_more_channels_to_group' => CannotAddMoreChannelsToGroup,
357
463
  'cannot_add_more_groups_to_channel' => CannotAddMoreGroupsToChannel,
358
464
  'cannot_add_others' => CannotAddOthers,
359
465
  'cannot_add_others_recurring' => CannotAddOthersRecurring,
360
466
  'cannot_add_slackbot' => CannotAddSlackbot,
467
+ 'cannot_auth_user' => CannotAuthUser,
361
468
  'cannot_complete_others' => CannotCompleteOthers,
362
469
  'cannot_complete_recurring' => CannotCompleteRecurring,
363
470
  'cannot_create_dialog' => CannotCreateDialog,
@@ -365,6 +472,9 @@ module Slack
365
472
  'cannot_find_message' => CannotFindMessage,
366
473
  'cannot_find_service' => CannotFindService,
367
474
  'cannot_install_an_org_installed_app' => CannotInstallAnOrgInstalledApp,
475
+ 'cannot_invalidate_primary_owner' => CannotInvalidatePrimaryOwner,
476
+ 'cannot_kick_home_team' => CannotKickHomeTeam,
477
+ 'cannot_kick_team' => CannotKickTeam,
368
478
  'cannot_modify_primary_owner' => CannotModifyPrimaryOwner,
369
479
  'cannot_move_local_channel' => CannotMoveLocalChannel,
370
480
  'cannot_parse' => CannotParse,
@@ -387,15 +497,31 @@ module Slack
387
497
  'cant_update_message' => CantUpdateMessage,
388
498
  'channel_cannot_be_unshared' => ChannelCannotBeUnshared,
389
499
  'channel_is_not_private' => ChannelIsNotPrivate,
500
+ 'channel_not_archived' => ChannelNotArchived,
390
501
  'channel_not_found' => ChannelNotFound,
391
502
  'channel_type_not_supported' => ChannelTypeNotSupported,
392
503
  'client_id_token_mismatch' => ClientIdTokenMismatch,
393
504
  'code_already_used' => CodeAlreadyUsed,
394
505
  'compliance_exports_prevent_deletion' => ComplianceExportsPreventDeletion,
506
+ 'could_not_archive_channel' => CouldNotArchiveChannel,
507
+ 'could_not_convert_channel' => CouldNotConvertChannel,
508
+ 'could_not_create_channel' => CouldNotCreateChannel,
395
509
  'could_not_create_workspace' => CouldNotCreateWorkspace,
510
+ 'could_not_delete_channel' => CouldNotDeleteChannel,
511
+ 'could_not_get_conversation_prefs' => CouldNotGetConversationPrefs,
512
+ 'could_not_get_retention' => CouldNotGetRetention,
513
+ 'could_not_get_teams' => CouldNotGetTeams,
514
+ 'could_not_remove_retention' => CouldNotRemoveRetention,
515
+ 'could_not_rename_channel' => CouldNotRenameChannel,
516
+ 'could_not_set_channel_pref' => CouldNotSetChannelPref,
517
+ 'could_not_set_retention' => CouldNotSetRetention,
396
518
  'could_not_set_teams_for_channel' => CouldNotSetTeamsForChannel,
519
+ 'could_not_unarchive_channel' => CouldNotUnarchiveChannel,
520
+ 'data_not_available' => DataNotAvailable,
397
521
  'default_channel_restricted' => DefaultChannelRestricted,
398
522
  'default_org_wide_channel' => DefaultOrgWideChannel,
523
+ 'deprecated_endpoint' => DeprecatedEndpoint,
524
+ 'description_too_long' => DescriptionTooLong,
399
525
  'discoverability_setting_invalid' => DiscoverabilitySettingInvalid,
400
526
  'domain_taken' => DomainTaken,
401
527
  'duplicate_channel_not_found' => DuplicateChannelNotFound,
@@ -403,8 +529,11 @@ module Slack
403
529
  'duplicate_message_not_found' => DuplicateMessageNotFound,
404
530
  'edit_window_closed' => EditWindowClosed,
405
531
  'ekm_access_denied' => EkmAccessDenied,
532
+ 'email_taken' => EmailTaken,
533
+ 'emoji_limit_reached' => EmojiLimitReached,
406
534
  'emoji_not_found' => EmojiNotFound,
407
535
  'enterprise_is_restricted' => EnterpriseIsRestricted,
536
+ 'enterprise_not_found' => EnterpriseNotFound,
408
537
  'error_bad_format' => ErrorBadFormat,
409
538
  'error_bad_name_i18n' => ErrorBadNameI18n,
410
539
  'error_bad_upload' => ErrorBadUpload,
@@ -418,6 +547,8 @@ module Slack
418
547
  'error_too_big' => ErrorTooBig,
419
548
  'external_channel_migrating' => ExternalChannelMigrating,
420
549
  'externally_shared_or_disconnected_channel' => ExternallySharedOrDisconnectedChannel,
550
+ 'fail_to_get_teams_for_restricted_user' => FailToGetTeamsForRestrictedUser,
551
+ 'failed_for_some_users' => FailedForSomeUsers,
421
552
  'failed_looking_up_user' => FailedLookingUpUser,
422
553
  'failed_sending_dialog' => FailedSendingDialog,
423
554
  'failed_to_add_emoji' => FailedToAddEmoji,
@@ -449,20 +580,27 @@ module Slack
449
580
  'fetch_members_failed' => FetchMembersFailed,
450
581
  'file_comment_not_found' => FileCommentNotFound,
451
582
  'file_deleted' => FileDeleted,
583
+ 'file_deleting_disabled' => FileDeletingDisabled,
452
584
  'file_not_found' => FileNotFound,
453
585
  'file_not_shared' => FileNotShared,
586
+ 'file_not_yet_available' => FileNotYetAvailable,
454
587
  'file_under_review' => FileUnderReview,
588
+ 'forbidden_handle' => ForbiddenHandle,
455
589
  'group_already_linked_to_channel' => GroupAlreadyLinkedToChannel,
456
590
  'group_contains_others' => GroupContainsOthers,
457
591
  'group_must_not_be_empty' => GroupMustNotBeEmpty,
458
592
  'group_not_found' => GroupNotFound,
593
+ 'handle_already_exists' => HandleAlreadyExists,
459
594
  'hash_conflict' => HashConflict,
460
595
  'inactive_call' => InactiveCall,
596
+ 'insecure_request' => InsecureRequest,
461
597
  'internal_error' => InternalError,
462
598
  'invalid_actor' => InvalidActor,
463
599
  'invalid_app_id' => InvalidAppId,
464
600
  'invalid_arg_name' => InvalidArgName,
601
+ 'invalid_args' => InvalidArgs,
465
602
  'invalid_arguments' => InvalidArguments,
603
+ 'invalid_array_arg' => InvalidArrayArg,
466
604
  'invalid_attachments' => InvalidAttachments,
467
605
  'invalid_auth' => InvalidAuth,
468
606
  'invalid_blocks' => InvalidBlocks,
@@ -475,38 +613,55 @@ module Slack
475
613
  'invalid_code' => InvalidCode,
476
614
  'invalid_created_by' => InvalidCreatedBy,
477
615
  'invalid_cursor' => InvalidCursor,
616
+ 'invalid_date' => InvalidDate,
617
+ 'invalid_duration' => InvalidDuration,
478
618
  'invalid_email' => InvalidEmail,
619
+ 'invalid_event_context' => InvalidEventContext,
479
620
  'invalid_external_id' => InvalidExternalId,
621
+ 'invalid_for_is_mpim' => InvalidForIsMpim,
480
622
  'invalid_form_data' => InvalidFormData,
481
623
  'invalid_grant_type' => InvalidGrantType,
624
+ 'invalid_inputs' => InvalidInputs,
482
625
  'invalid_limit' => InvalidLimit,
483
626
  'invalid_name' => InvalidName,
484
627
  'invalid_name_maxlength' => InvalidNameMaxlength,
485
628
  'invalid_name_punctuation' => InvalidNamePunctuation,
486
629
  'invalid_name_required' => InvalidNameRequired,
487
630
  'invalid_name_specials' => InvalidNameSpecials,
631
+ 'invalid_outputs' => InvalidOutputs,
632
+ 'invalid_payload' => InvalidPayload,
488
633
  'invalid_permissions' => InvalidPermissions,
489
634
  'invalid_post_type' => InvalidPostType,
490
635
  'invalid_presence' => InvalidPresence,
491
636
  'invalid_profile' => InvalidProfile,
492
637
  'invalid_request' => InvalidRequest,
493
638
  'invalid_request_id' => InvalidRequestId,
639
+ 'invalid_restricted_subjects' => InvalidRestrictedSubjects,
494
640
  'invalid_role_for_user' => InvalidRoleForUser,
495
641
  'invalid_scheduled_message_id' => InvalidScheduledMessageId,
496
642
  'invalid_scope' => InvalidScope,
643
+ 'invalid_scopes' => InvalidScopes,
644
+ 'invalid_search_channel_type' => InvalidSearchChannelType,
645
+ 'invalid_sort' => InvalidSort,
646
+ 'invalid_sort_dir' => InvalidSortDir,
497
647
  'invalid_start_time' => InvalidStartTime,
648
+ 'invalid_step_status' => InvalidStepStatus,
498
649
  'invalid_target_team' => InvalidTargetTeam,
650
+ 'invalid_team' => InvalidTeam,
499
651
  'invalid_team_ids' => InvalidTeamIds,
500
652
  'invalid_time' => InvalidTime,
501
653
  'invalid_timestamp' => InvalidTimestamp,
654
+ 'invalid_token' => InvalidToken,
502
655
  'invalid_trigger' => InvalidTrigger,
503
656
  'invalid_ts_latest' => InvalidTsLatest,
504
657
  'invalid_ts_oldest' => InvalidTsOldest,
658
+ 'invalid_type' => InvalidType,
505
659
  'invalid_types' => InvalidTypes,
506
660
  'invalid_unfurls_format' => InvalidUnfurlsFormat,
507
661
  'invalid_url' => InvalidUrl,
508
662
  'invalid_user' => InvalidUser,
509
663
  'invalid_user_combination' => InvalidUserCombination,
664
+ 'invalid_user_id' => InvalidUserId,
510
665
  'invalid_users' => InvalidUsers,
511
666
  'invited_user_not_created' => InvitedUserNotCreated,
512
667
  'invited_user_not_reactivated' => InvitedUserNotReactivated,
@@ -515,12 +670,16 @@ module Slack
515
670
  'is_bot' => IsBot,
516
671
  'is_inactive' => IsInactive,
517
672
  'last_member' => LastMember,
673
+ 'leaving_team_not_in_channel' => LeavingTeamNotInChannel,
674
+ 'leaving_team_required' => LeavingTeamRequired,
518
675
  'limit_required' => LimitRequired,
519
676
  'link_not_found' => LinkNotFound,
677
+ 'member_analytics_disabled' => MemberAnalyticsDisabled,
520
678
  'message_not_found' => MessageNotFound,
521
679
  'method_deprecated' => MethodDeprecated,
522
680
  'method_not_supported_for_channel_type' => MethodNotSupportedForChannelType,
523
681
  'migration_in_progress' => MigrationInProgress,
682
+ 'missing_args' => MissingArgs,
524
683
  'missing_argument' => MissingArgument,
525
684
  'missing_channel' => MissingChannel,
526
685
  'missing_dialog' => MissingDialog,
@@ -528,27 +687,38 @@ module Slack
528
687
  'missing_post_type' => MissingPostType,
529
688
  'missing_resource' => MissingResource,
530
689
  'missing_scope' => MissingScope,
690
+ 'missing_subteam_name' => MissingSubteamName,
691
+ 'missing_team' => MissingTeam,
531
692
  'missing_trigger' => MissingTrigger,
532
693
  'missing_ts' => MissingTs,
533
694
  'missing_unfurls' => MissingUnfurls,
695
+ 'missing_user' => MissingUser,
534
696
  'mixed_scope' => MixedScope,
535
697
  'msg_too_long' => MsgTooLong,
536
698
  'must_provide_team_domain' => MustProvideTeamDomain,
537
699
  'must_provide_team_name' => MustProvideTeamName,
700
+ 'name_already_exists' => NameAlreadyExists,
538
701
  'name_taken' => NameTaken,
539
702
  'name_taken_in_org' => NameTakenInOrg,
703
+ 'no_active_sessions' => NoActiveSessions,
540
704
  'no_alias_selected' => NoAliasSelected,
541
705
  'no_bot_user_for_app' => NoBotUserForApp,
542
706
  'no_channel' => NoChannel,
543
707
  'no_image_uploaded' => NoImageUploaded,
544
708
  'no_item_specified' => NoItemSpecified,
709
+ 'no_local_user_on_team' => NoLocalUserOnTeam,
545
710
  'no_permission' => NoPermission,
711
+ 'no_pin' => NoPin,
546
712
  'no_reaction' => NoReaction,
713
+ 'no_resolution_found' => NoResolutionFound,
714
+ 'no_scopes' => NoScopes,
547
715
  'no_such_subteam' => NoSuchSubteam,
548
716
  'no_team_ids_given' => NoTeamIdsGiven,
717
+ 'no_teams_to_disconnect' => NoTeamsToDisconnect,
549
718
  'no_text' => NoText,
550
719
  'no_user' => NoUser,
551
720
  'no_user_provided' => NoUserProvided,
721
+ 'no_users_provided' => NoUsersProvided,
552
722
  'not_admin' => NotAdmin,
553
723
  'not_allowed' => NotAllowed,
554
724
  'not_allowed_token_type' => NotAllowedTokenType,
@@ -571,15 +741,21 @@ module Slack
571
741
  'not_pinned' => NotPinned,
572
742
  'not_reactable' => NotReactable,
573
743
  'not_starred' => NotStarred,
744
+ 'not_supported' => NotSupported,
574
745
  'oauth_authorization_url_mismatch' => OauthAuthorizationUrlMismatch,
746
+ 'org_level_email_display_disabled' => OrgLevelEmailDisplayDisabled,
575
747
  'org_login_required' => OrgLoginRequired,
748
+ 'org_not_found' => OrgNotFound,
749
+ 'org_user_not_in_team' => OrgUserNotInTeam,
576
750
  'over_pagination_limit' => OverPaginationLimit,
577
751
  'pagination_not_available' => PaginationNotAvailable,
578
752
  'paid_only' => PaidOnly,
753
+ 'paid_teams_only' => PaidTeamsOnly,
579
754
  'permission_denied' => PermissionDenied,
580
755
  'plan_upgrade_required' => PlanUpgradeRequired,
581
756
  'posting_to_general_channel_denied' => PostingToGeneralChannelDenied,
582
757
  'preview_feature_not_available' => PreviewFeatureNotAvailable,
758
+ 'primary_usergroup_not_found' => PrimaryUsergroupNotFound,
583
759
  'profile_set_failed' => ProfileSetFailed,
584
760
  'public_video_not_allowed' => PublicVideoNotAllowed,
585
761
  'push_limit_reached' => PushLimitReached,
@@ -595,13 +771,24 @@ module Slack
595
771
  'restricted_action_non_threadable_channel' => RestrictedActionNonThreadableChannel,
596
772
  'restricted_action_read_only_channel' => RestrictedActionReadOnlyChannel,
597
773
  'restricted_action_thread_only_channel' => RestrictedActionThreadOnlyChannel,
774
+ 'retention_override_not_allowed' => RetentionOverrideNotAllowed,
598
775
  'rtm_connect_required' => RtmConnectRequired,
599
776
  'sent_recently' => SentRecently,
777
+ 'service_unavailable' => ServiceUnavailable,
778
+ 'session_expired' => SessionExpired,
779
+ 'session_invalidation_failed' => SessionInvalidationFailed,
780
+ 'session_not_found' => SessionNotFound,
781
+ 'slack_connect_file_link_sharing_blocked' => SlackConnectFileLinkSharingBlocked,
782
+ 'slack_connect_file_upload_sharing_blocked' => SlackConnectFileUploadSharingBlocked,
600
783
  'snooze_end_failed' => SnoozeEndFailed,
601
784
  'snooze_failed' => SnoozeFailed,
602
785
  'snooze_not_active' => SnoozeNotActive,
786
+ 'subteam_max_users_exceeded' => SubteamMaxUsersExceeded,
787
+ 'team_access_not_granted' => TeamAccessNotGranted,
603
788
  'team_added_to_org' => TeamAddedToOrg,
789
+ 'team_id_or_org_required' => TeamIdOrOrgRequired,
604
790
  'team_not_found' => TeamNotFound,
791
+ 'team_not_on_enterprise' => TeamNotOnEnterprise,
605
792
  'thread_not_found' => ThreadNotFound,
606
793
  'time_in_past' => TimeInPast,
607
794
  'time_too_far' => TimeTooFar,
@@ -615,18 +802,24 @@ module Slack
615
802
  'too_many_frames' => TooManyFrames,
616
803
  'too_many_ids' => TooManyIds,
617
804
  'too_many_ids_provided' => TooManyIdsProvided,
805
+ 'too_many_linked_channels' => TooManyLinkedChannels,
806
+ 'too_many_members' => TooManyMembers,
807
+ 'too_many_pins' => TooManyPins,
618
808
  'too_many_reactions' => TooManyReactions,
619
809
  'too_many_target_teams' => TooManyTargetTeams,
620
810
  'too_many_teams_provided' => TooManyTeamsProvided,
621
811
  'too_many_users' => TooManyUsers,
622
812
  'trigger_exchanged' => TriggerExchanged,
623
813
  'trigger_expired' => TriggerExpired,
814
+ 'two_factor_setup_required' => TwoFactorSetupRequired,
624
815
  'unable_to_leave_last_team' => UnableToLeaveLastTeam,
625
816
  'unable_to_link_idp_group_and_channel' => UnableToLinkIdpGroupAndChannel,
626
817
  'unable_to_unlink_idp_group_and_channel' => UnableToUnlinkIdpGroupAndChannel,
627
818
  'unknown_method' => UnknownMethod,
628
819
  'unknown_type' => UnknownType,
629
820
  'unsupported_arguments' => UnsupportedArguments,
821
+ 'unsupported_context_type' => UnsupportedContextType,
822
+ 'unsupported_team_type' => UnsupportedTeamType,
630
823
  'update_failed' => UpdateFailed,
631
824
  'ura_max_channels' => UraMaxChannels,
632
825
  'user_already_deleted' => UserAlreadyDeleted,
@@ -638,6 +831,7 @@ module Slack
638
831
  'user_is_not_a_guest' => UserIsNotAGuest,
639
832
  'user_is_restricted' => UserIsRestricted,
640
833
  'user_is_ultra_restricted' => UserIsUltraRestricted,
834
+ 'user_must_be_admin' => UserMustBeAdmin,
641
835
  'user_not_found' => UserNotFound,
642
836
  'user_not_in_channel' => UserNotInChannel,
643
837
  'user_not_visible' => UserNotVisible,