slack-ruby-client 0.13.0 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (356) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/.gitignore +1 -0
  4. data/.rubocop.yml +24 -5
  5. data/.rubocop_todo.yml +100 -54
  6. data/.travis.yml +4 -8
  7. data/CHANGELOG.md +118 -35
  8. data/CONTRIBUTING.md +17 -6
  9. data/Dangerfile +2 -0
  10. data/Gemfile +10 -5
  11. data/LICENSE.md +1 -1
  12. data/README.md +185 -48
  13. data/Rakefile +2 -1
  14. data/UPGRADING.md +30 -2
  15. data/bin/commands.rb +32 -0
  16. data/bin/commands/admin_analytics.rb +16 -0
  17. data/bin/commands/admin_apps.rb +40 -0
  18. data/bin/commands/admin_apps_approved.rb +17 -0
  19. data/bin/commands/admin_apps_requests.rb +16 -0
  20. data/bin/commands/admin_apps_restricted.rb +17 -0
  21. data/bin/commands/admin_barriers.rb +47 -0
  22. data/bin/commands/admin_conversations.rb +159 -0
  23. data/bin/commands/admin_conversations_ekm.rb +17 -0
  24. data/bin/commands/admin_conversations_restrictAccess.rb +37 -0
  25. data/bin/commands/admin_conversations_whitelist.rb +37 -0
  26. data/bin/commands/admin_emoji.rb +54 -0
  27. data/bin/commands/admin_inviteRequests.rb +36 -0
  28. data/bin/commands/admin_inviteRequests_approved.rb +16 -0
  29. data/bin/commands/admin_inviteRequests_denied.rb +16 -0
  30. data/bin/commands/admin_teams.rb +27 -0
  31. data/bin/commands/admin_teams_admins.rb +16 -0
  32. data/bin/commands/admin_teams_owners.rb +16 -0
  33. data/bin/commands/admin_teams_settings.rb +64 -0
  34. data/bin/commands/admin_usergroups.rb +48 -0
  35. data/bin/commands/admin_users.rb +97 -0
  36. data/bin/commands/admin_users_session.rb +38 -0
  37. data/bin/commands/api.rb +1 -1
  38. data/bin/commands/apps.rb +15 -0
  39. data/bin/commands/apps_connections.rb +13 -0
  40. data/bin/commands/apps_event_authorizations.rb +16 -0
  41. data/bin/commands/apps_permissions.rb +1 -0
  42. data/bin/commands/apps_permissions_resources.rb +1 -0
  43. data/bin/commands/apps_permissions_scopes.rb +1 -0
  44. data/bin/commands/apps_permissions_users.rb +1 -0
  45. data/bin/commands/auth.rb +1 -0
  46. data/bin/commands/auth_teams.rb +16 -0
  47. data/bin/commands/bots.rb +2 -0
  48. data/bin/commands/calls.rb +52 -0
  49. data/bin/commands/calls_participants.rb +25 -0
  50. data/bin/commands/channels.rb +1 -153
  51. data/bin/commands/chat.rb +51 -10
  52. data/bin/commands/chat_scheduledMessages.rb +19 -0
  53. data/bin/commands/conversations.rb +16 -3
  54. data/bin/commands/dialog.rb +1 -0
  55. data/bin/commands/dnd.rb +5 -2
  56. data/bin/commands/emoji.rb +1 -0
  57. data/bin/commands/files.rb +8 -17
  58. data/bin/commands/files_comments.rb +1 -21
  59. data/bin/commands/files_remote.rb +78 -0
  60. data/bin/commands/groups.rb +1 -161
  61. data/bin/commands/im.rb +1 -62
  62. data/bin/commands/migration.rb +2 -0
  63. data/bin/commands/mpim.rb +1 -60
  64. data/bin/commands/oauth.rb +2 -1
  65. data/bin/commands/oauth_v2.rb +17 -0
  66. data/bin/commands/pins.rb +1 -4
  67. data/bin/commands/reactions.rb +3 -3
  68. data/bin/commands/reminders.rb +1 -0
  69. data/bin/commands/rtm.rb +1 -0
  70. data/bin/commands/search.rb +4 -0
  71. data/bin/commands/stars.rb +1 -0
  72. data/bin/commands/team.rb +5 -0
  73. data/bin/commands/team_profile.rb +1 -0
  74. data/bin/commands/usergroups.rb +6 -0
  75. data/bin/commands/usergroups_users.rb +3 -0
  76. data/bin/commands/users.rb +5 -3
  77. data/bin/commands/users_admin.rb +1 -0
  78. data/bin/commands/users_prefs.rb +1 -0
  79. data/bin/commands/users_profile.rb +6 -5
  80. data/bin/commands/views.rb +48 -0
  81. data/bin/commands/workflows.rb +38 -0
  82. data/bin/slack +2 -3
  83. data/examples/hi_real_time_and_web/Gemfile +1 -0
  84. data/examples/hi_real_time_and_web/hi.rb +7 -3
  85. data/examples/hi_real_time_async_async/Gemfile +1 -0
  86. data/examples/hi_real_time_async_async/hi.rb +6 -2
  87. data/examples/hi_web/Gemfile +1 -0
  88. data/examples/hi_web/hi.rb +1 -0
  89. data/examples/new_ticket/Gemfile +1 -0
  90. data/examples/new_ticket/new_ticket.rb +1 -0
  91. data/lib/slack-ruby-client.rb +10 -4
  92. data/lib/slack.rb +1 -0
  93. data/lib/slack/config.rb +1 -0
  94. data/lib/slack/events/config.rb +32 -0
  95. data/lib/slack/events/request.rb +70 -0
  96. data/lib/slack/logger.rb +6 -5
  97. data/lib/slack/messages/formatting.rb +1 -0
  98. data/lib/slack/messages/message.rb +1 -4
  99. data/lib/slack/real_time/api/message.rb +3 -1
  100. data/lib/slack/real_time/api/message_id.rb +1 -0
  101. data/lib/slack/real_time/api/ping.rb +5 -2
  102. data/lib/slack/real_time/api/typing.rb +3 -1
  103. data/lib/slack/real_time/client.rb +98 -28
  104. data/lib/slack/real_time/concurrency.rb +1 -2
  105. data/lib/slack/real_time/concurrency/async.rb +79 -6
  106. data/lib/slack/real_time/config.rb +6 -10
  107. data/lib/slack/real_time/models.rb +1 -0
  108. data/lib/slack/real_time/models/base.rb +1 -4
  109. data/lib/slack/real_time/models/bot.rb +1 -0
  110. data/lib/slack/real_time/models/channel.rb +1 -0
  111. data/lib/slack/real_time/models/group.rb +1 -0
  112. data/lib/slack/real_time/models/im.rb +1 -0
  113. data/lib/slack/real_time/models/team.rb +1 -0
  114. data/lib/slack/real_time/models/user.rb +1 -0
  115. data/lib/slack/real_time/socket.rb +44 -15
  116. data/lib/slack/real_time/stores.rb +1 -0
  117. data/lib/slack/real_time/stores/base.rb +4 -1
  118. data/lib/slack/real_time/stores/starter.rb +11 -0
  119. data/lib/slack/real_time/stores/store.rb +28 -25
  120. data/lib/slack/version.rb +2 -1
  121. data/lib/slack/web/api/endpoints.rb +64 -0
  122. data/lib/slack/web/api/endpoints/admin_analytics.rb +28 -0
  123. data/lib/slack/web/api/endpoints/admin_apps.rb +62 -0
  124. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
  125. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +33 -0
  126. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
  127. data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
  128. data/lib/slack/web/api/endpoints/admin_conversations.rb +246 -0
  129. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
  130. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
  131. data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +64 -0
  132. data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
  133. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
  134. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
  135. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
  136. data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
  137. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
  138. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
  139. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
  140. data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
  141. data/lib/slack/web/api/endpoints/admin_users.rb +161 -0
  142. data/lib/slack/web/api/endpoints/admin_users_session.rb +66 -0
  143. data/lib/slack/web/api/endpoints/api.rb +1 -2
  144. data/lib/slack/web/api/endpoints/apps.rb +27 -0
  145. data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
  146. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
  147. data/lib/slack/web/api/endpoints/apps_permissions.rb +1 -0
  148. data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +1 -0
  149. data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +1 -0
  150. data/lib/slack/web/api/endpoints/apps_permissions_users.rb +1 -0
  151. data/lib/slack/web/api/endpoints/auth.rb +1 -0
  152. data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
  153. data/lib/slack/web/api/endpoints/bots.rb +3 -0
  154. data/lib/slack/web/api/endpoints/calls.rb +83 -0
  155. data/lib/slack/web/api/endpoints/calls_participants.rb +42 -0
  156. data/lib/slack/web/api/endpoints/channels.rb +2 -243
  157. data/lib/slack/web/api/endpoints/chat.rb +112 -21
  158. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
  159. data/lib/slack/web/api/endpoints/conversations.rb +40 -19
  160. data/lib/slack/web/api/endpoints/dialog.rb +1 -0
  161. data/lib/slack/web/api/endpoints/dnd.rb +7 -1
  162. data/lib/slack/web/api/endpoints/emoji.rb +1 -0
  163. data/lib/slack/web/api/endpoints/files.rb +10 -17
  164. data/lib/slack/web/api/endpoints/files_comments.rb +1 -33
  165. data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
  166. data/lib/slack/web/api/endpoints/groups.rb +1 -253
  167. data/lib/slack/web/api/endpoints/im.rb +1 -101
  168. data/lib/slack/web/api/endpoints/migration.rb +3 -0
  169. data/lib/slack/web/api/endpoints/mpim.rb +1 -96
  170. data/lib/slack/web/api/endpoints/oauth.rb +2 -4
  171. data/lib/slack/web/api/endpoints/oauth_v2.rb +30 -0
  172. data/lib/slack/web/api/endpoints/pins.rb +4 -11
  173. data/lib/slack/web/api/endpoints/reactions.rb +10 -9
  174. data/lib/slack/web/api/endpoints/reminders.rb +1 -0
  175. data/lib/slack/web/api/endpoints/rtm.rb +1 -0
  176. data/lib/slack/web/api/endpoints/search.rb +7 -0
  177. data/lib/slack/web/api/endpoints/stars.rb +3 -2
  178. data/lib/slack/web/api/endpoints/team.rb +9 -0
  179. data/lib/slack/web/api/endpoints/team_profile.rb +1 -0
  180. data/lib/slack/web/api/endpoints/usergroups.rb +11 -0
  181. data/lib/slack/web/api/endpoints/usergroups_users.rb +5 -0
  182. data/lib/slack/web/api/endpoints/users.rb +8 -7
  183. data/lib/slack/web/api/endpoints/users_admin.rb +1 -0
  184. data/lib/slack/web/api/endpoints/users_prefs.rb +1 -0
  185. data/lib/slack/web/api/endpoints/users_profile.rb +4 -3
  186. data/lib/slack/web/api/endpoints/views.rb +97 -0
  187. data/lib/slack/web/api/endpoints/workflows.rb +61 -0
  188. data/lib/slack/web/api/error.rb +1 -0
  189. data/lib/slack/web/api/errors.rb +848 -0
  190. data/lib/slack/web/api/errors/internal_error.rb +14 -0
  191. data/lib/slack/web/api/errors/slack_error.rb +14 -1
  192. data/lib/slack/web/api/errors/too_many_requests_error.rb +1 -0
  193. data/lib/slack/web/api/mixins.rb +2 -0
  194. data/lib/slack/web/api/mixins/channels.id.rb +2 -3
  195. data/lib/slack/web/api/mixins/conversations.id.rb +25 -0
  196. data/lib/slack/web/api/mixins/groups.id.rb +2 -3
  197. data/lib/slack/web/api/mixins/ids.id.rb +3 -2
  198. data/lib/slack/web/api/mixins/users.id.rb +2 -3
  199. data/lib/slack/web/api/mixins/users.search.rb +1 -0
  200. data/lib/slack/web/api/patches/chat.1.patch +71 -0
  201. data/lib/slack/web/api/patches/views.1.view-json.patch +40 -0
  202. data/lib/slack/web/api/patches/views.1.views-published.patch +16 -0
  203. data/lib/slack/web/api/templates/command.erb +1 -0
  204. data/lib/slack/web/api/templates/commands.erb +1 -0
  205. data/lib/slack/web/api/templates/endpoints.erb +2 -0
  206. data/lib/slack/web/api/templates/errors.erb +20 -0
  207. data/lib/slack/web/api/templates/method.erb +5 -1
  208. data/lib/slack/web/api/templates/method_spec.erb +2 -1
  209. data/lib/slack/web/client.rb +2 -1
  210. data/lib/slack/web/config.rb +3 -0
  211. data/lib/slack/web/faraday/connection.rb +24 -20
  212. data/lib/slack/web/faraday/request.rb +1 -0
  213. data/lib/slack/web/faraday/response/raise_error.rb +21 -6
  214. data/lib/slack/web/faraday/response/wrap_error.rb +24 -0
  215. data/lib/slack/web/pagination/cursor.rb +6 -2
  216. data/lib/slack_ruby_client.rb +1 -0
  217. data/lib/tasks/git.rake +1 -0
  218. data/lib/tasks/real_time.rake +15 -5
  219. data/lib/tasks/update.rake +1 -0
  220. data/lib/tasks/web.rake +39 -10
  221. data/screenshots/create-app.png +0 -0
  222. data/slack-ruby-client.gemspec +8 -4
  223. data/spec/fixtures/slack/web/channels_info.yml +108 -15
  224. data/spec/fixtures/slack/web/{groups_info.yml → conversations_info.yml} +4 -4
  225. data/spec/fixtures/slack/web/conversations_setTopic.yml +69 -0
  226. data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +142 -0
  227. data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +208 -0
  228. data/spec/fixtures/slack/web/views_open_error.yml +76 -0
  229. data/spec/integration/integration_spec.rb +116 -49
  230. data/spec/slack/config_spec.rb +2 -0
  231. data/spec/slack/events/config_spec.rb +33 -0
  232. data/spec/slack/events/request_spec.rb +184 -0
  233. data/spec/slack/messages/formatting_spec.rb +25 -13
  234. data/spec/slack/real_time/api/message_spec.rb +6 -1
  235. data/spec/slack/real_time/api/ping_spec.rb +2 -0
  236. data/spec/slack/real_time/api/typing_spec.rb +5 -1
  237. data/spec/slack/real_time/client_spec.rb +228 -30
  238. data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +2 -0
  239. data/spec/slack/real_time/concurrency/with_concurrency_spec.rb +10 -0
  240. data/spec/slack/real_time/concurrency/without_concurrency_spec.rb +10 -0
  241. data/spec/slack/real_time/event_handlers/bot_spec.rb +2 -1
  242. data/spec/slack/real_time/event_handlers/channel_spec.rb +9 -6
  243. data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +2 -1
  244. data/spec/slack/real_time/event_handlers/group_spec.rb +5 -4
  245. data/spec/slack/real_time/event_handlers/im_spec.rb +4 -3
  246. data/spec/slack/real_time/event_handlers/team_spec.rb +3 -1
  247. data/spec/slack/real_time/event_handlers/user_spec.rb +1 -0
  248. data/spec/slack/real_time/rtm_connect_spec.rb +2 -1
  249. data/spec/slack/real_time/rtm_start_spec.rb +2 -1
  250. data/spec/slack/real_time/store_spec.rb +2 -1
  251. data/spec/slack/slack_spec.rb +37 -5
  252. data/spec/slack/version_spec.rb +2 -1
  253. data/spec/slack/web/api/endpoints/admin_analytics_spec.rb +13 -0
  254. data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +8 -0
  255. data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +8 -0
  256. data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +8 -0
  257. data/spec/slack/web/api/endpoints/admin_apps_spec.rb +13 -0
  258. data/spec/slack/web/api/endpoints/admin_barriers_spec.rb +38 -0
  259. data/spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb +8 -0
  260. data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +32 -0
  261. data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +93 -0
  262. data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +37 -0
  263. data/spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb +8 -0
  264. data/spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb +8 -0
  265. data/spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb +18 -0
  266. data/spec/slack/web/api/endpoints/admin_teams_admins_spec.rb +13 -0
  267. data/spec/slack/web/api/endpoints/admin_teams_owners_spec.rb +13 -0
  268. data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +53 -0
  269. data/spec/slack/web/api/endpoints/admin_teams_spec.rb +16 -0
  270. data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +37 -0
  271. data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +21 -0
  272. data/spec/slack/web/api/endpoints/admin_users_spec.rb +67 -0
  273. data/spec/slack/web/api/endpoints/api_spec.rb +1 -0
  274. data/spec/slack/web/api/endpoints/apps_connections_spec.rb +8 -0
  275. data/spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb +13 -0
  276. data/spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb +1 -0
  277. data/spec/slack/web/api/endpoints/apps_permissions_scopes_spec.rb +1 -0
  278. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +3 -2
  279. data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +4 -3
  280. data/spec/slack/web/api/endpoints/apps_spec.rb +16 -0
  281. data/spec/slack/web/api/endpoints/auth_teams_spec.rb +8 -0
  282. data/spec/slack/web/api/endpoints/bots_spec.rb +1 -0
  283. data/spec/slack/web/api/endpoints/calls_participants_spec.rb +24 -0
  284. data/spec/slack/web/api/endpoints/calls_spec.rb +31 -0
  285. data/spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb +8 -0
  286. data/spec/slack/web/api/endpoints/conversations_spec.rb +21 -12
  287. data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +5 -1
  288. data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +112 -36
  289. data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +13 -0
  290. data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +12 -4
  291. data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +6 -1
  292. data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +95 -0
  293. data/spec/slack/web/api/endpoints/dnd_spec.rb +6 -0
  294. data/spec/slack/web/api/endpoints/emoji_spec.rb +1 -0
  295. data/spec/slack/web/api/endpoints/files_comments_spec.rb +3 -21
  296. data/spec/slack/web/api/endpoints/files_remote_spec.rb +24 -0
  297. data/spec/slack/web/api/endpoints/files_spec.rb +5 -4
  298. data/spec/slack/web/api/endpoints/im_spec.rb +1 -31
  299. data/spec/slack/web/api/endpoints/migration_spec.rb +1 -0
  300. data/spec/slack/web/api/endpoints/mpim_spec.rb +1 -31
  301. data/spec/slack/web/api/endpoints/oauth_spec.rb +4 -14
  302. data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +13 -0
  303. data/spec/slack/web/api/endpoints/pins_spec.rb +1 -0
  304. data/spec/slack/web/api/endpoints/reactions_spec.rb +8 -1
  305. data/spec/slack/web/api/endpoints/reminders_spec.rb +3 -2
  306. data/spec/slack/web/api/endpoints/rtm_spec.rb +1 -0
  307. data/spec/slack/web/api/endpoints/search_spec.rb +1 -0
  308. data/spec/slack/web/api/endpoints/stars_spec.rb +1 -0
  309. data/spec/slack/web/api/endpoints/team_profile_spec.rb +1 -0
  310. data/spec/slack/web/api/endpoints/team_spec.rb +1 -0
  311. data/spec/slack/web/api/endpoints/usergroups_spec.rb +1 -0
  312. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +3 -2
  313. data/spec/slack/web/api/endpoints/users_admin_spec.rb +1 -0
  314. data/spec/slack/web/api/endpoints/users_prefs_spec.rb +1 -0
  315. data/spec/slack/web/api/endpoints/users_profile_spec.rb +1 -0
  316. data/spec/slack/web/api/endpoints/workflows_spec.rb +26 -0
  317. data/spec/slack/web/api/error_spec.rb +4 -2
  318. data/spec/slack/web/api/errors/slack_error_spec.rb +26 -2
  319. data/spec/slack/web/api/mixins/channels_spec.rb +17 -7
  320. data/spec/slack/web/api/mixins/conversations_list_spec.rb +21 -0
  321. data/spec/slack/web/api/mixins/conversations_spec.rb +43 -0
  322. data/spec/slack/web/api/mixins/groups_spec.rb +17 -7
  323. data/spec/slack/web/api/mixins/users_spec.rb +17 -8
  324. data/spec/slack/web/api/pagination/cursor_spec.rb +40 -10
  325. data/spec/slack/web/client_spec.rb +166 -18
  326. data/spec/slack/web/faraday/response/raise_error_spec.rb +47 -12
  327. data/spec/spec_helper.rb +8 -1
  328. data/spec/support/queue_with_timeout.rb +5 -4
  329. data/spec/support/real_time/concurrency/mock.rb +1 -0
  330. data/spec/support/real_time/connected_client.rb +9 -3
  331. data/spec/support/real_time/event.rb +1 -0
  332. data/spec/support/token.rb +1 -0
  333. data/spec/support/vcr.rb +5 -0
  334. metadata +226 -52
  335. data/examples/hi_real_time/Gemfile +0 -5
  336. data/examples/hi_real_time/hi.gif +0 -0
  337. data/examples/hi_real_time/hi.rb +0 -37
  338. data/examples/hi_real_time_async_celluloid/Gemfile +0 -6
  339. data/examples/hi_real_time_async_celluloid/Procfile +0 -2
  340. data/examples/hi_real_time_async_celluloid/hi.rb +0 -35
  341. data/examples/hi_real_time_async_eventmachine/Gemfile +0 -6
  342. data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
  343. data/examples/hi_real_time_async_eventmachine/hi.rb +0 -35
  344. data/lib/slack/real_time/concurrency/celluloid.rb +0 -103
  345. data/lib/slack/real_time/concurrency/eventmachine.rb +0 -66
  346. data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
  347. data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
  348. data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -21
  349. data/lib/slack/web/api/patches/chat.4.postEphemeral-attachments-support.patch +0 -17
  350. data/lib/slack/web/api/patches/chat.5.postEphemeral-text-or-attachments.patch +0 -13
  351. data/screenshots/register-bot.png +0 -0
  352. data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -106
  353. data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -47
  354. data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -11
  355. data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -11
  356. data/spec/slack/web/api/errors/service_unavailable_spec.rb +0 -14
@@ -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
@@ -10,6 +11,8 @@ module Slack
10
11
  #
11
12
  # @option options [Object] :before
12
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.
13
16
  # @see https://api.slack.com/methods/team.accessLogs
14
17
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/team/team.accessLogs.json
15
18
  def team_accessLogs(options = {})
@@ -19,6 +22,8 @@ module Slack
19
22
  #
20
23
  # Gets billable users information for the current team.
21
24
  #
25
+ # @option options [Object] :team_id
26
+ # encoded team id to get the billable information from, required if org token is used.
22
27
  # @option options [user] :user
23
28
  # A user to retrieve the billable information for. Defaults to all users.
24
29
  # @see https://api.slack.com/methods/team.billableInfo
@@ -31,6 +36,8 @@ module Slack
31
36
  #
32
37
  # Gets information about the current team.
33
38
  #
39
+ # @option options [Object] :team
40
+ # Team to get info on, if omitted, will return information about the current team. Will only return team that the authenticated token is allowed to see through external shared channels.
34
41
  # @see https://api.slack.com/methods/team.info
35
42
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/team/team.info.json
36
43
  def team_info(options = {})
@@ -46,6 +53,8 @@ module Slack
46
53
  # Filter logs with this change type. Defaults to all logs.
47
54
  # @option options [Object] :service_id
48
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.
49
58
  # @option options [user] :user
50
59
  # Filter logs generated by this user's actions. Defaults to all logs.
51
60
  # @see https://api.slack.com/methods/team.integrationLogs
@@ -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
@@ -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
@@ -18,6 +19,8 @@ module Slack
18
19
  # A mention handle. Must be unique among channels, users and User Groups.
19
20
  # @option options [Object] :include_count
20
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.
21
24
  # @see https://api.slack.com/methods/usergroups.create
22
25
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.create.json
23
26
  def usergroups_create(options = {})
@@ -32,6 +35,8 @@ module Slack
32
35
  # The encoded ID of the User Group to disable.
33
36
  # @option options [Object] :include_count
34
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.
35
40
  # @see https://api.slack.com/methods/usergroups.disable
36
41
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.disable.json
37
42
  def usergroups_disable(options = {})
@@ -46,6 +51,8 @@ module Slack
46
51
  # The encoded ID of the User Group to enable.
47
52
  # @option options [Object] :include_count
48
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.
49
56
  # @see https://api.slack.com/methods/usergroups.enable
50
57
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.enable.json
51
58
  def usergroups_enable(options = {})
@@ -62,6 +69,8 @@ module Slack
62
69
  # Include disabled User Groups.
63
70
  # @option options [Object] :include_users
64
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.
65
74
  # @see https://api.slack.com/methods/usergroups.list
66
75
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.list.json
67
76
  def usergroups_list(options = {})
@@ -83,6 +92,8 @@ module Slack
83
92
  # Include the number of users in the User Group.
84
93
  # @option options [Object] :name
85
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.
86
97
  # @see https://api.slack.com/methods/usergroups.update
87
98
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.update.json
88
99
  def usergroups_update(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
@@ -12,6 +13,8 @@ module Slack
12
13
  # The encoded ID of the User Group to update.
13
14
  # @option options [Object] :include_disabled
14
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.
15
18
  # @see https://api.slack.com/methods/usergroups.users.list
16
19
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups.users/usergroups.users.list.json
17
20
  def usergroups_users_list(options = {})
@@ -28,6 +31,8 @@ module Slack
28
31
  # A comma separated string of encoded user IDs that represent the entire list of users for the User Group.
29
32
  # @option options [Object] :include_count
30
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.
31
36
  # @see https://api.slack.com/methods/usergroups.users.update
32
37
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups.users/usergroups.users.update.json
33
38
  def usergroups_users_update(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
@@ -14,6 +15,8 @@ module Slack
14
15
  # Set to true to exclude archived channels from the list.
15
16
  # @option options [Object] :limit
16
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.
17
20
  # @option options [Object] :types
18
21
  # Mix and match channel types by providing a comma-separated list of any combination of public_channel, private_channel, mpim, im.
19
22
  # @option options [user] :user
@@ -48,7 +51,6 @@ module Slack
48
51
  # @see https://api.slack.com/methods/users.getPresence
49
52
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.getPresence.json
50
53
  def users_getPresence(options = {})
51
- throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
52
54
  options = options.merge(user: users_id(options)['user']['id']) if options[:user]
53
55
  post('users.getPresence', options)
54
56
  end
@@ -85,9 +87,9 @@ module Slack
85
87
  # @option options [Object] :include_locale
86
88
  # Set this to true to receive the locale for users. Defaults to false.
87
89
  # @option options [Object] :limit
88
- # 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.
89
- # @option options [Object] :presence
90
- # Deprecated. Whether to include presence data in the output. Defaults to false. Setting this to true reduces performance, especially with large teams.
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.
91
93
  # @see https://api.slack.com/methods/users.list
92
94
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.list.json
93
95
  def users_list(options = {})
@@ -124,18 +126,17 @@ module Slack
124
126
  #
125
127
  # Set the user profile photo
126
128
  #
127
- # @option options [Object] :image
128
- # File contents via multipart/form-data.
129
129
  # @option options [Object] :crop_w
130
130
  # Width/height of crop box (always square).
131
131
  # @option options [Object] :crop_x
132
132
  # X coordinate of top-left corner of crop box.
133
133
  # @option options [Object] :crop_y
134
134
  # Y coordinate of top-left corner of crop box.
135
+ # @option options [Object] :image
136
+ # File contents via multipart/form-data.
135
137
  # @see https://api.slack.com/methods/users.setPhoto
136
138
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.setPhoto.json
137
139
  def users_setPhoto(options = {})
138
- throw ArgumentError.new('Required arguments :image missing') if options[:image].nil?
139
140
  post('users.setPhoto', options)
140
141
  end
141
142
 
@@ -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
@@ -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
@@ -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,10 +7,10 @@ module Slack
6
7
  module Endpoints
7
8
  module UsersProfile
8
9
  #
9
- # Retrieves a user's profile information.
10
+ # Retrieve a user's profile information, including their custom status.
10
11
  #
11
12
  # @option options [Object] :include_labels
12
- # 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.
13
14
  # @option options [user] :user
14
15
  # User to retrieve profile info for.
15
16
  # @see https://api.slack.com/methods/users.profile.get
@@ -20,7 +21,7 @@ module Slack
20
21
  end
21
22
 
22
23
  #
23
- # Set the profile information for a user.
24
+ # Set a user's profile information, including custom status.
24
25
  #
25
26
  # @option options [Object] :name
26
27
  # Name of a single key to set. Usable only if profile is not passed.
@@ -0,0 +1,97 @@
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 Views
9
+ #
10
+ # Open a view for a user.
11
+ #
12
+ # @option options [Object] :trigger_id
13
+ # Exchange a trigger to post to the user.
14
+ # @option options [Object] :view
15
+ # A view payload. This must be a JSON-encoded string.
16
+ # @see https://api.slack.com/methods/views.open
17
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/views/views.open.json
18
+ def views_open(options = {})
19
+ throw ArgumentError.new('Required arguments :trigger_id missing') if options[:trigger_id].nil?
20
+ throw ArgumentError.new('Required arguments :view missing') if options[:view].nil?
21
+ if options.key?(:view)
22
+ view = options[:view]
23
+ view = JSON.dump(view) unless view.is_a?(String)
24
+ options = options.merge(view: view)
25
+ end
26
+ post('views.open', options)
27
+ end
28
+
29
+ #
30
+ # Publish a static view for a User.
31
+ #
32
+ # @option options [Object] :user_id
33
+ # id of the user you want publish a view to.
34
+ # @option options [Object] :view
35
+ # A view payload. This must be a JSON-encoded string.
36
+ # @option options [Object] :hash
37
+ # A string that represents view state to protect against possible race conditions.
38
+ # @see https://api.slack.com/methods/views.publish
39
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/views/views.publish.json
40
+ def views_publish(options = {})
41
+ throw ArgumentError.new('Required arguments :user_id missing') if options[:user_id].nil?
42
+ throw ArgumentError.new('Required arguments :view missing') if options[:view].nil?
43
+ if options.key?(:view)
44
+ view = options[:view]
45
+ view = JSON.dump(view) unless view.is_a?(String)
46
+ options = options.merge(view: view)
47
+ end
48
+ post('views.publish', options)
49
+ end
50
+
51
+ #
52
+ # Push a view onto the stack of a root view.
53
+ #
54
+ # @option options [Object] :trigger_id
55
+ # Exchange a trigger to post to the user.
56
+ # @option options [Object] :view
57
+ # A view payload. This must be a JSON-encoded string.
58
+ # @see https://api.slack.com/methods/views.push
59
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/views/views.push.json
60
+ def views_push(options = {})
61
+ throw ArgumentError.new('Required arguments :trigger_id missing') if options[:trigger_id].nil?
62
+ throw ArgumentError.new('Required arguments :view missing') if options[:view].nil?
63
+ if options.key?(:view)
64
+ view = options[:view]
65
+ view = JSON.dump(view) unless view.is_a?(String)
66
+ options = options.merge(view: view)
67
+ end
68
+ post('views.push', options)
69
+ end
70
+
71
+ #
72
+ # Update an existing view.
73
+ #
74
+ # @option options [Object] :view
75
+ # A view object. This must be a JSON-encoded string.
76
+ # @option options [Object] :external_id
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
+ # @option options [Object] :hash
79
+ # A string that represents view state to protect against possible race conditions.
80
+ # @option options [Object] :view_id
81
+ # A unique identifier of the view to be updated. Either view_id or external_id is required.
82
+ # @see https://api.slack.com/methods/views.update
83
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/views/views.update.json
84
+ def views_update(options = {})
85
+ throw ArgumentError.new('Required arguments :view missing') if options[:view].nil?
86
+ if options.key?(:view)
87
+ view = options[:view]
88
+ view = JSON.dump(view) unless view.is_a?(String)
89
+ options = options.merge(view: view)
90
+ end
91
+ post('views.update', options)
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
97
+ end
@@ -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
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Slack
2
3
  module Web
3
4
  module Api
@@ -0,0 +1,848 @@
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 Errors
8
+ class Accesslimited < SlackError; end
9
+ class AccountInactive < SlackError; end
10
+ class AdminUnauthorized < SlackError; end
11
+ class AlreadyArchived < SlackError; end
12
+ class AlreadyInChannel < SlackError; end
13
+ class AlreadyInTeam < SlackError; end
14
+ class AlreadyInTeamInvitedUser < SlackError; end
15
+ class AlreadyInvited < SlackError; end
16
+ class AlreadyPinned < SlackError; end
17
+ class AlreadyProcessed < SlackError; end
18
+ class AlreadyReacted < SlackError; end
19
+ class AlreadyStarred < SlackError; end
20
+ class AppManagementAppNotInstalledOnOrg < SlackError; end
21
+ class AppMissingActionUrl < SlackError; end
22
+ class AppRestrictedOrgWide < SlackError; end
23
+ class AsUserNotSupported < SlackError; end
24
+ class AuthedUserNotFound < SlackError; end
25
+ class AutoProvisionFailure < SlackError; end
26
+ class BadClientSecret < SlackError; end
27
+ class BadHandle < SlackError; end
28
+ class BadImage < SlackError; end
29
+ class BadRedirectUri < SlackError; end
30
+ class BadTimestamp < SlackError; end
31
+ class BadTitle < SlackError; end
32
+ class BadToken < SlackError; end
33
+ class BadUrl < SlackError; end
34
+ class BadUsers < SlackError; end
35
+ class BarrierAlreadyExists < SlackError; end
36
+ class BarrierNotFound < SlackError; end
37
+ class BarrieredFromUsergroupsNotFound < SlackError; end
38
+ class BotNotFound < SlackError; end
39
+ class BotsNotAllowed < SlackError; end
40
+ class BotsNotFound < SlackError; end
41
+ class CannotAddBot < SlackError; end
42
+ class CannotAddMoreChannelsToGroup < SlackError; end
43
+ class CannotAddMoreGroupsToChannel < SlackError; end
44
+ class CannotAddOthers < SlackError; end
45
+ class CannotAddOthersRecurring < SlackError; end
46
+ class CannotAddSlackbot < SlackError; end
47
+ class CannotAuthUser < SlackError; end
48
+ class CannotCompleteOthers < SlackError; end
49
+ class CannotCompleteRecurring < SlackError; end
50
+ class CannotCreateDialog < SlackError; end
51
+ class CannotFindChannel < SlackError; end
52
+ class CannotFindMessage < SlackError; end
53
+ class CannotFindService < SlackError; end
54
+ class CannotInstallAnOrgInstalledApp < SlackError; end
55
+ class CannotInvalidatePrimaryOwner < SlackError; end
56
+ class CannotModifyPrimaryOwner < SlackError; end
57
+ class CannotMoveLocalChannel < SlackError; end
58
+ class CannotParse < SlackError; end
59
+ class CannotParseAttachment < SlackError; end
60
+ class CannotPrompt < SlackError; end
61
+ class CannotResetBot < SlackError; end
62
+ class CannotResetPrimaryOwner < SlackError; end
63
+ class CannotUnfurlMessage < SlackError; end
64
+ class CannotUnfurlUrl < SlackError; end
65
+ class CannotUpdateAdminUser < SlackError; end
66
+ class CantArchiveGeneral < SlackError; end
67
+ class CantDelete < SlackError; end
68
+ class CantDeleteFile < SlackError; end
69
+ class CantDeleteMessage < SlackError; end
70
+ class CantInvite < SlackError; end
71
+ class CantInviteSelf < SlackError; end
72
+ class CantKickFromGeneral < SlackError; end
73
+ class CantKickSelf < SlackError; end
74
+ class CantLeaveGeneral < SlackError; end
75
+ class CantUpdateMessage < SlackError; end
76
+ class ChannelCannotBeUnshared < SlackError; end
77
+ class ChannelIsNotPrivate < SlackError; end
78
+ class ChannelNotArchived < SlackError; end
79
+ class ChannelNotFound < SlackError; end
80
+ class ChannelTypeNotSupported < SlackError; end
81
+ class ClientIdTokenMismatch < SlackError; end
82
+ class CodeAlreadyUsed < SlackError; end
83
+ class ComplianceExportsPreventDeletion < SlackError; end
84
+ class CouldNotArchiveChannel < SlackError; end
85
+ class CouldNotConvertChannel < SlackError; end
86
+ class CouldNotCreateChannel < SlackError; end
87
+ class CouldNotCreateWorkspace < SlackError; end
88
+ class CouldNotDeleteChannel < SlackError; end
89
+ class CouldNotGetConversationPrefs < SlackError; end
90
+ class CouldNotGetRetention < SlackError; end
91
+ class CouldNotGetTeams < SlackError; end
92
+ class CouldNotRemoveRetention < SlackError; end
93
+ class CouldNotRenameChannel < SlackError; end
94
+ class CouldNotSetChannelPref < SlackError; end
95
+ class CouldNotSetRetention < SlackError; end
96
+ class CouldNotSetTeamsForChannel < SlackError; end
97
+ class CouldNotUnarchiveChannel < SlackError; end
98
+ class DataNotAvailable < SlackError; end
99
+ class DefaultChannelRestricted < SlackError; end
100
+ class DefaultOrgWideChannel < SlackError; end
101
+ class DeprecatedEndpoint < SlackError; end
102
+ class DescriptionTooLong < SlackError; end
103
+ class DiscoverabilitySettingInvalid < SlackError; end
104
+ class DomainTaken < SlackError; end
105
+ class DuplicateChannelNotFound < SlackError; end
106
+ class DuplicateExternalId < SlackError; end
107
+ class DuplicateMessageNotFound < SlackError; end
108
+ class EditWindowClosed < SlackError; end
109
+ class EkmAccessDenied < SlackError; end
110
+ class EmailTaken < SlackError; end
111
+ class EmojiLimitReached < SlackError; end
112
+ class EmojiNotFound < SlackError; end
113
+ class EnterpriseIsRestricted < SlackError; end
114
+ class EnterpriseNotFound < SlackError; end
115
+ class ErrorBadFormat < SlackError; end
116
+ class ErrorBadNameI18n < SlackError; end
117
+ class ErrorBadUpload < SlackError; end
118
+ class ErrorBadWide < SlackError; end
119
+ class ErrorInvalidAlias < SlackError; end
120
+ class ErrorInvalidEmojiToRename < SlackError; end
121
+ class ErrorMissingName < SlackError; end
122
+ class ErrorNameTaken < SlackError; end
123
+ class ErrorNameTakenI18n < SlackError; end
124
+ class ErrorNoImage < SlackError; end
125
+ class ErrorTooBig < SlackError; end
126
+ class ExternalChannelMigrating < SlackError; end
127
+ class ExternallySharedOrDisconnectedChannel < SlackError; end
128
+ class FailToGetTeamsForRestrictedUser < SlackError; end
129
+ class FailedForSomeUsers < SlackError; end
130
+ class FailedLookingUpUser < SlackError; end
131
+ class FailedSendingDialog < SlackError; end
132
+ class FailedToAddEmoji < SlackError; end
133
+ class FailedToAliasEmoji < SlackError; end
134
+ class FailedToFetchActiveTeam < SlackError; end
135
+ class FailedToFetchInfo < SlackError; end
136
+ class FailedToRemoveGroupUsers < SlackError; end
137
+ class FailedToRemoveUserFromWorkspace < SlackError; end
138
+ class FailedToRenameEmoji < SlackError; end
139
+ class FailedToSendInvite < SlackError; end
140
+ class FailedToSetDefaultChannels < SlackError; end
141
+ class FailedToSetDescription < SlackError; end
142
+ class FailedToSetDiscoverability < SlackError; end
143
+ class FailedToSetExpiration < SlackError; end
144
+ class FailedToSetIcon < SlackError; end
145
+ class FailedToSetName < SlackError; end
146
+ class FailedToSetUserToAdmin < SlackError; end
147
+ class FailedToSetUserToOwner < SlackError; end
148
+ class FailedToSetUserToRegular < SlackError; end
149
+ class FailedToUnlinkChannel < SlackError; end
150
+ class FailedToValidateCaller < SlackError; end
151
+ class FailedToValidateChannels < SlackError; end
152
+ class FailedToValidateCustomMessage < SlackError; end
153
+ class FailedToValidateExpiration < SlackError; end
154
+ class FailedToValidateTeam < SlackError; end
155
+ class FailureRemovingEmoji < SlackError; end
156
+ class FatalError < SlackError; end
157
+ class FeatureNotEnabled < SlackError; end
158
+ class FetchMembersFailed < SlackError; end
159
+ class FileCommentNotFound < SlackError; end
160
+ class FileDeleted < SlackError; end
161
+ class FileDeletingDisabled < SlackError; end
162
+ class FileNotFound < SlackError; end
163
+ class FileNotShared < SlackError; end
164
+ class FileNotYetAvailable < SlackError; end
165
+ class FileUnderReview < SlackError; end
166
+ class ForbiddenHandle < SlackError; end
167
+ class ForbiddenTeam < SlackError; end
168
+ class GroupAlreadyLinkedToChannel < SlackError; end
169
+ class GroupMustNotBeEmpty < SlackError; end
170
+ class GroupNotFound < SlackError; end
171
+ class HandleAlreadyExists < SlackError; end
172
+ class HashConflict < SlackError; end
173
+ class InactiveCall < SlackError; end
174
+ class InsecureRequest < SlackError; end
175
+ class InternalError < SlackError; end
176
+ class InvalidActor < SlackError; end
177
+ class InvalidAppId < SlackError; end
178
+ class InvalidArgName < SlackError; end
179
+ class InvalidArgs < SlackError; end
180
+ class InvalidArguments < SlackError; end
181
+ class InvalidArrayArg < SlackError; end
182
+ class InvalidAttachments < SlackError; end
183
+ class InvalidAuth < SlackError; end
184
+ class InvalidBlocks < SlackError; end
185
+ class InvalidCallId < SlackError; end
186
+ class InvalidChannel < SlackError; end
187
+ class InvalidChannelId < SlackError; end
188
+ class InvalidChannelType < SlackError; end
189
+ class InvalidChannelsLimit < SlackError; end
190
+ class InvalidCharset < SlackError; end
191
+ class InvalidClientId < SlackError; end
192
+ class InvalidCode < SlackError; end
193
+ class InvalidCreatedBy < SlackError; end
194
+ class InvalidCursor < SlackError; end
195
+ class InvalidDate < SlackError; end
196
+ class InvalidDuration < SlackError; end
197
+ class InvalidEmail < SlackError; end
198
+ class InvalidEventContext < SlackError; end
199
+ class InvalidExternalId < SlackError; end
200
+ class InvalidFormData < SlackError; end
201
+ class InvalidGrantType < SlackError; end
202
+ class InvalidInputs < SlackError; end
203
+ class InvalidLimit < SlackError; end
204
+ class InvalidName < SlackError; end
205
+ class InvalidNameMaxlength < SlackError; end
206
+ class InvalidNamePunctuation < SlackError; end
207
+ class InvalidNameRequired < SlackError; end
208
+ class InvalidNameSpecials < SlackError; end
209
+ class InvalidOutputs < SlackError; end
210
+ class InvalidPayload < SlackError; end
211
+ class InvalidPermissions < SlackError; end
212
+ class InvalidPostType < SlackError; end
213
+ class InvalidPresence < SlackError; end
214
+ class InvalidProfile < SlackError; end
215
+ class InvalidRequest < SlackError; end
216
+ class InvalidRequestId < SlackError; end
217
+ class InvalidRestrictedSubjects < SlackError; end
218
+ class InvalidRoleForUser < SlackError; end
219
+ class InvalidScheduledMessageId < SlackError; end
220
+ class InvalidScope < SlackError; end
221
+ class InvalidScopes < SlackError; end
222
+ class InvalidSearchChannelType < SlackError; end
223
+ class InvalidSort < SlackError; end
224
+ class InvalidSortDir < SlackError; end
225
+ class InvalidStartTime < SlackError; end
226
+ class InvalidStepStatus < SlackError; end
227
+ class InvalidTargetTeam < SlackError; end
228
+ class InvalidTeam < SlackError; end
229
+ class InvalidTeamIds < SlackError; end
230
+ class InvalidTime < SlackError; end
231
+ class InvalidTimestamp < SlackError; end
232
+ class InvalidToken < SlackError; end
233
+ class InvalidTrigger < SlackError; end
234
+ class InvalidTsLatest < SlackError; end
235
+ class InvalidTsOldest < SlackError; end
236
+ class InvalidType < SlackError; end
237
+ class InvalidTypes < SlackError; end
238
+ class InvalidUnfurlsFormat < SlackError; end
239
+ class InvalidUrl < SlackError; end
240
+ class InvalidUser < SlackError; end
241
+ class InvalidUserCombination < SlackError; end
242
+ class InvalidUserId < SlackError; end
243
+ class InvalidUsers < SlackError; end
244
+ class InvitedUserNotCreated < SlackError; end
245
+ class InvitedUserNotReactivated < SlackError; end
246
+ class InviteeCantSeeChannel < SlackError; end
247
+ class IsArchived < SlackError; end
248
+ class IsBot < SlackError; end
249
+ class IsInactive < SlackError; end
250
+ class LastMember < SlackError; end
251
+ class LimitRequired < SlackError; end
252
+ class LinkNotFound < SlackError; end
253
+ class MemberAnalyticsDisabled < SlackError; end
254
+ class MessageNotFound < SlackError; end
255
+ class MetadataNotAvailable < SlackError; end
256
+ class MetadataOnlyDoesNotSupportDate < SlackError; end
257
+ class MethodDeprecated < SlackError; end
258
+ class MethodNotSupportedForChannelType < SlackError; end
259
+ class MigrationInProgress < SlackError; end
260
+ class MissingArgs < SlackError; end
261
+ class MissingArgument < SlackError; end
262
+ class MissingChannel < SlackError; end
263
+ class MissingDialog < SlackError; end
264
+ class MissingDuration < SlackError; end
265
+ class MissingPostType < SlackError; end
266
+ class MissingResource < SlackError; end
267
+ class MissingScope < SlackError; end
268
+ class MissingSubteamName < SlackError; end
269
+ class MissingTeam < SlackError; end
270
+ class MissingTrigger < SlackError; end
271
+ class MissingTs < SlackError; end
272
+ class MissingUnfurls < SlackError; end
273
+ class MissingUser < SlackError; end
274
+ class MixedScope < SlackError; end
275
+ class MsgTooLong < SlackError; end
276
+ class MustProvideTeamDomain < SlackError; end
277
+ class MustProvideTeamName < SlackError; end
278
+ class NameAlreadyExists < SlackError; end
279
+ class NameTaken < SlackError; end
280
+ class NameTakenInOrg < SlackError; end
281
+ class NoActiveSessions < SlackError; end
282
+ class NoAliasSelected < SlackError; end
283
+ class NoBotUserForApp < SlackError; end
284
+ class NoChannel < SlackError; end
285
+ class NoImageUploaded < SlackError; end
286
+ class NoItemSpecified < SlackError; end
287
+ class NoLocalUserOnTeam < SlackError; end
288
+ class NoPermission < SlackError; end
289
+ class NoPin < SlackError; end
290
+ class NoReaction < SlackError; end
291
+ class NoResolutionFound < SlackError; end
292
+ class NoScopes < SlackError; end
293
+ class NoSuchSubteam < SlackError; end
294
+ class NoTeamIdsGiven < SlackError; end
295
+ class NoText < SlackError; end
296
+ class NoUser < SlackError; end
297
+ class NoUserProvided < SlackError; end
298
+ class NoUsersProvided < SlackError; end
299
+ class NotAdmin < SlackError; end
300
+ class NotAllowed < SlackError; end
301
+ class NotAllowedForGridWorkspace < SlackError; end
302
+ class NotAllowedTokenType < SlackError; end
303
+ class NotAnAdmin < SlackError; end
304
+ class NotAnEnterprise < SlackError; end
305
+ class NotAppAdmin < SlackError; end
306
+ class NotArchived < SlackError; end
307
+ class NotAuthed < SlackError; end
308
+ class NotAuthorized < SlackError; end
309
+ class NotBearerToken < SlackError; end
310
+ class NotEnabled < SlackError; end
311
+ class NotEnoughUsers < SlackError; end
312
+ class NotEnterpriseTeam < SlackError; end
313
+ class NotFound < SlackError; end
314
+ class NotImplemented < SlackError; end
315
+ class NotInChannel < SlackError; end
316
+ class NotInDnd < SlackError; end
317
+ class NotPinnable < SlackError; end
318
+ class NotPinned < SlackError; end
319
+ class NotReactable < SlackError; end
320
+ class NotStarred < SlackError; end
321
+ class NotSupported < SlackError; end
322
+ class OauthAuthorizationUrlMismatch < SlackError; end
323
+ class OneOrMoreInvalidChannels < SlackError; end
324
+ class OrgLevelEmailDisplayDisabled < SlackError; end
325
+ class OrgLoginRequired < SlackError; end
326
+ class OrgNotFound < SlackError; end
327
+ class OrgUserNotInTeam < SlackError; end
328
+ class OverPaginationLimit < SlackError; end
329
+ class PaginationNotAvailable < SlackError; end
330
+ class PaidOnly < SlackError; end
331
+ class PaidTeamsOnly < SlackError; end
332
+ class PermissionDenied < SlackError; end
333
+ class PlanUpgradeRequired < SlackError; end
334
+ class PostingToGeneralChannelDenied < SlackError; end
335
+ class PreviewFeatureNotAvailable < SlackError; end
336
+ class PrimaryUsergroupNotFound < SlackError; end
337
+ class ProfileSetFailed < SlackError; end
338
+ class PublicVideoNotAllowed < SlackError; end
339
+ class PushLimitReached < SlackError; end
340
+ class RateLimited < SlackError; end
341
+ class Ratelimited < SlackError; end
342
+ class RequestAlreadyResolved < SlackError; end
343
+ class RequestIdOrAppIdIsRequired < SlackError; end
344
+ class RequestIdRequiredForCustomIntegrations < SlackError; end
345
+ class RequestTimeout < SlackError; end
346
+ class ReservedName < SlackError; end
347
+ class ResizedButStillTooLarge < SlackError; end
348
+ class RestrictedAction < SlackError; end
349
+ class RestrictedActionNonThreadableChannel < SlackError; end
350
+ class RestrictedActionReadOnlyChannel < SlackError; end
351
+ class RestrictedActionThreadOnlyChannel < SlackError; end
352
+ class RetentionOverrideNotAllowed < SlackError; end
353
+ class RtmConnectRequired < SlackError; end
354
+ class SentRecently < SlackError; end
355
+ class ServiceUnavailable < SlackError; end
356
+ class SessionExpired < SlackError; end
357
+ class SessionInvalidationFailed < SlackError; end
358
+ class SessionNotFound < SlackError; end
359
+ class SlackConnectBlockedFileType < SlackError; end
360
+ class SlackConnectFileLinkSharingBlocked < SlackError; end
361
+ class SlackConnectFileUploadSharingBlocked < SlackError; end
362
+ class SnoozeEndFailed < SlackError; end
363
+ class SnoozeFailed < SlackError; end
364
+ class SnoozeNotActive < SlackError; end
365
+ class SubteamMaxUsersExceeded < SlackError; end
366
+ class TeamAccessNotGranted < SlackError; end
367
+ class TeamAddedToOrg < SlackError; end
368
+ class TeamIdOrOrgRequired < SlackError; end
369
+ class TeamNotFound < SlackError; end
370
+ class TeamNotOnEnterprise < SlackError; end
371
+ class ThreadNotFound < SlackError; end
372
+ class TimeInPast < SlackError; end
373
+ class TimeTooFar < SlackError; end
374
+ class TokenRevoked < SlackError; end
375
+ class TooLarge < SlackError; end
376
+ class TooLong < SlackError; end
377
+ class TooManyAttachments < SlackError; end
378
+ class TooManyConvosForAppOnTeam < SlackError; end
379
+ class TooManyConvosForTeam < SlackError; end
380
+ class TooManyEmoji < SlackError; end
381
+ class TooManyFrames < SlackError; end
382
+ class TooManyIds < SlackError; end
383
+ class TooManyIdsProvided < SlackError; end
384
+ class TooManyLinkedChannels < SlackError; end
385
+ class TooManyMembers < SlackError; end
386
+ class TooManyPins < SlackError; end
387
+ class TooManyReactions < SlackError; end
388
+ class TooManyTargetTeams < SlackError; end
389
+ class TooManyTeamsProvided < SlackError; end
390
+ class TooManyUsers < SlackError; end
391
+ class TriggerExchanged < SlackError; end
392
+ class TriggerExpired < SlackError; end
393
+ class TwoFactorSetupRequired < SlackError; end
394
+ class UnableToLeaveLastTeam < SlackError; end
395
+ class UnableToLinkIdpGroupAndChannel < SlackError; end
396
+ class UnableToUnlinkIdpGroupAndChannel < SlackError; end
397
+ class UnknownMethod < SlackError; end
398
+ class UnknownType < SlackError; end
399
+ class UnsupportedArguments < SlackError; end
400
+ class UnsupportedContextType < SlackError; end
401
+ class UnsupportedTeamType < SlackError; end
402
+ class UpdateFailed < SlackError; end
403
+ class UraMaxChannels < SlackError; end
404
+ class UserAlreadyDeleted < SlackError; end
405
+ class UserAlreadyTeamMember < SlackError; end
406
+ class UserDisabled < SlackError; end
407
+ class UserDoesNotOwnChannel < SlackError; end
408
+ class UserIsAlreadyDeleted < SlackError; end
409
+ class UserIsBot < SlackError; end
410
+ class UserIsNotAGuest < SlackError; end
411
+ class UserIsRestricted < SlackError; end
412
+ class UserIsUltraRestricted < SlackError; end
413
+ class UserMustBeAdmin < SlackError; end
414
+ class UserNotFound < SlackError; end
415
+ class UserNotInChannel < SlackError; end
416
+ class UserNotVisible < SlackError; end
417
+ class UserSessionResetFailed < SlackError; end
418
+ class UsergroupNotFound < SlackError; end
419
+ class UsergroupNotLinkedToTeam < SlackError; end
420
+ class UsergroupTeamNotProvisioned < SlackError; end
421
+ class UsersListNotSupplied < SlackError; end
422
+ class UsersNotFound < SlackError; end
423
+ class ValidationErrors < SlackError; end
424
+ class ViewTooLarge < SlackError; end
425
+
426
+ ERROR_CLASSES = {
427
+ 'accesslimited' => Accesslimited,
428
+ 'account_inactive' => AccountInactive,
429
+ 'admin_unauthorized' => AdminUnauthorized,
430
+ 'already_archived' => AlreadyArchived,
431
+ 'already_in_channel' => AlreadyInChannel,
432
+ 'already_in_team' => AlreadyInTeam,
433
+ 'already_in_team_invited_user' => AlreadyInTeamInvitedUser,
434
+ 'already_invited' => AlreadyInvited,
435
+ 'already_pinned' => AlreadyPinned,
436
+ 'already_processed' => AlreadyProcessed,
437
+ 'already_reacted' => AlreadyReacted,
438
+ 'already_starred' => AlreadyStarred,
439
+ 'app_management_app_not_installed_on_org' => AppManagementAppNotInstalledOnOrg,
440
+ 'app_missing_action_url' => AppMissingActionUrl,
441
+ 'app_restricted_org_wide' => AppRestrictedOrgWide,
442
+ 'as_user_not_supported' => AsUserNotSupported,
443
+ 'authed_user_not_found' => AuthedUserNotFound,
444
+ 'auto_provision_failure' => AutoProvisionFailure,
445
+ 'bad_client_secret' => BadClientSecret,
446
+ 'bad_handle' => BadHandle,
447
+ 'bad_image' => BadImage,
448
+ 'bad_redirect_uri' => BadRedirectUri,
449
+ 'bad_timestamp' => BadTimestamp,
450
+ 'bad_title' => BadTitle,
451
+ 'bad_token' => BadToken,
452
+ 'bad_url' => BadUrl,
453
+ 'bad_users' => BadUsers,
454
+ 'barrier_already_exists' => BarrierAlreadyExists,
455
+ 'barrier_not_found' => BarrierNotFound,
456
+ 'barriered_from_usergroups_not_found' => BarrieredFromUsergroupsNotFound,
457
+ 'bot_not_found' => BotNotFound,
458
+ 'bots_not_allowed' => BotsNotAllowed,
459
+ 'bots_not_found' => BotsNotFound,
460
+ 'cannot_add_bot' => CannotAddBot,
461
+ 'cannot_add_more_channels_to_group' => CannotAddMoreChannelsToGroup,
462
+ 'cannot_add_more_groups_to_channel' => CannotAddMoreGroupsToChannel,
463
+ 'cannot_add_others' => CannotAddOthers,
464
+ 'cannot_add_others_recurring' => CannotAddOthersRecurring,
465
+ 'cannot_add_slackbot' => CannotAddSlackbot,
466
+ 'cannot_auth_user' => CannotAuthUser,
467
+ 'cannot_complete_others' => CannotCompleteOthers,
468
+ 'cannot_complete_recurring' => CannotCompleteRecurring,
469
+ 'cannot_create_dialog' => CannotCreateDialog,
470
+ 'cannot_find_channel' => CannotFindChannel,
471
+ 'cannot_find_message' => CannotFindMessage,
472
+ 'cannot_find_service' => CannotFindService,
473
+ 'cannot_install_an_org_installed_app' => CannotInstallAnOrgInstalledApp,
474
+ 'cannot_invalidate_primary_owner' => CannotInvalidatePrimaryOwner,
475
+ 'cannot_modify_primary_owner' => CannotModifyPrimaryOwner,
476
+ 'cannot_move_local_channel' => CannotMoveLocalChannel,
477
+ 'cannot_parse' => CannotParse,
478
+ 'cannot_parse_attachment' => CannotParseAttachment,
479
+ 'cannot_prompt' => CannotPrompt,
480
+ 'cannot_reset_bot' => CannotResetBot,
481
+ 'cannot_reset_primary_owner' => CannotResetPrimaryOwner,
482
+ 'cannot_unfurl_message' => CannotUnfurlMessage,
483
+ 'cannot_unfurl_url' => CannotUnfurlUrl,
484
+ 'cannot_update_admin_user' => CannotUpdateAdminUser,
485
+ 'cant_archive_general' => CantArchiveGeneral,
486
+ 'cant_delete' => CantDelete,
487
+ 'cant_delete_file' => CantDeleteFile,
488
+ 'cant_delete_message' => CantDeleteMessage,
489
+ 'cant_invite' => CantInvite,
490
+ 'cant_invite_self' => CantInviteSelf,
491
+ 'cant_kick_from_general' => CantKickFromGeneral,
492
+ 'cant_kick_self' => CantKickSelf,
493
+ 'cant_leave_general' => CantLeaveGeneral,
494
+ 'cant_update_message' => CantUpdateMessage,
495
+ 'channel_cannot_be_unshared' => ChannelCannotBeUnshared,
496
+ 'channel_is_not_private' => ChannelIsNotPrivate,
497
+ 'channel_not_archived' => ChannelNotArchived,
498
+ 'channel_not_found' => ChannelNotFound,
499
+ 'channel_type_not_supported' => ChannelTypeNotSupported,
500
+ 'client_id_token_mismatch' => ClientIdTokenMismatch,
501
+ 'code_already_used' => CodeAlreadyUsed,
502
+ 'compliance_exports_prevent_deletion' => ComplianceExportsPreventDeletion,
503
+ 'could_not_archive_channel' => CouldNotArchiveChannel,
504
+ 'could_not_convert_channel' => CouldNotConvertChannel,
505
+ 'could_not_create_channel' => CouldNotCreateChannel,
506
+ 'could_not_create_workspace' => CouldNotCreateWorkspace,
507
+ 'could_not_delete_channel' => CouldNotDeleteChannel,
508
+ 'could_not_get_conversation_prefs' => CouldNotGetConversationPrefs,
509
+ 'could_not_get_retention' => CouldNotGetRetention,
510
+ 'could_not_get_teams' => CouldNotGetTeams,
511
+ 'could_not_remove_retention' => CouldNotRemoveRetention,
512
+ 'could_not_rename_channel' => CouldNotRenameChannel,
513
+ 'could_not_set_channel_pref' => CouldNotSetChannelPref,
514
+ 'could_not_set_retention' => CouldNotSetRetention,
515
+ 'could_not_set_teams_for_channel' => CouldNotSetTeamsForChannel,
516
+ 'could_not_unarchive_channel' => CouldNotUnarchiveChannel,
517
+ 'data_not_available' => DataNotAvailable,
518
+ 'default_channel_restricted' => DefaultChannelRestricted,
519
+ 'default_org_wide_channel' => DefaultOrgWideChannel,
520
+ 'deprecated_endpoint' => DeprecatedEndpoint,
521
+ 'description_too_long' => DescriptionTooLong,
522
+ 'discoverability_setting_invalid' => DiscoverabilitySettingInvalid,
523
+ 'domain_taken' => DomainTaken,
524
+ 'duplicate_channel_not_found' => DuplicateChannelNotFound,
525
+ 'duplicate_external_id' => DuplicateExternalId,
526
+ 'duplicate_message_not_found' => DuplicateMessageNotFound,
527
+ 'edit_window_closed' => EditWindowClosed,
528
+ 'ekm_access_denied' => EkmAccessDenied,
529
+ 'email_taken' => EmailTaken,
530
+ 'emoji_limit_reached' => EmojiLimitReached,
531
+ 'emoji_not_found' => EmojiNotFound,
532
+ 'enterprise_is_restricted' => EnterpriseIsRestricted,
533
+ 'enterprise_not_found' => EnterpriseNotFound,
534
+ 'error_bad_format' => ErrorBadFormat,
535
+ 'error_bad_name_i18n' => ErrorBadNameI18n,
536
+ 'error_bad_upload' => ErrorBadUpload,
537
+ 'error_bad_wide' => ErrorBadWide,
538
+ 'error_invalid_alias' => ErrorInvalidAlias,
539
+ 'error_invalid_emoji_to_rename' => ErrorInvalidEmojiToRename,
540
+ 'error_missing_name' => ErrorMissingName,
541
+ 'error_name_taken' => ErrorNameTaken,
542
+ 'error_name_taken_i18n' => ErrorNameTakenI18n,
543
+ 'error_no_image' => ErrorNoImage,
544
+ 'error_too_big' => ErrorTooBig,
545
+ 'external_channel_migrating' => ExternalChannelMigrating,
546
+ 'externally_shared_or_disconnected_channel' => ExternallySharedOrDisconnectedChannel,
547
+ 'fail_to_get_teams_for_restricted_user' => FailToGetTeamsForRestrictedUser,
548
+ 'failed_for_some_users' => FailedForSomeUsers,
549
+ 'failed_looking_up_user' => FailedLookingUpUser,
550
+ 'failed_sending_dialog' => FailedSendingDialog,
551
+ 'failed_to_add_emoji' => FailedToAddEmoji,
552
+ 'failed_to_alias_emoji' => FailedToAliasEmoji,
553
+ 'failed_to_fetch_active_team' => FailedToFetchActiveTeam,
554
+ 'failed_to_fetch_info' => FailedToFetchInfo,
555
+ 'failed_to_remove_group_users' => FailedToRemoveGroupUsers,
556
+ 'failed_to_remove_user_from_workspace' => FailedToRemoveUserFromWorkspace,
557
+ 'failed_to_rename_emoji' => FailedToRenameEmoji,
558
+ 'failed_to_send_invite' => FailedToSendInvite,
559
+ 'failed_to_set_default_channels' => FailedToSetDefaultChannels,
560
+ 'failed_to_set_description' => FailedToSetDescription,
561
+ 'failed_to_set_discoverability' => FailedToSetDiscoverability,
562
+ 'failed_to_set_expiration' => FailedToSetExpiration,
563
+ 'failed_to_set_icon' => FailedToSetIcon,
564
+ 'failed_to_set_name' => FailedToSetName,
565
+ 'failed_to_set_user_to_admin' => FailedToSetUserToAdmin,
566
+ 'failed_to_set_user_to_owner' => FailedToSetUserToOwner,
567
+ 'failed_to_set_user_to_regular' => FailedToSetUserToRegular,
568
+ 'failed_to_unlink_channel' => FailedToUnlinkChannel,
569
+ 'failed_to_validate_caller' => FailedToValidateCaller,
570
+ 'failed_to_validate_channels' => FailedToValidateChannels,
571
+ 'failed_to_validate_custom_message' => FailedToValidateCustomMessage,
572
+ 'failed_to_validate_expiration' => FailedToValidateExpiration,
573
+ 'failed_to_validate_team' => FailedToValidateTeam,
574
+ 'failure_removing_emoji' => FailureRemovingEmoji,
575
+ 'fatal_error' => FatalError,
576
+ 'feature_not_enabled' => FeatureNotEnabled,
577
+ 'fetch_members_failed' => FetchMembersFailed,
578
+ 'file_comment_not_found' => FileCommentNotFound,
579
+ 'file_deleted' => FileDeleted,
580
+ 'file_deleting_disabled' => FileDeletingDisabled,
581
+ 'file_not_found' => FileNotFound,
582
+ 'file_not_shared' => FileNotShared,
583
+ 'file_not_yet_available' => FileNotYetAvailable,
584
+ 'file_under_review' => FileUnderReview,
585
+ 'forbidden_handle' => ForbiddenHandle,
586
+ 'forbidden_team' => ForbiddenTeam,
587
+ 'group_already_linked_to_channel' => GroupAlreadyLinkedToChannel,
588
+ 'group_must_not_be_empty' => GroupMustNotBeEmpty,
589
+ 'group_not_found' => GroupNotFound,
590
+ 'handle_already_exists' => HandleAlreadyExists,
591
+ 'hash_conflict' => HashConflict,
592
+ 'inactive_call' => InactiveCall,
593
+ 'insecure_request' => InsecureRequest,
594
+ 'internal_error' => InternalError,
595
+ 'invalid_actor' => InvalidActor,
596
+ 'invalid_app_id' => InvalidAppId,
597
+ 'invalid_arg_name' => InvalidArgName,
598
+ 'invalid_args' => InvalidArgs,
599
+ 'invalid_arguments' => InvalidArguments,
600
+ 'invalid_array_arg' => InvalidArrayArg,
601
+ 'invalid_attachments' => InvalidAttachments,
602
+ 'invalid_auth' => InvalidAuth,
603
+ 'invalid_blocks' => InvalidBlocks,
604
+ 'invalid_call_id' => InvalidCallId,
605
+ 'invalid_channel' => InvalidChannel,
606
+ 'invalid_channel_id' => InvalidChannelId,
607
+ 'invalid_channel_type' => InvalidChannelType,
608
+ 'invalid_channels_limit' => InvalidChannelsLimit,
609
+ 'invalid_charset' => InvalidCharset,
610
+ 'invalid_client_id' => InvalidClientId,
611
+ 'invalid_code' => InvalidCode,
612
+ 'invalid_created_by' => InvalidCreatedBy,
613
+ 'invalid_cursor' => InvalidCursor,
614
+ 'invalid_date' => InvalidDate,
615
+ 'invalid_duration' => InvalidDuration,
616
+ 'invalid_email' => InvalidEmail,
617
+ 'invalid_event_context' => InvalidEventContext,
618
+ 'invalid_external_id' => InvalidExternalId,
619
+ 'invalid_form_data' => InvalidFormData,
620
+ 'invalid_grant_type' => InvalidGrantType,
621
+ 'invalid_inputs' => InvalidInputs,
622
+ 'invalid_limit' => InvalidLimit,
623
+ 'invalid_name' => InvalidName,
624
+ 'invalid_name_maxlength' => InvalidNameMaxlength,
625
+ 'invalid_name_punctuation' => InvalidNamePunctuation,
626
+ 'invalid_name_required' => InvalidNameRequired,
627
+ 'invalid_name_specials' => InvalidNameSpecials,
628
+ 'invalid_outputs' => InvalidOutputs,
629
+ 'invalid_payload' => InvalidPayload,
630
+ 'invalid_permissions' => InvalidPermissions,
631
+ 'invalid_post_type' => InvalidPostType,
632
+ 'invalid_presence' => InvalidPresence,
633
+ 'invalid_profile' => InvalidProfile,
634
+ 'invalid_request' => InvalidRequest,
635
+ 'invalid_request_id' => InvalidRequestId,
636
+ 'invalid_restricted_subjects' => InvalidRestrictedSubjects,
637
+ 'invalid_role_for_user' => InvalidRoleForUser,
638
+ 'invalid_scheduled_message_id' => InvalidScheduledMessageId,
639
+ 'invalid_scope' => InvalidScope,
640
+ 'invalid_scopes' => InvalidScopes,
641
+ 'invalid_search_channel_type' => InvalidSearchChannelType,
642
+ 'invalid_sort' => InvalidSort,
643
+ 'invalid_sort_dir' => InvalidSortDir,
644
+ 'invalid_start_time' => InvalidStartTime,
645
+ 'invalid_step_status' => InvalidStepStatus,
646
+ 'invalid_target_team' => InvalidTargetTeam,
647
+ 'invalid_team' => InvalidTeam,
648
+ 'invalid_team_ids' => InvalidTeamIds,
649
+ 'invalid_time' => InvalidTime,
650
+ 'invalid_timestamp' => InvalidTimestamp,
651
+ 'invalid_token' => InvalidToken,
652
+ 'invalid_trigger' => InvalidTrigger,
653
+ 'invalid_ts_latest' => InvalidTsLatest,
654
+ 'invalid_ts_oldest' => InvalidTsOldest,
655
+ 'invalid_type' => InvalidType,
656
+ 'invalid_types' => InvalidTypes,
657
+ 'invalid_unfurls_format' => InvalidUnfurlsFormat,
658
+ 'invalid_url' => InvalidUrl,
659
+ 'invalid_user' => InvalidUser,
660
+ 'invalid_user_combination' => InvalidUserCombination,
661
+ 'invalid_user_id' => InvalidUserId,
662
+ 'invalid_users' => InvalidUsers,
663
+ 'invited_user_not_created' => InvitedUserNotCreated,
664
+ 'invited_user_not_reactivated' => InvitedUserNotReactivated,
665
+ 'invitee_cant_see_channel' => InviteeCantSeeChannel,
666
+ 'is_archived' => IsArchived,
667
+ 'is_bot' => IsBot,
668
+ 'is_inactive' => IsInactive,
669
+ 'last_member' => LastMember,
670
+ 'limit_required' => LimitRequired,
671
+ 'link_not_found' => LinkNotFound,
672
+ 'member_analytics_disabled' => MemberAnalyticsDisabled,
673
+ 'message_not_found' => MessageNotFound,
674
+ 'metadata_not_available' => MetadataNotAvailable,
675
+ 'metadata_only_does_not_support_date' => MetadataOnlyDoesNotSupportDate,
676
+ 'method_deprecated' => MethodDeprecated,
677
+ 'method_not_supported_for_channel_type' => MethodNotSupportedForChannelType,
678
+ 'migration_in_progress' => MigrationInProgress,
679
+ 'missing_args' => MissingArgs,
680
+ 'missing_argument' => MissingArgument,
681
+ 'missing_channel' => MissingChannel,
682
+ 'missing_dialog' => MissingDialog,
683
+ 'missing_duration' => MissingDuration,
684
+ 'missing_post_type' => MissingPostType,
685
+ 'missing_resource' => MissingResource,
686
+ 'missing_scope' => MissingScope,
687
+ 'missing_subteam_name' => MissingSubteamName,
688
+ 'missing_team' => MissingTeam,
689
+ 'missing_trigger' => MissingTrigger,
690
+ 'missing_ts' => MissingTs,
691
+ 'missing_unfurls' => MissingUnfurls,
692
+ 'missing_user' => MissingUser,
693
+ 'mixed_scope' => MixedScope,
694
+ 'msg_too_long' => MsgTooLong,
695
+ 'must_provide_team_domain' => MustProvideTeamDomain,
696
+ 'must_provide_team_name' => MustProvideTeamName,
697
+ 'name_already_exists' => NameAlreadyExists,
698
+ 'name_taken' => NameTaken,
699
+ 'name_taken_in_org' => NameTakenInOrg,
700
+ 'no_active_sessions' => NoActiveSessions,
701
+ 'no_alias_selected' => NoAliasSelected,
702
+ 'no_bot_user_for_app' => NoBotUserForApp,
703
+ 'no_channel' => NoChannel,
704
+ 'no_image_uploaded' => NoImageUploaded,
705
+ 'no_item_specified' => NoItemSpecified,
706
+ 'no_local_user_on_team' => NoLocalUserOnTeam,
707
+ 'no_permission' => NoPermission,
708
+ 'no_pin' => NoPin,
709
+ 'no_reaction' => NoReaction,
710
+ 'no_resolution_found' => NoResolutionFound,
711
+ 'no_scopes' => NoScopes,
712
+ 'no_such_subteam' => NoSuchSubteam,
713
+ 'no_team_ids_given' => NoTeamIdsGiven,
714
+ 'no_text' => NoText,
715
+ 'no_user' => NoUser,
716
+ 'no_user_provided' => NoUserProvided,
717
+ 'no_users_provided' => NoUsersProvided,
718
+ 'not_admin' => NotAdmin,
719
+ 'not_allowed' => NotAllowed,
720
+ 'not_allowed_for_grid_workspace' => NotAllowedForGridWorkspace,
721
+ 'not_allowed_token_type' => NotAllowedTokenType,
722
+ 'not_an_admin' => NotAnAdmin,
723
+ 'not_an_enterprise' => NotAnEnterprise,
724
+ 'not_app_admin' => NotAppAdmin,
725
+ 'not_archived' => NotArchived,
726
+ 'not_authed' => NotAuthed,
727
+ 'not_authorized' => NotAuthorized,
728
+ 'not_bearer_token' => NotBearerToken,
729
+ 'not_enabled' => NotEnabled,
730
+ 'not_enough_users' => NotEnoughUsers,
731
+ 'not_enterprise_team' => NotEnterpriseTeam,
732
+ 'not_found' => NotFound,
733
+ 'not_implemented' => NotImplemented,
734
+ 'not_in_channel' => NotInChannel,
735
+ 'not_in_dnd' => NotInDnd,
736
+ 'not_pinnable' => NotPinnable,
737
+ 'not_pinned' => NotPinned,
738
+ 'not_reactable' => NotReactable,
739
+ 'not_starred' => NotStarred,
740
+ 'not_supported' => NotSupported,
741
+ 'oauth_authorization_url_mismatch' => OauthAuthorizationUrlMismatch,
742
+ 'one_or_more_invalid_channels' => OneOrMoreInvalidChannels,
743
+ 'org_level_email_display_disabled' => OrgLevelEmailDisplayDisabled,
744
+ 'org_login_required' => OrgLoginRequired,
745
+ 'org_not_found' => OrgNotFound,
746
+ 'org_user_not_in_team' => OrgUserNotInTeam,
747
+ 'over_pagination_limit' => OverPaginationLimit,
748
+ 'pagination_not_available' => PaginationNotAvailable,
749
+ 'paid_only' => PaidOnly,
750
+ 'paid_teams_only' => PaidTeamsOnly,
751
+ 'permission_denied' => PermissionDenied,
752
+ 'plan_upgrade_required' => PlanUpgradeRequired,
753
+ 'posting_to_general_channel_denied' => PostingToGeneralChannelDenied,
754
+ 'preview_feature_not_available' => PreviewFeatureNotAvailable,
755
+ 'primary_usergroup_not_found' => PrimaryUsergroupNotFound,
756
+ 'profile_set_failed' => ProfileSetFailed,
757
+ 'public_video_not_allowed' => PublicVideoNotAllowed,
758
+ 'push_limit_reached' => PushLimitReached,
759
+ 'rate_limited' => RateLimited,
760
+ 'ratelimited' => Ratelimited,
761
+ 'request_already_resolved' => RequestAlreadyResolved,
762
+ 'request_id_or_app_id_is_required' => RequestIdOrAppIdIsRequired,
763
+ 'request_id_required_for_custom_integrations' => RequestIdRequiredForCustomIntegrations,
764
+ 'request_timeout' => RequestTimeout,
765
+ 'reserved_name' => ReservedName,
766
+ 'resized_but_still_too_large' => ResizedButStillTooLarge,
767
+ 'restricted_action' => RestrictedAction,
768
+ 'restricted_action_non_threadable_channel' => RestrictedActionNonThreadableChannel,
769
+ 'restricted_action_read_only_channel' => RestrictedActionReadOnlyChannel,
770
+ 'restricted_action_thread_only_channel' => RestrictedActionThreadOnlyChannel,
771
+ 'retention_override_not_allowed' => RetentionOverrideNotAllowed,
772
+ 'rtm_connect_required' => RtmConnectRequired,
773
+ 'sent_recently' => SentRecently,
774
+ 'service_unavailable' => ServiceUnavailable,
775
+ 'session_expired' => SessionExpired,
776
+ 'session_invalidation_failed' => SessionInvalidationFailed,
777
+ 'session_not_found' => SessionNotFound,
778
+ 'slack_connect_blocked_file_type' => SlackConnectBlockedFileType,
779
+ 'slack_connect_file_link_sharing_blocked' => SlackConnectFileLinkSharingBlocked,
780
+ 'slack_connect_file_upload_sharing_blocked' => SlackConnectFileUploadSharingBlocked,
781
+ 'snooze_end_failed' => SnoozeEndFailed,
782
+ 'snooze_failed' => SnoozeFailed,
783
+ 'snooze_not_active' => SnoozeNotActive,
784
+ 'subteam_max_users_exceeded' => SubteamMaxUsersExceeded,
785
+ 'team_access_not_granted' => TeamAccessNotGranted,
786
+ 'team_added_to_org' => TeamAddedToOrg,
787
+ 'team_id_or_org_required' => TeamIdOrOrgRequired,
788
+ 'team_not_found' => TeamNotFound,
789
+ 'team_not_on_enterprise' => TeamNotOnEnterprise,
790
+ 'thread_not_found' => ThreadNotFound,
791
+ 'time_in_past' => TimeInPast,
792
+ 'time_too_far' => TimeTooFar,
793
+ 'token_revoked' => TokenRevoked,
794
+ 'too_large' => TooLarge,
795
+ 'too_long' => TooLong,
796
+ 'too_many_attachments' => TooManyAttachments,
797
+ 'too_many_convos_for_app_on_team' => TooManyConvosForAppOnTeam,
798
+ 'too_many_convos_for_team' => TooManyConvosForTeam,
799
+ 'too_many_emoji' => TooManyEmoji,
800
+ 'too_many_frames' => TooManyFrames,
801
+ 'too_many_ids' => TooManyIds,
802
+ 'too_many_ids_provided' => TooManyIdsProvided,
803
+ 'too_many_linked_channels' => TooManyLinkedChannels,
804
+ 'too_many_members' => TooManyMembers,
805
+ 'too_many_pins' => TooManyPins,
806
+ 'too_many_reactions' => TooManyReactions,
807
+ 'too_many_target_teams' => TooManyTargetTeams,
808
+ 'too_many_teams_provided' => TooManyTeamsProvided,
809
+ 'too_many_users' => TooManyUsers,
810
+ 'trigger_exchanged' => TriggerExchanged,
811
+ 'trigger_expired' => TriggerExpired,
812
+ 'two_factor_setup_required' => TwoFactorSetupRequired,
813
+ 'unable_to_leave_last_team' => UnableToLeaveLastTeam,
814
+ 'unable_to_link_idp_group_and_channel' => UnableToLinkIdpGroupAndChannel,
815
+ 'unable_to_unlink_idp_group_and_channel' => UnableToUnlinkIdpGroupAndChannel,
816
+ 'unknown_method' => UnknownMethod,
817
+ 'unknown_type' => UnknownType,
818
+ 'unsupported_arguments' => UnsupportedArguments,
819
+ 'unsupported_context_type' => UnsupportedContextType,
820
+ 'unsupported_team_type' => UnsupportedTeamType,
821
+ 'update_failed' => UpdateFailed,
822
+ 'ura_max_channels' => UraMaxChannels,
823
+ 'user_already_deleted' => UserAlreadyDeleted,
824
+ 'user_already_team_member' => UserAlreadyTeamMember,
825
+ 'user_disabled' => UserDisabled,
826
+ 'user_does_not_own_channel' => UserDoesNotOwnChannel,
827
+ 'user_is_already_deleted' => UserIsAlreadyDeleted,
828
+ 'user_is_bot' => UserIsBot,
829
+ 'user_is_not_a_guest' => UserIsNotAGuest,
830
+ 'user_is_restricted' => UserIsRestricted,
831
+ 'user_is_ultra_restricted' => UserIsUltraRestricted,
832
+ 'user_must_be_admin' => UserMustBeAdmin,
833
+ 'user_not_found' => UserNotFound,
834
+ 'user_not_in_channel' => UserNotInChannel,
835
+ 'user_not_visible' => UserNotVisible,
836
+ 'user_session_reset_failed' => UserSessionResetFailed,
837
+ 'usergroup_not_found' => UsergroupNotFound,
838
+ 'usergroup_not_linked_to_team' => UsergroupNotLinkedToTeam,
839
+ 'usergroup_team_not_provisioned' => UsergroupTeamNotProvisioned,
840
+ 'users_list_not_supplied' => UsersListNotSupplied,
841
+ 'users_not_found' => UsersNotFound,
842
+ 'validation_errors' => ValidationErrors,
843
+ 'view_too_large' => ViewTooLarge,
844
+ }.freeze
845
+ end
846
+ end
847
+ end
848
+ end