slack-ruby-client 0.11.0 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. checksums.yaml +5 -5
  2. data/.coveralls.yml +2 -0
  3. data/.github/FUNDING.yml +2 -0
  4. data/.github/dependabot.yml +6 -0
  5. data/.github/workflows/integration_test.yml +45 -0
  6. data/.github/workflows/lint.yml +14 -0
  7. data/.github/workflows/pr_lint.yml +21 -0
  8. data/.github/workflows/test.yml +56 -0
  9. data/.github/workflows/update_api.yml +81 -0
  10. data/.gitignore +7 -3
  11. data/.rubocop.yml +40 -2
  12. data/.rubocop_todo.yml +209 -55
  13. data/.ruby-version +1 -0
  14. data/CHANGELOG.md +257 -30
  15. data/CONTRIBUTING.md +44 -29
  16. data/Dangerfile +2 -0
  17. data/Gemfile +28 -6
  18. data/Gemfile.danger +6 -0
  19. data/LICENSE.md +1 -1
  20. data/README.md +473 -134
  21. data/RELEASING.md +2 -2
  22. data/Rakefile +2 -1
  23. data/SECURITY.md +9 -0
  24. data/UPGRADING.md +117 -3
  25. data/bin/commands/admin_analytics.rb +22 -0
  26. data/bin/commands/admin_apps.rb +57 -0
  27. data/bin/commands/admin_apps_activities.rb +32 -0
  28. data/bin/commands/admin_apps_approved.rb +24 -0
  29. data/bin/commands/admin_apps_config.rb +31 -0
  30. data/bin/commands/admin_apps_requests.rb +35 -0
  31. data/bin/commands/admin_apps_restricted.rb +24 -0
  32. data/bin/commands/admin_audit_anomaly_allow.rb +29 -0
  33. data/bin/commands/admin_auth_policy.rb +45 -0
  34. data/bin/commands/admin_barriers.rb +53 -0
  35. data/bin/commands/admin_conversations.rb +260 -0
  36. data/bin/commands/admin_conversations_ekm.rb +23 -0
  37. data/bin/commands/admin_conversations_restrictAccess.rb +43 -0
  38. data/bin/commands/admin_emoji.rb +60 -0
  39. data/bin/commands/admin_functions.rb +23 -0
  40. data/bin/commands/admin_functions_permissions.rb +31 -0
  41. data/bin/commands/admin_inviteRequests.rb +42 -0
  42. data/bin/commands/admin_inviteRequests_approved.rb +22 -0
  43. data/bin/commands/admin_inviteRequests_denied.rb +22 -0
  44. data/bin/commands/admin_roles.rb +46 -0
  45. data/bin/commands/admin_teams.rb +33 -0
  46. data/bin/commands/admin_teams_admins.rb +22 -0
  47. data/bin/commands/admin_teams_owners.rb +22 -0
  48. data/bin/commands/admin_teams_settings.rb +70 -0
  49. data/bin/commands/admin_usergroups.rb +54 -0
  50. data/bin/commands/admin_users.rb +106 -0
  51. data/bin/commands/admin_users_session.rb +84 -0
  52. data/bin/commands/admin_users_unsupportedVersions.rb +21 -0
  53. data/bin/commands/admin_workflows.rb +42 -0
  54. data/bin/commands/admin_workflows_collaborators.rb +31 -0
  55. data/bin/commands/admin_workflows_permissions.rb +21 -0
  56. data/bin/commands/admin_workflows_triggers_types_permissions.rb +31 -0
  57. data/bin/commands/api.rb +15 -9
  58. data/bin/commands/apps.rb +21 -0
  59. data/bin/commands/apps_activities.rb +32 -0
  60. data/bin/commands/apps_auth_external.rb +32 -0
  61. data/bin/commands/apps_connections.rb +19 -0
  62. data/bin/commands/apps_datastore.rb +116 -0
  63. data/bin/commands/apps_event_authorizations.rb +22 -0
  64. data/bin/commands/apps_manifest.rb +58 -0
  65. data/bin/commands/assistant_search.rb +27 -0
  66. data/bin/commands/assistant_threads.rb +45 -0
  67. data/bin/commands/auth.rb +22 -15
  68. data/bin/commands/auth_teams.rb +22 -0
  69. data/bin/commands/bookmarks.rb +60 -0
  70. data/bin/commands/bots.rb +16 -8
  71. data/bin/commands/calls.rb +58 -0
  72. data/bin/commands/calls_participants.rb +31 -0
  73. data/bin/commands/canvases.rb +41 -0
  74. data/bin/commands/canvases_access.rb +34 -0
  75. data/bin/commands/canvases_sections.rb +21 -0
  76. data/bin/commands/chat.rb +158 -99
  77. data/bin/commands/chat_scheduledMessages.rb +25 -0
  78. data/bin/commands/conversations.rb +241 -157
  79. data/bin/commands/conversations_canvases.rb +22 -0
  80. data/bin/commands/conversations_externalInvitePermissions.rb +22 -0
  81. data/bin/commands/conversations_requestSharedInvite.rb +48 -0
  82. data/bin/commands/dialog.rb +16 -9
  83. data/bin/commands/dnd.rb +47 -38
  84. data/bin/commands/emoji.rb +15 -7
  85. data/bin/commands/files.rb +113 -87
  86. data/bin/commands/files_comments.rb +16 -30
  87. data/bin/commands/files_remote.rb +84 -0
  88. data/bin/commands/functions.rb +31 -0
  89. data/bin/commands/functions_distributions_permissions.rb +61 -0
  90. data/bin/commands/functions_workflows_steps.rb +23 -0
  91. data/bin/commands/functions_workflows_steps_responses.rb +23 -0
  92. data/bin/commands/migration.rb +17 -9
  93. data/bin/commands/oauth.rb +19 -24
  94. data/bin/commands/oauth_v2.rb +35 -0
  95. data/bin/commands/openid_connect.rb +33 -0
  96. data/bin/commands/pins.rb +33 -30
  97. data/bin/commands/reactions.rb +53 -45
  98. data/bin/commands/reminders.rb +54 -41
  99. data/bin/commands/rtm.rb +16 -22
  100. data/bin/commands/search.rb +44 -33
  101. data/bin/commands/stars.rb +39 -29
  102. data/bin/commands/team.rb +50 -34
  103. data/bin/commands/team_billing.rb +19 -0
  104. data/bin/commands/team_externalTeams.rb +35 -0
  105. data/bin/commands/team_preferences.rb +19 -0
  106. data/bin/commands/team_profile.rb +15 -8
  107. data/bin/commands/tooling_tokens.rb +20 -0
  108. data/bin/commands/usergroups.rb +69 -53
  109. data/bin/commands/usergroups_users.rb +30 -19
  110. data/bin/commands/users.rb +114 -84
  111. data/bin/commands/users_admin.rb +29 -22
  112. data/bin/commands/users_discoverableContacts.rb +20 -0
  113. data/bin/commands/users_prefs.rb +14 -7
  114. data/bin/commands/users_profile.rb +27 -20
  115. data/bin/commands/views.rb +56 -0
  116. data/bin/commands/workflows.rb +44 -0
  117. data/bin/commands/workflows_triggers_permissions.rb +60 -0
  118. data/bin/slack +50 -46
  119. data/examples/files_upload_v2/.env.example +1 -0
  120. data/examples/{hi_real_time → files_upload_v2}/Gemfile +2 -2
  121. data/examples/files_upload_v2/README.md +13 -0
  122. data/examples/files_upload_v2/files_upload_v2.rb +45 -0
  123. data/examples/hi_real_time_and_web/Gemfile +1 -0
  124. data/examples/hi_real_time_and_web/hi.rb +7 -3
  125. data/examples/{hi_real_time_async_eventmachine → hi_real_time_async_async}/Gemfile +2 -1
  126. data/examples/{hi_real_time_async_eventmachine → hi_real_time_async_async}/hi.rb +12 -7
  127. data/examples/hi_web/Gemfile +1 -0
  128. data/examples/hi_web/hi.rb +1 -0
  129. data/examples/new_ticket/Gemfile +1 -0
  130. data/examples/new_ticket/new_ticket.rb +1 -0
  131. data/examples/oauth_v2/.env.example +4 -0
  132. data/examples/oauth_v2/Gemfile +7 -0
  133. data/examples/oauth_v2/README.md +33 -0
  134. data/examples/oauth_v2/oauth_v2.rb +60 -0
  135. data/lib/slack/config.rb +2 -2
  136. data/lib/slack/events/config.rb +32 -0
  137. data/lib/slack/events/request.rb +76 -0
  138. data/lib/slack/logger.rb +6 -5
  139. data/lib/slack/messages/formatting.rb +66 -1
  140. data/lib/slack/messages/message.rb +1 -4
  141. data/lib/slack/real_time/api/message.rb +6 -3
  142. data/lib/slack/real_time/api/message_id.rb +1 -0
  143. data/lib/slack/real_time/api/ping.rb +5 -2
  144. data/lib/slack/real_time/api/templates/event_handler.erb +5 -1
  145. data/lib/slack/real_time/api/typing.rb +5 -2
  146. data/lib/slack/real_time/client.rb +117 -54
  147. data/lib/slack/real_time/concurrency/async.rb +142 -0
  148. data/lib/slack/real_time/concurrency.rb +2 -2
  149. data/lib/slack/real_time/config.rb +12 -13
  150. data/lib/slack/real_time/models/base.rb +1 -4
  151. data/lib/slack/real_time/models/bot.rb +1 -0
  152. data/lib/slack/real_time/models/channel.rb +5 -0
  153. data/lib/slack/real_time/models/im.rb +1 -0
  154. data/lib/slack/real_time/models/{group.rb → mpim.rb} +2 -1
  155. data/lib/slack/real_time/models/team.rb +1 -0
  156. data/lib/slack/real_time/models/user.rb +1 -0
  157. data/lib/slack/real_time/models.rb +3 -1
  158. data/lib/slack/real_time/socket.rb +49 -17
  159. data/lib/slack/real_time/stores/base.rb +28 -14
  160. data/lib/slack/real_time/stores/starter.rb +325 -287
  161. data/lib/slack/real_time/stores/store.rb +271 -186
  162. data/lib/slack/real_time/stores.rb +2 -7
  163. data/lib/slack/utils/security.rb +44 -0
  164. data/lib/slack/version.rb +2 -1
  165. data/lib/slack/web/api/endpoints/admin_analytics.rb +28 -0
  166. data/lib/slack/web/api/endpoints/admin_apps.rb +78 -0
  167. data/lib/slack/web/api/endpoints/admin_apps_activities.rb +53 -0
  168. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +37 -0
  169. data/lib/slack/web/api/endpoints/admin_apps_config.rb +40 -0
  170. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +53 -0
  171. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +37 -0
  172. data/lib/slack/web/api/endpoints/admin_audit_anomaly_allow.rb +34 -0
  173. data/lib/slack/web/api/endpoints/admin_auth_policy.rb +72 -0
  174. data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
  175. data/lib/slack/web/api/endpoints/admin_conversations.rb +397 -0
  176. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
  177. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
  178. data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
  179. data/lib/slack/web/api/endpoints/admin_functions.rb +36 -0
  180. data/lib/slack/web/api/endpoints/admin_functions_permissions.rb +41 -0
  181. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
  182. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
  183. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
  184. data/lib/slack/web/api/endpoints/admin_roles.rb +73 -0
  185. data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
  186. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
  187. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
  188. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
  189. data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
  190. data/lib/slack/web/api/endpoints/admin_users.rb +167 -0
  191. data/lib/slack/web/api/endpoints/admin_users_session.rb +121 -0
  192. data/lib/slack/web/api/endpoints/admin_users_unsupportedVersions.rb +25 -0
  193. data/lib/slack/web/api/endpoints/admin_workflows.rb +67 -0
  194. data/lib/slack/web/api/endpoints/admin_workflows_collaborators.rb +42 -0
  195. data/lib/slack/web/api/endpoints/admin_workflows_permissions.rb +26 -0
  196. data/lib/slack/web/api/endpoints/admin_workflows_triggers_types_permissions.rb +41 -0
  197. data/lib/slack/web/api/endpoints/api.rb +2 -3
  198. data/lib/slack/web/api/endpoints/apps.rb +27 -0
  199. data/lib/slack/web/api/endpoints/apps_activities.rb +54 -0
  200. data/lib/slack/web/api/endpoints/apps_auth_external.rb +41 -0
  201. data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
  202. data/lib/slack/web/api/endpoints/apps_datastore.rb +181 -0
  203. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
  204. data/lib/slack/web/api/endpoints/apps_manifest.rb +79 -0
  205. data/lib/slack/web/api/endpoints/assistant_search.rb +44 -0
  206. data/lib/slack/web/api/endpoints/assistant_threads.rb +68 -0
  207. data/lib/slack/web/api/endpoints/auth.rb +2 -1
  208. data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
  209. data/lib/slack/web/api/endpoints/bookmarks.rb +90 -0
  210. data/lib/slack/web/api/endpoints/bots.rb +4 -1
  211. data/lib/slack/web/api/endpoints/calls.rb +83 -0
  212. data/lib/slack/web/api/endpoints/calls_participants.rb +42 -0
  213. data/lib/slack/web/api/endpoints/canvases.rb +54 -0
  214. data/lib/slack/web/api/endpoints/canvases_access.rb +47 -0
  215. data/lib/slack/web/api/endpoints/canvases_sections.rb +27 -0
  216. data/lib/slack/web/api/endpoints/chat.rb +172 -87
  217. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
  218. data/lib/slack/web/api/endpoints/conversations.rb +190 -64
  219. data/lib/slack/web/api/endpoints/conversations_canvases.rb +28 -0
  220. data/lib/slack/web/api/endpoints/conversations_externalInvitePermissions.rb +31 -0
  221. data/lib/slack/web/api/endpoints/conversations_requestSharedInvite.rb +73 -0
  222. data/lib/slack/web/api/endpoints/dialog.rb +6 -10
  223. data/lib/slack/web/api/endpoints/dnd.rb +11 -5
  224. data/lib/slack/web/api/endpoints/emoji.rb +3 -0
  225. data/lib/slack/web/api/endpoints/files.rb +85 -36
  226. data/lib/slack/web/api/endpoints/files_comments.rb +4 -36
  227. data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
  228. data/lib/slack/web/api/endpoints/functions.rb +43 -0
  229. data/lib/slack/web/api/endpoints/functions_distributions_permissions.rb +84 -0
  230. data/lib/slack/web/api/endpoints/functions_workflows_steps.rb +30 -0
  231. data/lib/slack/web/api/endpoints/functions_workflows_steps_responses.rb +30 -0
  232. data/lib/slack/web/api/endpoints/migration.rb +6 -3
  233. data/lib/slack/web/api/endpoints/oauth.rb +10 -32
  234. data/lib/slack/web/api/endpoints/oauth_v2.rb +48 -0
  235. data/lib/slack/web/api/endpoints/openid_connect.rb +42 -0
  236. data/lib/slack/web/api/endpoints/pins.rb +11 -18
  237. data/lib/slack/web/api/endpoints/reactions.rb +31 -20
  238. data/lib/slack/web/api/endpoints/reminders.rb +25 -12
  239. data/lib/slack/web/api/endpoints/rtm.rb +4 -22
  240. data/lib/slack/web/api/endpoints/search.rb +33 -18
  241. data/lib/slack/web/api/endpoints/stars.rb +23 -10
  242. data/lib/slack/web/api/endpoints/team.rb +38 -7
  243. data/lib/slack/web/api/endpoints/team_billing.rb +21 -0
  244. data/lib/slack/web/api/endpoints/team_externalTeams.rb +53 -0
  245. data/lib/slack/web/api/endpoints/team_preferences.rb +21 -0
  246. data/lib/slack/web/api/endpoints/team_profile.rb +2 -1
  247. data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
  248. data/lib/slack/web/api/endpoints/usergroups.rb +44 -25
  249. data/lib/slack/web/api/endpoints/usergroups_users.rb +23 -14
  250. data/lib/slack/web/api/endpoints/users.rb +57 -18
  251. data/lib/slack/web/api/endpoints/users_admin.rb +5 -2
  252. data/lib/slack/web/api/endpoints/users_discoverableContacts.rb +24 -0
  253. data/lib/slack/web/api/endpoints/users_prefs.rb +2 -0
  254. data/lib/slack/web/api/endpoints/users_profile.rb +11 -9
  255. data/lib/slack/web/api/endpoints/views.rb +86 -0
  256. data/lib/slack/web/api/endpoints/workflows.rb +63 -0
  257. data/lib/slack/web/api/endpoints/workflows_triggers_permissions.rb +87 -0
  258. data/lib/slack/web/api/endpoints.rb +136 -12
  259. data/lib/slack/web/api/error.rb +1 -0
  260. data/lib/slack/web/api/errors/server_error.rb +37 -0
  261. data/lib/slack/web/api/errors/slack_error.rb +14 -1
  262. data/lib/slack/web/api/errors/too_many_requests_error.rb +2 -4
  263. data/lib/slack/web/api/errors.rb +1396 -0
  264. data/lib/slack/web/api/helpers/files.rb +97 -0
  265. data/lib/slack/web/api/helpers.rb +13 -0
  266. data/lib/slack/web/api/mixins/conversations.id.rb +47 -0
  267. data/lib/slack/web/api/mixins/ids.id.rb +4 -3
  268. data/lib/slack/web/api/mixins/users.id.rb +18 -4
  269. data/lib/slack/web/api/mixins/users.search.rb +3 -1
  270. data/lib/slack/web/api/mixins.rb +2 -2
  271. data/lib/slack/web/api/options.rb +26 -0
  272. data/lib/slack/web/api/patches/.gitkeep +0 -0
  273. data/lib/slack/web/api/templates/command.erb +19 -12
  274. data/lib/slack/web/api/templates/endpoints.erb +2 -2
  275. data/lib/slack/web/api/templates/errors.erb +20 -0
  276. data/lib/slack/web/api/templates/method.erb +23 -3
  277. data/lib/slack/web/api/templates/method_spec.erb +40 -3
  278. data/lib/slack/web/client.rb +4 -1
  279. data/lib/slack/web/config.rb +9 -2
  280. data/lib/slack/web/faraday/connection.rb +11 -20
  281. data/lib/slack/web/faraday/options.rb +24 -0
  282. data/lib/slack/web/faraday/request.rb +6 -1
  283. data/lib/slack/web/faraday/response/raise_error.rb +14 -8
  284. data/lib/slack/web/faraday/response/wrap_error.rb +24 -0
  285. data/lib/slack/web/pagination/cursor.rb +7 -7
  286. data/lib/slack-ruby-client.rb +18 -6
  287. data/lib/slack.rb +1 -0
  288. data/lib/slack_ruby_client.rb +1 -0
  289. data/lib/tasks/git.rake +1 -0
  290. data/lib/tasks/real_time.rake +51 -21
  291. data/lib/tasks/update.rake +1 -0
  292. data/lib/tasks/web.rake +43 -17
  293. data/slack-ruby-client.gemspec +10 -14
  294. metadata +191 -307
  295. data/.travis.yml +0 -30
  296. data/bin/commands/apps_permissions.rb +0 -22
  297. data/bin/commands/channels.rb +0 -175
  298. data/bin/commands/groups.rb +0 -172
  299. data/bin/commands/im.rb +0 -67
  300. data/bin/commands/mpim.rb +0 -63
  301. data/bin/commands.rb +0 -33
  302. data/examples/hi_real_time/hi.gif +0 -0
  303. data/examples/hi_real_time/hi.rb +0 -37
  304. data/examples/hi_real_time_async_celluloid/Gemfile +0 -6
  305. data/examples/hi_real_time_async_celluloid/hi.rb +0 -36
  306. data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
  307. data/lib/slack/real_time/concurrency/celluloid.rb +0 -117
  308. data/lib/slack/real_time/concurrency/eventmachine.rb +0 -60
  309. data/lib/slack/web/api/endpoints/apps_permissions.rb +0 -35
  310. data/lib/slack/web/api/endpoints/channels.rb +0 -265
  311. data/lib/slack/web/api/endpoints/groups.rb +0 -255
  312. data/lib/slack/web/api/endpoints/im.rb +0 -113
  313. data/lib/slack/web/api/endpoints/mpim.rb +0 -98
  314. data/lib/slack/web/api/endpoints/presence.rb +0 -23
  315. data/lib/slack/web/api/mixins/channels.id.json +0 -20
  316. data/lib/slack/web/api/mixins/channels.id.rb +0 -26
  317. data/lib/slack/web/api/mixins/groups.id.json +0 -20
  318. data/lib/slack/web/api/mixins/groups.id.rb +0 -26
  319. data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
  320. data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
  321. data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -21
  322. data/lib/slack/web/api/patches/chat.4.postEphemeral-attachments-support.patch +0 -17
  323. data/lib/slack/web/api/patches/dialog.1.open-json-support.patch +0 -17
  324. data/lib/slack/web/api/templates/commands.erb +0 -5
  325. data/screenshots/register-bot.png +0 -0
  326. data/spec/fixtures/slack/web/429_error.yml +0 -85
  327. data/spec/fixtures/slack/web/auth_test_error.yml +0 -48
  328. data/spec/fixtures/slack/web/auth_test_success.yml +0 -57
  329. data/spec/fixtures/slack/web/channels_info.yml +0 -46
  330. data/spec/fixtures/slack/web/groups_info.yml +0 -43
  331. data/spec/fixtures/slack/web/paginated_users_list.yml +0 -181
  332. data/spec/fixtures/slack/web/rtm_connect.yml +0 -70
  333. data/spec/fixtures/slack/web/rtm_start.yml +0 -104
  334. data/spec/fixtures/slack/web/users_info.yml +0 -130
  335. data/spec/fixtures/slack/web/users_list.yml +0 -72
  336. data/spec/integration/integration_spec.rb +0 -139
  337. data/spec/slack/config_spec.rb +0 -14
  338. data/spec/slack/messages/formatting_spec.rb +0 -43
  339. data/spec/slack/real_time/api/message_spec.rb +0 -15
  340. data/spec/slack/real_time/api/ping_spec.rb +0 -15
  341. data/spec/slack/real_time/api/typing_spec.rb +0 -15
  342. data/spec/slack/real_time/client_spec.rb +0 -425
  343. data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -62
  344. data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -47
  345. data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +0 -19
  346. data/spec/slack/real_time/event_handlers/bot_spec.rb +0 -44
  347. data/spec/slack/real_time/event_handlers/channel_spec.rb +0 -116
  348. data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +0 -15
  349. data/spec/slack/real_time/event_handlers/group_spec.rb +0 -90
  350. data/spec/slack/real_time/event_handlers/im_spec.rb +0 -47
  351. data/spec/slack/real_time/event_handlers/team_spec.rb +0 -62
  352. data/spec/slack/real_time/event_handlers/user_spec.rb +0 -63
  353. data/spec/slack/real_time/rtm_connect_spec.rb +0 -13
  354. data/spec/slack/real_time/rtm_start_spec.rb +0 -13
  355. data/spec/slack/real_time/store_spec.rb +0 -11
  356. data/spec/slack/slack_spec.rb +0 -58
  357. data/spec/slack/version_spec.rb +0 -7
  358. data/spec/slack/web/api/endpoints/api_spec.rb +0 -7
  359. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +0 -15
  360. data/spec/slack/web/api/endpoints/bots_spec.rb +0 -7
  361. data/spec/slack/web/api/endpoints/conversations_spec.rb +0 -100
  362. data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +0 -25
  363. data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -11
  364. data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +0 -105
  365. data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +0 -28
  366. data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -11
  367. data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +0 -33
  368. data/spec/slack/web/api/endpoints/dnd_spec.rb +0 -12
  369. data/spec/slack/web/api/endpoints/emoji_spec.rb +0 -7
  370. data/spec/slack/web/api/endpoints/files_comments_spec.rb +0 -34
  371. data/spec/slack/web/api/endpoints/files_spec.rb +0 -43
  372. data/spec/slack/web/api/endpoints/im_spec.rb +0 -38
  373. data/spec/slack/web/api/endpoints/migration_spec.rb +0 -12
  374. data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -38
  375. data/spec/slack/web/api/endpoints/oauth_spec.rb +0 -29
  376. data/spec/slack/web/api/endpoints/pins_spec.rb +0 -22
  377. data/spec/slack/web/api/endpoints/reactions_spec.rb +0 -17
  378. data/spec/slack/web/api/endpoints/reminders_spec.rb +0 -30
  379. data/spec/slack/web/api/endpoints/rtm_spec.rb +0 -7
  380. data/spec/slack/web/api/endpoints/search_spec.rb +0 -22
  381. data/spec/slack/web/api/endpoints/stars_spec.rb +0 -7
  382. data/spec/slack/web/api/endpoints/team_profile_spec.rb +0 -7
  383. data/spec/slack/web/api/endpoints/team_spec.rb +0 -7
  384. data/spec/slack/web/api/endpoints/usergroups_spec.rb +0 -27
  385. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +0 -20
  386. data/spec/slack/web/api/endpoints/users_admin_spec.rb +0 -17
  387. data/spec/slack/web/api/endpoints/users_prefs_spec.rb +0 -7
  388. data/spec/slack/web/api/endpoints/users_profile_spec.rb +0 -7
  389. data/spec/slack/web/api/error_spec.rb +0 -14
  390. data/spec/slack/web/api/errors/slack_error_spec.rb +0 -14
  391. data/spec/slack/web/api/mixins/channels_spec.rb +0 -31
  392. data/spec/slack/web/api/mixins/groups_spec.rb +0 -31
  393. data/spec/slack/web/api/mixins/users_spec.rb +0 -39
  394. data/spec/slack/web/api/pagination/cursor_spec.rb +0 -70
  395. data/spec/slack/web/client_spec.rb +0 -174
  396. data/spec/spec_helper.rb +0 -14
  397. data/spec/support/queue_with_timeout.rb +0 -34
  398. data/spec/support/real_time/concurrency/mock.rb +0 -30
  399. data/spec/support/real_time/connected_client.rb +0 -21
  400. data/spec/support/real_time/event.rb +0 -11
  401. data/spec/support/token.rb +0 -10
  402. data/spec/support/vcr.rb +0 -9
  403. /data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Procfile +0 -0
@@ -0,0 +1,181 @@
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 AppsDatastore
9
+ #
10
+ # Delete items from a datastore in bulk
11
+ #
12
+ # @option options [string] :datastore
13
+ # name of the datastore.
14
+ # @option options [array] :ids
15
+ # IDs of items to be deleted.
16
+ # @option options [Object] :app_id
17
+ # .
18
+ # @see https://api.slack.com/methods/apps.datastore.bulkDelete
19
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.datastore/apps.datastore.bulkDelete.json
20
+ def apps_datastore_bulkDelete(options = {})
21
+ raise ArgumentError, 'Required arguments :datastore missing' if options[:datastore].nil?
22
+ raise ArgumentError, 'Required arguments :ids missing' if options[:ids].nil?
23
+ post('apps.datastore.bulkDelete', options)
24
+ end
25
+
26
+ #
27
+ # Get items from a datastore in bulk
28
+ #
29
+ # @option options [string] :datastore
30
+ # name of the datastore.
31
+ # @option options [array] :ids
32
+ # items' ids.
33
+ # @option options [Object] :app_id
34
+ # .
35
+ # @see https://api.slack.com/methods/apps.datastore.bulkGet
36
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.datastore/apps.datastore.bulkGet.json
37
+ def apps_datastore_bulkGet(options = {})
38
+ raise ArgumentError, 'Required arguments :datastore missing' if options[:datastore].nil?
39
+ raise ArgumentError, 'Required arguments :ids missing' if options[:ids].nil?
40
+ post('apps.datastore.bulkGet', options)
41
+ end
42
+
43
+ #
44
+ # Creates or replaces existing items in bulk
45
+ #
46
+ # @option options [string] :datastore
47
+ # name of the datastore.
48
+ # @option options [array] :items
49
+ # attribute names and values of the items; limit of 25.
50
+ # @option options [Object] :app_id
51
+ # .
52
+ # @see https://api.slack.com/methods/apps.datastore.bulkPut
53
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.datastore/apps.datastore.bulkPut.json
54
+ def apps_datastore_bulkPut(options = {})
55
+ raise ArgumentError, 'Required arguments :datastore missing' if options[:datastore].nil?
56
+ raise ArgumentError, 'Required arguments :items missing' if options[:items].nil?
57
+ post('apps.datastore.bulkPut', options)
58
+ end
59
+
60
+ #
61
+ # Count the number of items in a datastore that match a query
62
+ #
63
+ # @option options [string] :datastore
64
+ # Name of the datastore.
65
+ # @option options [Object] :app_id
66
+ # Required if calling with user token.
67
+ # @option options [string] :expression
68
+ # A query filter expression https://api.slack.com/future/datastores.
69
+ # @option options [object] :expression_attributes
70
+ # A map of attributes referenced in expression.
71
+ # @option options [object] :expression_values
72
+ # A map of values referenced in expression.
73
+ # @see https://api.slack.com/methods/apps.datastore.count
74
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.datastore/apps.datastore.count.json
75
+ def apps_datastore_count(options = {})
76
+ raise ArgumentError, 'Required arguments :datastore missing' if options[:datastore].nil?
77
+ post('apps.datastore.count', options)
78
+ end
79
+
80
+ #
81
+ # Delete an item from a datastore
82
+ #
83
+ # @option options [string] :datastore
84
+ # name of the datastore.
85
+ # @option options [string] :id
86
+ # item id.
87
+ # @option options [Object] :app_id
88
+ # .
89
+ # @see https://api.slack.com/methods/apps.datastore.delete
90
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.datastore/apps.datastore.delete.json
91
+ def apps_datastore_delete(options = {})
92
+ raise ArgumentError, 'Required arguments :datastore missing' if options[:datastore].nil?
93
+ raise ArgumentError, 'Required arguments :id missing' if options[:id].nil?
94
+ post('apps.datastore.delete', options)
95
+ end
96
+
97
+ #
98
+ # Get an item from a datastore
99
+ #
100
+ # @option options [string] :datastore
101
+ # name of the datastore.
102
+ # @option options [string] :id
103
+ # item id.
104
+ # @option options [Object] :app_id
105
+ # .
106
+ # @see https://api.slack.com/methods/apps.datastore.get
107
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.datastore/apps.datastore.get.json
108
+ def apps_datastore_get(options = {})
109
+ raise ArgumentError, 'Required arguments :datastore missing' if options[:datastore].nil?
110
+ raise ArgumentError, 'Required arguments :id missing' if options[:id].nil?
111
+ post('apps.datastore.get', options)
112
+ end
113
+
114
+ #
115
+ # Creates a new item, or replaces an old item with a new item.
116
+ #
117
+ # @option options [string] :datastore
118
+ # name of the datastore.
119
+ # @option options [object] :item
120
+ # attribute names and values of the item.
121
+ # @option options [Object] :app_id
122
+ # .
123
+ # @see https://api.slack.com/methods/apps.datastore.put
124
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.datastore/apps.datastore.put.json
125
+ def apps_datastore_put(options = {})
126
+ raise ArgumentError, 'Required arguments :datastore missing' if options[:datastore].nil?
127
+ raise ArgumentError, 'Required arguments :item missing' if options[:item].nil?
128
+ post('apps.datastore.put', options)
129
+ end
130
+
131
+ #
132
+ # Query a datastore for items
133
+ #
134
+ # @option options [string] :datastore
135
+ # Name of the datastore.
136
+ # @option options [Object] :app_id
137
+ # Required if calling with user token.
138
+ # @option options [string] :cursor
139
+ # Set cursor to next_cursor returned by the previous call to list items in the next page.
140
+ # @option options [string] :expression
141
+ # A query filter expression https://api.slack.com/future/datastores.
142
+ # @option options [object] :expression_attributes
143
+ # A map of attributes referenced in expression.
144
+ # @option options [object] :expression_values
145
+ # A map of values referenced in expression.
146
+ # @option options [integer] :limit
147
+ # The maximum number of items to evaluate for a given request (not necessarily the number of matching items). If the given request dataset size exceeds 1 MB before reaching the limit, the returned item count will likely be less than the limit. In any case where there are more items available beyond an imposed limit, a next_cursor value will be provided for use in subsequent requests.
148
+ # @see https://api.slack.com/methods/apps.datastore.query
149
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.datastore/apps.datastore.query.json
150
+ def apps_datastore_query(options = {})
151
+ raise ArgumentError, 'Required arguments :datastore missing' if options[:datastore].nil?
152
+ if block_given?
153
+ Pagination::Cursor.new(self, :apps_datastore_query, options).each do |page|
154
+ yield page
155
+ end
156
+ else
157
+ post('apps.datastore.query', options)
158
+ end
159
+ end
160
+
161
+ #
162
+ # Edits an existing item's attributes, or adds a new item if it does not already exist.
163
+ #
164
+ # @option options [string] :datastore
165
+ # name of the datastore.
166
+ # @option options [object] :item
167
+ # attribute names and values to be updated.
168
+ # @option options [Object] :app_id
169
+ # .
170
+ # @see https://api.slack.com/methods/apps.datastore.update
171
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.datastore/apps.datastore.update.json
172
+ def apps_datastore_update(options = {})
173
+ raise ArgumentError, 'Required arguments :datastore missing' if options[:datastore].nil?
174
+ raise ArgumentError, 'Required arguments :item missing' if options[:item].nil?
175
+ post('apps.datastore.update', options)
176
+ end
177
+ end
178
+ end
179
+ end
180
+ end
181
+ end
@@ -0,0 +1,34 @@
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 AppsEventAuthorizations
9
+ #
10
+ # Get a list of authorizations for the given event context. Each authorization represents an app installation that the event is visible to.
11
+ #
12
+ # @option options [string] :event_context
13
+ # .
14
+ # @option options [string] :cursor
15
+ # .
16
+ # @option options [integer] :limit
17
+ # .
18
+ # @see https://api.slack.com/methods/apps.event.authorizations.list
19
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.event.authorizations/apps.event.authorizations.list.json
20
+ def apps_event_authorizations_list(options = {})
21
+ raise ArgumentError, 'Required arguments :event_context missing' if options[:event_context].nil?
22
+ if block_given?
23
+ Pagination::Cursor.new(self, :apps_event_authorizations_list, options).each do |page|
24
+ yield page
25
+ end
26
+ else
27
+ post('apps.event.authorizations.list', options)
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,79 @@
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 AppsManifest
9
+ #
10
+ # Create an app from an app manifest.
11
+ #
12
+ # @option options [manifest object as string] :manifest
13
+ # A JSON app manifest encoded as a string. This manifest must use a valid app manifest schema - read our guide to creating one.
14
+ # @see https://api.slack.com/methods/apps.manifest.create
15
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.manifest/apps.manifest.create.json
16
+ def apps_manifest_create(options = {})
17
+ raise ArgumentError, 'Required arguments :manifest missing' if options[:manifest].nil?
18
+ options = encode_options_as_json(options, %i[manifest])
19
+ post('apps.manifest.create', options)
20
+ end
21
+
22
+ #
23
+ # Permanently deletes an app created through app manifests
24
+ #
25
+ # @option options [Object] :app_id
26
+ # The ID of the app you want to delete.
27
+ # @see https://api.slack.com/methods/apps.manifest.delete
28
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.manifest/apps.manifest.delete.json
29
+ def apps_manifest_delete(options = {})
30
+ raise ArgumentError, 'Required arguments :app_id missing' if options[:app_id].nil?
31
+ post('apps.manifest.delete', options)
32
+ end
33
+
34
+ #
35
+ # Export an app manifest from an existing app
36
+ #
37
+ # @option options [Object] :app_id
38
+ # The ID of the app whose configuration you want to export as a manifest.
39
+ # @see https://api.slack.com/methods/apps.manifest.export
40
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.manifest/apps.manifest.export.json
41
+ def apps_manifest_export(options = {})
42
+ raise ArgumentError, 'Required arguments :app_id missing' if options[:app_id].nil?
43
+ post('apps.manifest.export', options)
44
+ end
45
+
46
+ #
47
+ # Update an app from an app manifest
48
+ #
49
+ # @option options [Object] :app_id
50
+ # The ID of the app whose configuration you want to update.
51
+ # @option options [manifest object as string] :manifest
52
+ # A JSON app manifest encoded as a string. This manifest must use a valid app manifest schema - read our guide to creating one. As this method entirely replaces any previous configuration, manifest must contain both unmodified and modified fields.
53
+ # @see https://api.slack.com/methods/apps.manifest.update
54
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.manifest/apps.manifest.update.json
55
+ def apps_manifest_update(options = {})
56
+ raise ArgumentError, 'Required arguments :app_id missing' if options[:app_id].nil?
57
+ raise ArgumentError, 'Required arguments :manifest missing' if options[:manifest].nil?
58
+ options = encode_options_as_json(options, %i[manifest])
59
+ post('apps.manifest.update', options)
60
+ end
61
+
62
+ #
63
+ # Validate an app manifest
64
+ #
65
+ # @option options [manifest object as string] :manifest
66
+ # The manifest to be validated. Will be validated against the app manifest schema - read our guide.
67
+ # @option options [Object] :app_id
68
+ # The ID of the app whose configuration you want to validate.
69
+ # @see https://api.slack.com/methods/apps.manifest.validate
70
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/apps.manifest/apps.manifest.validate.json
71
+ def apps_manifest_validate(options = {})
72
+ raise ArgumentError, 'Required arguments :manifest missing' if options[:manifest].nil?
73
+ post('apps.manifest.validate', options)
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,44 @@
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 AssistantSearch
9
+ #
10
+ # Searches messages across your Slack organization—perfect for broad, specific, and real-time data retrieval.
11
+ #
12
+ # @option options [string] :query
13
+ # User prompt or search query.
14
+ # @option options [string] :action_token
15
+ # Send action_token as received in a message event.
16
+ # @option options [array] :channel_types
17
+ # Mix and match channel types by providing a comma-separated list of any combination of public_channel, private_channel, mpim, im.
18
+ # @option options [array] :content_types
19
+ # Content types to include, a comma-separated list of any combination of messages, files.
20
+ # @option options [Object] :context_channel_id
21
+ # Context channel ID to support scoping the search when applicable.
22
+ # @option options [string] :cursor
23
+ # The cursor returned by the API. Leave this blank for the first request, and use this to get the next page of results.
24
+ # @option options [boolean] :include_bots
25
+ # If you want the results to include bots.
26
+ # @option options [integer] :limit
27
+ # Number of results to return, up to a max of 20. Defaults to 20.
28
+ # @see https://api.slack.com/methods/assistant.search.context
29
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/assistant.search/assistant.search.context.json
30
+ def assistant_search_context(options = {})
31
+ raise ArgumentError, 'Required arguments :query missing' if options[:query].nil?
32
+ if block_given?
33
+ Pagination::Cursor.new(self, :assistant_search_context, options).each do |page|
34
+ yield page
35
+ end
36
+ else
37
+ post('assistant.search.context', options)
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,68 @@
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 AssistantThreads
9
+ #
10
+ # Set the status for an AI assistant thread.
11
+ #
12
+ # @option options [Object] :channel_id
13
+ # Channel ID containing the assistant thread.
14
+ # @option options [string] :status
15
+ # Status of the specified bot user, e.g. 'is thinking...'.
16
+ # @option options [string] :thread_ts
17
+ # Message timestamp of the thread of where to set the status.
18
+ # @see https://api.slack.com/methods/assistant.threads.setStatus
19
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/assistant.threads/assistant.threads.setStatus.json
20
+ def assistant_threads_setStatus(options = {})
21
+ raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil?
22
+ raise ArgumentError, 'Required arguments :status missing' if options[:status].nil?
23
+ raise ArgumentError, 'Required arguments :thread_ts missing' if options[:thread_ts].nil?
24
+ post('assistant.threads.setStatus', options)
25
+ end
26
+
27
+ #
28
+ # Set suggested prompts for the given assistant thread
29
+ #
30
+ # @option options [Object] :channel_id
31
+ # Channel ID containing the assistant thread.
32
+ # @option options [Object] :prompts
33
+ # Each prompt should be supplied with its title and message attribute.
34
+ # @option options [string] :thread_ts
35
+ # Message timestamp of the thread to set suggested prompts for.
36
+ # @option options [string] :title
37
+ # Title for the list of provided prompts. For example: Suggested Prompts, Related Questions.
38
+ # @see https://api.slack.com/methods/assistant.threads.setSuggestedPrompts
39
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/assistant.threads/assistant.threads.setSuggestedPrompts.json
40
+ def assistant_threads_setSuggestedPrompts(options = {})
41
+ raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil?
42
+ raise ArgumentError, 'Required arguments :prompts missing' if options[:prompts].nil?
43
+ raise ArgumentError, 'Required arguments :thread_ts missing' if options[:thread_ts].nil?
44
+ post('assistant.threads.setSuggestedPrompts', options)
45
+ end
46
+
47
+ #
48
+ # Set the title for the given assistant thread
49
+ #
50
+ # @option options [Object] :channel_id
51
+ # Channel ID containing the assistant thread.
52
+ # @option options [string] :thread_ts
53
+ # Message timestamp of the thread to set suggested prompts for.
54
+ # @option options [string] :title
55
+ # The title to use for the thread.
56
+ # @see https://api.slack.com/methods/assistant.threads.setTitle
57
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/assistant.threads/assistant.threads.setTitle.json
58
+ def assistant_threads_setTitle(options = {})
59
+ raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil?
60
+ raise ArgumentError, 'Required arguments :thread_ts missing' if options[:thread_ts].nil?
61
+ raise ArgumentError, 'Required arguments :title missing' if options[:title].nil?
62
+ post('assistant.threads.setTitle', options)
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # This file was auto-generated by lib/tasks/web.rake
2
3
 
3
4
  module Slack
@@ -8,7 +9,7 @@ module Slack
8
9
  #
9
10
  # Revokes a token.
10
11
  #
11
- # @option options [Object] :test
12
+ # @option options [boolean] :test
12
13
  # Setting this parameter to 1 triggers a testing mode where the specified token will not actually be revoked.
13
14
  # @see https://api.slack.com/methods/auth.revoke
14
15
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/auth/auth.revoke.json
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+ # This file was auto-generated by lib/tasks/web.rake
3
+
4
+ module Slack
5
+ module Web
6
+ module Api
7
+ module Endpoints
8
+ module AuthTeams
9
+ #
10
+ # Obtain a full list of workspaces your org-wide app has been approved for.
11
+ #
12
+ # @option options [string] :cursor
13
+ # Set cursor to next_cursor returned by the previous call to list items in the next page.
14
+ # @option options [boolean] :include_icon
15
+ # Whether to return icon paths for each workspace. An icon path represents a URI pointing to the image signifying the workspace.
16
+ # @option options [integer] :limit
17
+ # The maximum number of workspaces to return. Must be a positive integer no larger than 1000.
18
+ # @see https://api.slack.com/methods/auth.teams.list
19
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/auth.teams/auth.teams.list.json
20
+ def auth_teams_list(options = {})
21
+ if block_given?
22
+ Pagination::Cursor.new(self, :auth_teams_list, options).each do |page|
23
+ yield page
24
+ end
25
+ else
26
+ post('auth.teams.list', options)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,90 @@
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 Bookmarks
9
+ #
10
+ # Add bookmark to a channel.
11
+ #
12
+ # @option options [string] :channel_id
13
+ # Channel to add bookmark in.
14
+ # @option options [string] :title
15
+ # Title for the bookmark.
16
+ # @option options [string] :type
17
+ # Type of the bookmark i.e link.
18
+ # @option options [enum] :access_level
19
+ # The level that we are setting the file's permission to (read or write).
20
+ # @option options [string] :emoji
21
+ # Emoji tag to apply to the link.
22
+ # @option options [string] :entity_id
23
+ # ID of the entity being bookmarked. Only applies to message and file types.
24
+ # @option options [string] :link
25
+ # Link to bookmark.
26
+ # @option options [string] :parent_id
27
+ # Id of this bookmark's parent.
28
+ # @see https://api.slack.com/methods/bookmarks.add
29
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/bookmarks/bookmarks.add.json
30
+ def bookmarks_add(options = {})
31
+ raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil?
32
+ raise ArgumentError, 'Required arguments :title missing' if options[:title].nil?
33
+ raise ArgumentError, 'Required arguments :type missing' if options[:type].nil?
34
+ post('bookmarks.add', options)
35
+ end
36
+
37
+ #
38
+ # Edit bookmark.
39
+ #
40
+ # @option options [string] :bookmark_id
41
+ # Bookmark to update.
42
+ # @option options [string] :channel_id
43
+ # Channel to update bookmark in.
44
+ # @option options [string] :emoji
45
+ # Emoji tag to apply to the link.
46
+ # @option options [string] :link
47
+ # Link to bookmark.
48
+ # @option options [string] :title
49
+ # Title for the bookmark.
50
+ # @see https://api.slack.com/methods/bookmarks.edit
51
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/bookmarks/bookmarks.edit.json
52
+ def bookmarks_edit(options = {})
53
+ raise ArgumentError, 'Required arguments :bookmark_id missing' if options[:bookmark_id].nil?
54
+ raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil?
55
+ post('bookmarks.edit', options)
56
+ end
57
+
58
+ #
59
+ # List bookmark for the channel.
60
+ #
61
+ # @option options [string] :channel_id
62
+ # Channel to list bookmarks in.
63
+ # @see https://api.slack.com/methods/bookmarks.list
64
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/bookmarks/bookmarks.list.json
65
+ def bookmarks_list(options = {})
66
+ raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil?
67
+ post('bookmarks.list', options)
68
+ end
69
+
70
+ #
71
+ # Remove bookmark from the channel.
72
+ #
73
+ # @option options [string] :bookmark_id
74
+ # Bookmark to remove.
75
+ # @option options [string] :channel_id
76
+ # Channel to remove bookmark.
77
+ # @option options [string] :quip_section_id
78
+ # Quip section ID to unbookmark.
79
+ # @see https://api.slack.com/methods/bookmarks.remove
80
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/bookmarks/bookmarks.remove.json
81
+ def bookmarks_remove(options = {})
82
+ raise ArgumentError, 'Required arguments :bookmark_id missing' if options[:bookmark_id].nil?
83
+ raise ArgumentError, 'Required arguments :channel_id missing' if options[:channel_id].nil?
84
+ post('bookmarks.remove', options)
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
90
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # This file was auto-generated by lib/tasks/web.rake
2
3
 
3
4
  module Slack
@@ -8,8 +9,10 @@ module Slack
8
9
  #
9
10
  # Gets information about a bot user.
10
11
  #
11
- # @option options [Object] :bot
12
+ # @option options [user] :bot
12
13
  # Bot user to get info on.
14
+ # @option options [string] :team_id
15
+ # encoded team id or enterprise id where the bot exists, required if org token is used.
13
16
  # @see https://api.slack.com/methods/bots.info
14
17
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/bots/bots.info.json
15
18
  def bots_info(options = {})
@@ -0,0 +1,83 @@
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 Calls
9
+ #
10
+ # Registers a new Call.
11
+ #
12
+ # @option options [string] :external_unique_id
13
+ # An ID supplied by the 3rd-party Call provider. It must be unique across all Calls from that service.
14
+ # @option options [string] :join_url
15
+ # The URL required for a client to join the Call.
16
+ # @option options [string] :created_by
17
+ # The valid Slack user ID of the user who created this Call. When this method is called with a user token, the created_by field is optional and defaults to the authed user of the token. Otherwise, the field is required.
18
+ # @option options [integer] :date_start
19
+ # Unix timestamp of the call start time.
20
+ # @option options [string] :desktop_app_join_url
21
+ # When supplied, available Slack clients will attempt to directly launch the 3rd-party Call with this URL.
22
+ # @option options [string] :external_display_id
23
+ # An optional, human-readable ID supplied by the 3rd-party Call provider. If supplied, this ID will be displayed in the Call object.
24
+ # @option options [string] :title
25
+ # The name of the Call.
26
+ # @option options [array] :users
27
+ # The list of users to register as participants in the Call. Read more on how to specify users here.
28
+ # @see https://api.slack.com/methods/calls.add
29
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/calls/calls.add.json
30
+ def calls_add(options = {})
31
+ raise ArgumentError, 'Required arguments :external_unique_id missing' if options[:external_unique_id].nil?
32
+ raise ArgumentError, 'Required arguments :join_url missing' if options[:join_url].nil?
33
+ post('calls.add', options)
34
+ end
35
+
36
+ #
37
+ # Ends a Call.
38
+ #
39
+ # @option options [string] :id
40
+ # id returned when registering the call using the calls.add method.
41
+ # @option options [integer] :duration
42
+ # Call duration in seconds.
43
+ # @see https://api.slack.com/methods/calls.end
44
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/calls/calls.end.json
45
+ def calls_end(options = {})
46
+ raise ArgumentError, 'Required arguments :id missing' if options[:id].nil?
47
+ post('calls.end', options)
48
+ end
49
+
50
+ #
51
+ # Returns information about a Call.
52
+ #
53
+ # @option options [string] :id
54
+ # id of the Call returned by the calls.add method.
55
+ # @see https://api.slack.com/methods/calls.info
56
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/calls/calls.info.json
57
+ def calls_info(options = {})
58
+ raise ArgumentError, 'Required arguments :id missing' if options[:id].nil?
59
+ post('calls.info', options)
60
+ end
61
+
62
+ #
63
+ # Updates information about a Call.
64
+ #
65
+ # @option options [string] :id
66
+ # id returned by the calls.add method.
67
+ # @option options [string] :desktop_app_join_url
68
+ # When supplied, available Slack clients will attempt to directly launch the 3rd-party Call with this URL.
69
+ # @option options [string] :join_url
70
+ # The URL required for a client to join the Call.
71
+ # @option options [string] :title
72
+ # The name of the Call.
73
+ # @see https://api.slack.com/methods/calls.update
74
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/calls/calls.update.json
75
+ def calls_update(options = {})
76
+ raise ArgumentError, 'Required arguments :id missing' if options[:id].nil?
77
+ post('calls.update', options)
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end