slack-ruby-client 0.14.2 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (322) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/.rubocop.yml +23 -7
  4. data/.rubocop_todo.yml +103 -43
  5. data/.travis.yml +0 -1
  6. data/CHANGELOG.md +39 -2
  7. data/CONTRIBUTING.md +24 -6
  8. data/Dangerfile +2 -1
  9. data/Gemfile +10 -3
  10. data/README.md +90 -30
  11. data/Rakefile +1 -0
  12. data/UPGRADING.md +16 -0
  13. data/bin/commands.rb +24 -0
  14. data/bin/commands/admin_apps.rb +27 -0
  15. data/bin/commands/admin_apps_approved.rb +17 -0
  16. data/bin/commands/admin_apps_requests.rb +16 -0
  17. data/bin/commands/admin_apps_restricted.rb +17 -0
  18. data/bin/commands/admin_conversations.rb +17 -0
  19. data/bin/commands/admin_conversations_restrictAccess.rb +37 -0
  20. data/bin/commands/admin_conversations_whitelist.rb +37 -0
  21. data/bin/commands/admin_emoji.rb +54 -0
  22. data/bin/commands/admin_inviteRequests.rb +36 -0
  23. data/bin/commands/admin_inviteRequests_approved.rb +16 -0
  24. data/bin/commands/admin_inviteRequests_denied.rb +16 -0
  25. data/bin/commands/admin_teams.rb +27 -0
  26. data/bin/commands/admin_teams_admins.rb +16 -0
  27. data/bin/commands/admin_teams_owners.rb +16 -0
  28. data/bin/commands/admin_teams_settings.rb +64 -0
  29. data/bin/commands/admin_usergroups.rb +48 -0
  30. data/bin/commands/admin_users.rb +97 -0
  31. data/bin/commands/admin_users_session.rb +16 -0
  32. data/bin/commands/api.rb +3 -2
  33. data/bin/commands/apps.rb +3 -2
  34. data/bin/commands/apps_permissions.rb +5 -4
  35. data/bin/commands/apps_permissions_resources.rb +3 -2
  36. data/bin/commands/apps_permissions_scopes.rb +3 -2
  37. data/bin/commands/apps_permissions_users.rb +5 -4
  38. data/bin/commands/auth.rb +5 -4
  39. data/bin/commands/bots.rb +3 -2
  40. data/bin/commands/calls.rb +52 -0
  41. data/bin/commands/calls_participants.rb +25 -0
  42. data/bin/commands/channels.rb +31 -30
  43. data/bin/commands/chat.rb +36 -32
  44. data/bin/commands/chat_scheduledMessages.rb +3 -2
  45. data/bin/commands/conversations.rb +36 -36
  46. data/bin/commands/dialog.rb +3 -2
  47. data/bin/commands/dnd.rb +9 -8
  48. data/bin/commands/emoji.rb +3 -2
  49. data/bin/commands/files.rb +14 -12
  50. data/bin/commands/files_comments.rb +3 -2
  51. data/bin/commands/files_remote.rb +78 -0
  52. data/bin/commands/groups.rb +33 -32
  53. data/bin/commands/im.rb +13 -12
  54. data/bin/commands/migration.rb +3 -2
  55. data/bin/commands/mpim.rb +11 -10
  56. data/bin/commands/oauth.rb +6 -5
  57. data/bin/commands/oauth_v2.rb +17 -0
  58. data/bin/commands/pins.rb +7 -8
  59. data/bin/commands/reactions.rb +10 -11
  60. data/bin/commands/reminders.rb +11 -10
  61. data/bin/commands/rtm.rb +5 -4
  62. data/bin/commands/search.rb +7 -6
  63. data/bin/commands/stars.rb +7 -6
  64. data/bin/commands/team.rb +10 -8
  65. data/bin/commands/team_profile.rb +3 -2
  66. data/bin/commands/usergroups.rb +11 -10
  67. data/bin/commands/usergroups_users.rb +5 -4
  68. data/bin/commands/users.rb +21 -20
  69. data/bin/commands/users_admin.rb +1 -0
  70. data/bin/commands/users_prefs.rb +1 -0
  71. data/bin/commands/users_profile.rb +5 -4
  72. data/bin/commands/views.rb +48 -0
  73. data/bin/slack +1 -2
  74. data/examples/hi_real_time/Gemfile +1 -0
  75. data/examples/hi_real_time/hi.rb +7 -3
  76. data/examples/hi_real_time_and_web/Gemfile +1 -0
  77. data/examples/hi_real_time_and_web/hi.rb +7 -3
  78. data/examples/hi_real_time_async_async/Gemfile +1 -0
  79. data/examples/hi_real_time_async_async/hi.rb +6 -2
  80. data/examples/hi_real_time_async_celluloid/Gemfile +1 -0
  81. data/examples/hi_real_time_async_celluloid/hi.rb +7 -3
  82. data/examples/hi_real_time_async_eventmachine/Gemfile +1 -0
  83. data/examples/hi_real_time_async_eventmachine/hi.rb +7 -3
  84. data/examples/hi_web/Gemfile +1 -0
  85. data/examples/hi_web/hi.rb +1 -0
  86. data/examples/new_ticket/Gemfile +1 -0
  87. data/examples/new_ticket/new_ticket.rb +1 -0
  88. data/lib/slack-ruby-client.rb +4 -4
  89. data/lib/slack.rb +1 -0
  90. data/lib/slack/config.rb +1 -0
  91. data/lib/slack/events/config.rb +1 -0
  92. data/lib/slack/events/request.rb +3 -1
  93. data/lib/slack/logger.rb +6 -5
  94. data/lib/slack/messages/formatting.rb +1 -0
  95. data/lib/slack/messages/message.rb +1 -4
  96. data/lib/slack/real_time/api/message.rb +3 -1
  97. data/lib/slack/real_time/api/message_id.rb +1 -0
  98. data/lib/slack/real_time/api/ping.rb +5 -2
  99. data/lib/slack/real_time/api/typing.rb +3 -1
  100. data/lib/slack/real_time/client.rb +46 -22
  101. data/lib/slack/real_time/concurrency.rb +1 -0
  102. data/lib/slack/real_time/concurrency/async.rb +18 -9
  103. data/lib/slack/real_time/concurrency/celluloid.rb +10 -4
  104. data/lib/slack/real_time/concurrency/eventmachine.rb +9 -6
  105. data/lib/slack/real_time/config.rb +6 -1
  106. data/lib/slack/real_time/models.rb +1 -0
  107. data/lib/slack/real_time/models/base.rb +1 -4
  108. data/lib/slack/real_time/models/bot.rb +1 -0
  109. data/lib/slack/real_time/models/channel.rb +1 -0
  110. data/lib/slack/real_time/models/group.rb +1 -0
  111. data/lib/slack/real_time/models/im.rb +1 -0
  112. data/lib/slack/real_time/models/team.rb +1 -0
  113. data/lib/slack/real_time/models/user.rb +1 -0
  114. data/lib/slack/real_time/socket.rb +16 -13
  115. data/lib/slack/real_time/stores.rb +1 -0
  116. data/lib/slack/real_time/stores/base.rb +4 -1
  117. data/lib/slack/real_time/stores/starter.rb +11 -0
  118. data/lib/slack/real_time/stores/store.rb +26 -25
  119. data/lib/slack/version.rb +2 -1
  120. data/lib/slack/web/api/endpoints.rb +48 -0
  121. data/lib/slack/web/api/endpoints/admin_apps.rb +42 -0
  122. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
  123. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +33 -0
  124. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
  125. data/lib/slack/web/api/endpoints/admin_conversations.rb +30 -0
  126. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
  127. data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +64 -0
  128. data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
  129. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
  130. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
  131. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
  132. data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
  133. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
  134. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
  135. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
  136. data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
  137. data/lib/slack/web/api/endpoints/admin_users.rb +163 -0
  138. data/lib/slack/web/api/endpoints/admin_users_session.rb +28 -0
  139. data/lib/slack/web/api/endpoints/api.rb +2 -1
  140. data/lib/slack/web/api/endpoints/apps.rb +2 -1
  141. data/lib/slack/web/api/endpoints/apps_permissions.rb +3 -2
  142. data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +2 -1
  143. data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +2 -1
  144. data/lib/slack/web/api/endpoints/apps_permissions_users.rb +3 -2
  145. data/lib/slack/web/api/endpoints/auth.rb +3 -2
  146. data/lib/slack/web/api/endpoints/bots.rb +2 -1
  147. data/lib/slack/web/api/endpoints/calls.rb +83 -0
  148. data/lib/slack/web/api/endpoints/calls_participants.rb +42 -0
  149. data/lib/slack/web/api/endpoints/channels.rb +44 -29
  150. data/lib/slack/web/api/endpoints/chat.rb +38 -31
  151. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +3 -2
  152. data/lib/slack/web/api/endpoints/conversations.rb +34 -35
  153. data/lib/slack/web/api/endpoints/dialog.rb +2 -1
  154. data/lib/slack/web/api/endpoints/dnd.rb +6 -4
  155. data/lib/slack/web/api/endpoints/emoji.rb +2 -1
  156. data/lib/slack/web/api/endpoints/files.rb +11 -8
  157. data/lib/slack/web/api/endpoints/files_comments.rb +2 -1
  158. data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
  159. data/lib/slack/web/api/endpoints/groups.rb +33 -18
  160. data/lib/slack/web/api/endpoints/im.rb +17 -12
  161. data/lib/slack/web/api/endpoints/migration.rb +2 -1
  162. data/lib/slack/web/api/endpoints/mpim.rb +16 -11
  163. data/lib/slack/web/api/endpoints/oauth.rb +4 -6
  164. data/lib/slack/web/api/endpoints/oauth_v2.rb +30 -0
  165. data/lib/slack/web/api/endpoints/pins.rb +8 -12
  166. data/lib/slack/web/api/endpoints/reactions.rb +12 -15
  167. data/lib/slack/web/api/endpoints/reminders.rb +6 -5
  168. data/lib/slack/web/api/endpoints/rtm.rb +3 -2
  169. data/lib/slack/web/api/endpoints/search.rb +4 -3
  170. data/lib/slack/web/api/endpoints/stars.rb +6 -7
  171. data/lib/slack/web/api/endpoints/team.rb +7 -5
  172. data/lib/slack/web/api/endpoints/team_profile.rb +2 -1
  173. data/lib/slack/web/api/endpoints/usergroups.rb +6 -5
  174. data/lib/slack/web/api/endpoints/usergroups_users.rb +3 -2
  175. data/lib/slack/web/api/endpoints/users.rb +11 -12
  176. data/lib/slack/web/api/endpoints/users_admin.rb +1 -0
  177. data/lib/slack/web/api/endpoints/users_prefs.rb +1 -0
  178. data/lib/slack/web/api/endpoints/users_profile.rb +3 -2
  179. data/lib/slack/web/api/endpoints/views.rb +97 -0
  180. data/lib/slack/web/api/error.rb +1 -0
  181. data/lib/slack/web/api/errors.rb +656 -0
  182. data/lib/slack/web/api/errors/slack_error.rb +14 -1
  183. data/lib/slack/web/api/errors/too_many_requests_error.rb +1 -0
  184. data/lib/slack/web/api/mixins.rb +2 -0
  185. data/lib/slack/web/api/mixins/channels.id.rb +1 -0
  186. data/lib/slack/web/api/mixins/conversations.id.rb +27 -0
  187. data/lib/slack/web/api/mixins/groups.id.rb +1 -0
  188. data/lib/slack/web/api/mixins/ids.id.rb +1 -0
  189. data/lib/slack/web/api/mixins/users.id.rb +1 -0
  190. data/lib/slack/web/api/mixins/users.search.rb +1 -0
  191. data/lib/slack/web/api/patches/{chat.6.block-kit-support.patch → chat.1.patch} +29 -26
  192. data/lib/slack/web/api/patches/views.1.view-json.patch +40 -0
  193. data/lib/slack/web/api/patches/views.1.views-published.patch +16 -0
  194. data/lib/slack/web/api/templates/command.erb +1 -0
  195. data/lib/slack/web/api/templates/commands.erb +1 -0
  196. data/lib/slack/web/api/templates/endpoints.erb +1 -0
  197. data/lib/slack/web/api/templates/errors.erb +20 -0
  198. data/lib/slack/web/api/templates/method.erb +5 -1
  199. data/lib/slack/web/api/templates/method_spec.erb +1 -0
  200. data/lib/slack/web/client.rb +2 -1
  201. data/lib/slack/web/config.rb +1 -0
  202. data/lib/slack/web/faraday/connection.rb +24 -20
  203. data/lib/slack/web/faraday/request.rb +1 -0
  204. data/lib/slack/web/faraday/response/raise_error.rb +10 -6
  205. data/lib/slack/web/pagination/cursor.rb +3 -2
  206. data/lib/slack_ruby_client.rb +1 -0
  207. data/lib/tasks/git.rake +1 -0
  208. data/lib/tasks/real_time.rake +13 -5
  209. data/lib/tasks/update.rake +1 -0
  210. data/lib/tasks/web.rake +27 -7
  211. data/screenshots/create-app.png +0 -0
  212. data/slack-ruby-client.gemspec +6 -3
  213. data/spec/fixtures/slack/web/channels_info.yml +108 -15
  214. data/spec/fixtures/slack/web/views_open_error.yml +76 -0
  215. data/spec/integration/integration_spec.rb +26 -23
  216. data/spec/slack/config_spec.rb +2 -0
  217. data/spec/slack/events/config_spec.rb +8 -4
  218. data/spec/slack/events/request_spec.rb +67 -37
  219. data/spec/slack/messages/formatting_spec.rb +25 -13
  220. data/spec/slack/real_time/api/message_spec.rb +6 -1
  221. data/spec/slack/real_time/api/ping_spec.rb +2 -0
  222. data/spec/slack/real_time/api/typing_spec.rb +5 -1
  223. data/spec/slack/real_time/client_spec.rb +178 -32
  224. data/spec/slack/real_time/concurrency/celluloid_spec.rb +11 -6
  225. data/spec/slack/real_time/concurrency/eventmachine_spec.rb +9 -1
  226. data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +2 -0
  227. data/spec/slack/real_time/event_handlers/bot_spec.rb +2 -1
  228. data/spec/slack/real_time/event_handlers/channel_spec.rb +9 -6
  229. data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +2 -1
  230. data/spec/slack/real_time/event_handlers/group_spec.rb +5 -4
  231. data/spec/slack/real_time/event_handlers/im_spec.rb +4 -3
  232. data/spec/slack/real_time/event_handlers/team_spec.rb +3 -1
  233. data/spec/slack/real_time/event_handlers/user_spec.rb +1 -0
  234. data/spec/slack/real_time/rtm_connect_spec.rb +1 -0
  235. data/spec/slack/real_time/rtm_start_spec.rb +1 -0
  236. data/spec/slack/real_time/store_spec.rb +2 -1
  237. data/spec/slack/slack_spec.rb +37 -5
  238. data/spec/slack/version_spec.rb +2 -1
  239. data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +8 -0
  240. data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +8 -0
  241. data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +8 -0
  242. data/spec/slack/web/api/endpoints/admin_apps_spec.rb +8 -0
  243. data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +32 -0
  244. data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +13 -0
  245. data/spec/slack/web/api/endpoints/admin_conversations_whitelist_spec.rb +32 -0
  246. data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +37 -0
  247. data/spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb +8 -0
  248. data/spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb +8 -0
  249. data/spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb +18 -0
  250. data/spec/slack/web/api/endpoints/admin_teams_admins_spec.rb +13 -0
  251. data/spec/slack/web/api/endpoints/admin_teams_owners_spec.rb +13 -0
  252. data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +53 -0
  253. data/spec/slack/web/api/endpoints/admin_teams_spec.rb +16 -0
  254. data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +37 -0
  255. data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +13 -0
  256. data/spec/slack/web/api/endpoints/admin_users_spec.rb +75 -0
  257. data/spec/slack/web/api/endpoints/api_spec.rb +1 -0
  258. data/spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb +1 -0
  259. data/spec/slack/web/api/endpoints/apps_permissions_scopes_spec.rb +1 -0
  260. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +3 -2
  261. data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +4 -3
  262. data/spec/slack/web/api/endpoints/apps_spec.rb +1 -0
  263. data/spec/slack/web/api/endpoints/bots_spec.rb +1 -0
  264. data/spec/slack/web/api/endpoints/calls_participants_spec.rb +24 -0
  265. data/spec/slack/web/api/endpoints/calls_spec.rb +31 -0
  266. data/spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb +1 -0
  267. data/spec/slack/web/api/endpoints/conversations_spec.rb +2 -1
  268. data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +5 -1
  269. data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +5 -3
  270. data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +80 -25
  271. data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +12 -4
  272. data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +2 -0
  273. data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +6 -1
  274. data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +95 -0
  275. data/spec/slack/web/api/endpoints/dnd_spec.rb +6 -0
  276. data/spec/slack/web/api/endpoints/emoji_spec.rb +1 -0
  277. data/spec/slack/web/api/endpoints/files_comments_spec.rb +1 -0
  278. data/spec/slack/web/api/endpoints/files_remote_spec.rb +24 -0
  279. data/spec/slack/web/api/endpoints/files_spec.rb +1 -0
  280. data/spec/slack/web/api/endpoints/im_spec.rb +1 -0
  281. data/spec/slack/web/api/endpoints/migration_spec.rb +1 -0
  282. data/spec/slack/web/api/endpoints/mpim_spec.rb +1 -0
  283. data/spec/slack/web/api/endpoints/oauth_spec.rb +1 -11
  284. data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +13 -0
  285. data/spec/slack/web/api/endpoints/pins_spec.rb +5 -1
  286. data/spec/slack/web/api/endpoints/reactions_spec.rb +8 -1
  287. data/spec/slack/web/api/endpoints/reminders_spec.rb +1 -0
  288. data/spec/slack/web/api/endpoints/rtm_spec.rb +1 -0
  289. data/spec/slack/web/api/endpoints/search_spec.rb +1 -0
  290. data/spec/slack/web/api/endpoints/stars_spec.rb +1 -0
  291. data/spec/slack/web/api/endpoints/team_profile_spec.rb +1 -0
  292. data/spec/slack/web/api/endpoints/team_spec.rb +1 -0
  293. data/spec/slack/web/api/endpoints/usergroups_spec.rb +1 -0
  294. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +1 -0
  295. data/spec/slack/web/api/endpoints/users_admin_spec.rb +1 -0
  296. data/spec/slack/web/api/endpoints/users_prefs_spec.rb +1 -0
  297. data/spec/slack/web/api/endpoints/users_profile_spec.rb +1 -0
  298. data/spec/slack/web/api/endpoints/views_spec.rb +29 -0
  299. data/spec/slack/web/api/error_spec.rb +4 -2
  300. data/spec/slack/web/api/errors/service_unavailable_spec.rb +8 -5
  301. data/spec/slack/web/api/errors/slack_error_spec.rb +26 -2
  302. data/spec/slack/web/api/mixins/channels_spec.rb +17 -7
  303. data/spec/slack/web/api/mixins/conversations_spec.rb +41 -0
  304. data/spec/slack/web/api/mixins/groups_spec.rb +17 -7
  305. data/spec/slack/web/api/mixins/users_spec.rb +17 -8
  306. data/spec/slack/web/api/pagination/cursor_spec.rb +40 -10
  307. data/spec/slack/web/client_spec.rb +71 -18
  308. data/spec/slack/web/faraday/response/raise_error_spec.rb +41 -7
  309. data/spec/spec_helper.rb +2 -1
  310. data/spec/support/queue_with_timeout.rb +1 -0
  311. data/spec/support/real_time/concurrency/mock.rb +1 -0
  312. data/spec/support/real_time/connected_client.rb +9 -3
  313. data/spec/support/real_time/event.rb +1 -0
  314. data/spec/support/token.rb +1 -0
  315. data/spec/support/vcr.rb +1 -0
  316. metadata +156 -30
  317. data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
  318. data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
  319. data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -21
  320. data/lib/slack/web/api/patches/chat.4.postEphemeral-attachments-support.patch +0 -17
  321. data/lib/slack/web/api/patches/chat.5.postEphemeral-text-or-attachments.patch +0 -13
  322. data/screenshots/register-bot.png +0 -0
@@ -1,9 +1,10 @@
1
+ # frozen_string_literal: true
1
2
  # This file was auto-generated by lib/tasks/web.rake
2
3
 
3
4
  desc 'Channels methods.'
4
5
  command 'channels' do |g|
5
- g.desc 'This method archives a channel.'
6
- g.long_desc %( This method archives a channel. )
6
+ g.desc 'Archives a channel.'
7
+ g.long_desc %( Archives a channel. )
7
8
  g.command 'archive' do |c|
8
9
  c.flag 'channel', desc: 'Channel to archive.'
9
10
  c.action do |_global_options, options, _args|
@@ -11,8 +12,8 @@ command 'channels' do |g|
11
12
  end
12
13
  end
13
14
 
14
- g.desc 'This method is used to create a channel.'
15
- g.long_desc %( This method is used to create a channel. )
15
+ g.desc 'Creates a channel.'
16
+ g.long_desc %( Creates a channel. )
16
17
  g.command 'create' do |c|
17
18
  c.flag 'name', desc: 'Name of channel to create.'
18
19
  c.flag 'validate', desc: 'Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.'
@@ -30,8 +31,8 @@ command 'channels' do |g|
30
31
  end
31
32
  end
32
33
 
33
- g.desc 'This method returns a portion of message events from the specified public channel.'
34
- g.long_desc %( This method returns a portion of message events from the specified public channel. )
34
+ g.desc 'Fetches history of messages and events from a channel.'
35
+ g.long_desc %( Fetches history of messages and events from a channel. )
35
36
  g.command 'history' do |c|
36
37
  c.flag 'channel', desc: 'Channel to fetch history for.'
37
38
  c.flag 'inclusive', desc: 'Include messages with latest or oldest timestamp in results.'
@@ -52,8 +53,8 @@ command 'channels' do |g|
52
53
  end
53
54
  end
54
55
 
55
- g.desc 'This method returns information about a team channel.'
56
- g.long_desc %( This method returns information about a team channel. )
56
+ g.desc 'Gets information about a channel.'
57
+ g.long_desc %( Gets information about a channel. )
57
58
  g.command 'info' do |c|
58
59
  c.flag 'channel', desc: 'Channel to get info on.'
59
60
  c.flag 'include_locale', desc: 'Set this to true to receive the locale for this channel. Defaults to false.'
@@ -62,8 +63,8 @@ command 'channels' do |g|
62
63
  end
63
64
  end
64
65
 
65
- g.desc 'This method is used to invite a user to a channel. The calling user must be a member of the channel.'
66
- g.long_desc %( This method is used to invite a user to a channel. The calling user must be a member of the channel. )
66
+ g.desc 'Invites a user to a channel.'
67
+ g.long_desc %( Invites a user to a channel. )
67
68
  g.command 'invite' do |c|
68
69
  c.flag 'channel', desc: 'Channel to invite user to.'
69
70
  c.flag 'user', desc: 'User to invite to channel.'
@@ -72,8 +73,8 @@ command 'channels' do |g|
72
73
  end
73
74
  end
74
75
 
75
- g.desc 'This method is used to join a channel. If the channel does not exist, it is'
76
- g.long_desc %( This method is used to join a channel. If the channel does not exist, it is created. )
76
+ g.desc 'Joins a channel, creating it if needed.'
77
+ g.long_desc %( Joins a channel, creating it if needed. )
77
78
  g.command 'join' do |c|
78
79
  c.flag 'name', desc: 'Name of channel to join.'
79
80
  c.flag 'validate', desc: 'Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.'
@@ -82,8 +83,8 @@ command 'channels' do |g|
82
83
  end
83
84
  end
84
85
 
85
- g.desc 'This method allows a user to remove another member from a team channel.'
86
- g.long_desc %( This method allows a user to remove another member from a team channel. )
86
+ g.desc 'Removes a user from a channel.'
87
+ g.long_desc %( Removes a user from a channel. )
87
88
  g.command 'kick' do |c|
88
89
  c.flag 'channel', desc: 'Channel to remove user from.'
89
90
  c.flag 'user', desc: 'User to remove from channel.'
@@ -92,8 +93,8 @@ command 'channels' do |g|
92
93
  end
93
94
  end
94
95
 
95
- g.desc 'This method is used to leave a channel.'
96
- g.long_desc %( This method is used to leave a channel. )
96
+ g.desc 'Leaves a channel.'
97
+ g.long_desc %( Leaves a channel. )
97
98
  g.command 'leave' do |c|
98
99
  c.flag 'channel', desc: 'Channel to leave.'
99
100
  c.action do |_global_options, options, _args|
@@ -101,8 +102,8 @@ command 'channels' do |g|
101
102
  end
102
103
  end
103
104
 
104
- g.desc "Don't use this method. Use conversations.list instead."
105
- g.long_desc %( Don't use this method. Use conversations.list instead. )
105
+ g.desc 'Lists all channels in a Slack team.'
106
+ g.long_desc %( Lists all channels in a Slack team. )
106
107
  g.command 'list' do |c|
107
108
  c.flag 'cursor', desc: "Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first 'page' of the collection. See pagination for more detail."
108
109
  c.flag 'exclude_archived', desc: 'Exclude archived channels from the list.'
@@ -113,8 +114,8 @@ command 'channels' do |g|
113
114
  end
114
115
  end
115
116
 
116
- g.desc 'This method moves the read cursor in a channel.'
117
- g.long_desc %( This method moves the read cursor in a channel. )
117
+ g.desc 'Sets the read cursor in a channel.'
118
+ g.long_desc %( Sets the read cursor in a channel. )
118
119
  g.command 'mark' do |c|
119
120
  c.flag 'channel', desc: 'Channel to set reading cursor in.'
120
121
  c.flag 'ts', desc: 'Timestamp of the most recently seen message.'
@@ -123,8 +124,8 @@ command 'channels' do |g|
123
124
  end
124
125
  end
125
126
 
126
- g.desc 'This method renames a team channel.'
127
- g.long_desc %( This method renames a team channel. )
127
+ g.desc 'Renames a channel.'
128
+ g.long_desc %( Renames a channel. )
128
129
  g.command 'rename' do |c|
129
130
  c.flag 'channel', desc: 'Channel to rename.'
130
131
  c.flag 'name', desc: 'New name for channel.'
@@ -134,8 +135,8 @@ command 'channels' do |g|
134
135
  end
135
136
  end
136
137
 
137
- g.desc 'This method returns an entire thread (a message plus all the messages in reply to it).'
138
- g.long_desc %( This method returns an entire thread (a message plus all the messages in reply to it). )
138
+ g.desc 'Retrieve a thread of messages posted to a channel'
139
+ g.long_desc %( Retrieve a thread of messages posted to a channel )
139
140
  g.command 'replies' do |c|
140
141
  c.flag 'channel', desc: 'Channel to fetch thread from.'
141
142
  c.flag 'thread_ts', desc: "Unique identifier of a thread's parent message."
@@ -144,8 +145,8 @@ command 'channels' do |g|
144
145
  end
145
146
  end
146
147
 
147
- g.desc 'This method is used to change the purpose of a channel. The calling user must be a member of the channel.'
148
- g.long_desc %( This method is used to change the purpose of a channel. The calling user must be a member of the channel. )
148
+ g.desc 'Sets the purpose for a channel.'
149
+ g.long_desc %( Sets the purpose for a channel. )
149
150
  g.command 'setPurpose' do |c|
150
151
  c.flag 'channel', desc: 'Channel to set the purpose of.'
151
152
  c.flag 'purpose', desc: 'The new purpose.'
@@ -155,8 +156,8 @@ command 'channels' do |g|
155
156
  end
156
157
  end
157
158
 
158
- g.desc 'This method is used to change the topic of a channel. The calling user must be a member of the channel.'
159
- g.long_desc %( This method is used to change the topic of a channel. The calling user must be a member of the channel. )
159
+ g.desc 'Sets the topic for a channel.'
160
+ g.long_desc %( Sets the topic for a channel. )
160
161
  g.command 'setTopic' do |c|
161
162
  c.flag 'channel', desc: 'Channel to set the topic of.'
162
163
  c.flag 'topic', desc: 'The new topic.'
@@ -165,8 +166,8 @@ command 'channels' do |g|
165
166
  end
166
167
  end
167
168
 
168
- g.desc 'This method unarchives a channel. The calling user is added to the channel.'
169
- g.long_desc %( This method unarchives a channel. The calling user is added to the channel. )
169
+ g.desc 'Unarchives a channel.'
170
+ g.long_desc %( Unarchives a channel. )
170
171
  g.command 'unarchive' do |c|
171
172
  c.flag 'channel', desc: 'Channel to unarchive.'
172
173
  c.action do |_global_options, options, _args|
@@ -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
  desc 'Chat methods.'
@@ -13,8 +14,8 @@ command 'chat' do |g|
13
14
  end
14
15
  end
15
16
 
16
- g.desc 'This method deletes a message from a channel.'
17
- g.long_desc %( This method deletes a message from a channel. )
17
+ g.desc 'Deletes a message.'
18
+ g.long_desc %( Deletes a message. )
18
19
  g.command 'delete' do |c|
19
20
  c.flag 'channel', desc: 'Channel containing the message to be deleted.'
20
21
  c.flag 'ts', desc: 'Timestamp of the message to be deleted.'
@@ -24,8 +25,8 @@ command 'chat' do |g|
24
25
  end
25
26
  end
26
27
 
27
- g.desc 'This method deletes a pending scheduled message before it is sent.'
28
- g.long_desc %( This method deletes a pending scheduled message before it is sent. )
28
+ g.desc 'Deletes a pending scheduled message from the queue.'
29
+ g.long_desc %( Deletes a pending scheduled message from the queue. )
29
30
  g.command 'deleteScheduledMessage' do |c|
30
31
  c.flag 'channel', desc: 'The channel the scheduled_message is posting to.'
31
32
  c.flag 'scheduled_message_id', desc: 'scheduled_message_id returned from call to chat.scheduleMessage.'
@@ -35,8 +36,8 @@ command 'chat' do |g|
35
36
  end
36
37
  end
37
38
 
38
- g.desc 'Easily exchange a message timestamp and a channel ID for a friendly HTTP-based permalink to that message. Handles message threads and all conversation types.'
39
- g.long_desc %( Easily exchange a message timestamp and a channel ID for a friendly HTTP-based permalink to that message. Handles message threads and all conversation types. )
39
+ g.desc 'Retrieve a permalink URL for a specific extant message'
40
+ g.long_desc %( Retrieve a permalink URL for a specific extant message )
40
41
  g.command 'getPermalink' do |c|
41
42
  c.flag 'channel', desc: 'The ID of the conversation or channel containing the message.'
42
43
  c.flag 'message_ts', desc: "A message's ts value, uniquely identifying it within a channel."
@@ -45,8 +46,8 @@ command 'chat' do |g|
45
46
  end
46
47
  end
47
48
 
48
- g.desc 'This method sends a me message to a channel from the calling user.'
49
- g.long_desc %( This method sends a me message to a channel from the calling user. )
49
+ g.desc 'Share a me message into a channel.'
50
+ g.long_desc %( Share a me message into a channel. )
50
51
  g.command 'meMessage' do |c|
51
52
  c.flag 'channel', desc: 'Channel to send message to. Can be a public channel, private group or IM channel. Can be an encoded ID, or a name.'
52
53
  c.flag 'text', desc: 'Text of the message to send.'
@@ -55,33 +56,36 @@ command 'chat' do |g|
55
56
  end
56
57
  end
57
58
 
58
- g.desc 'This method posts an ephemeral message, which is visible only to the assigned user in a specific public channel, private channel, or private conversation.'
59
- g.long_desc %( This method posts an ephemeral message, which is visible only to the assigned user in a specific public channel, private channel, or private conversation. )
59
+ g.desc 'Sends an ephemeral message to a user in a channel.'
60
+ g.long_desc %( Sends an ephemeral message to a user in a channel. )
60
61
  g.command 'postEphemeral' do |c|
62
+ c.flag 'attachments', desc: 'A JSON-based array of structured attachments, presented as a URL-encoded string.'
61
63
  c.flag 'channel', desc: 'Channel, private group, or IM channel to send message to. Can be an encoded ID, or a name.'
62
- c.flag 'text', desc: "Text of the message to send. See below for an explanation of formatting. This field is usually required, unless you're providing only attachments instead."
64
+ c.flag 'text', desc: 'How this field works and whether it is required depends on other fields you use in your API call. See below for more detail.'
63
65
  c.flag 'user', desc: 'id of the user who will receive the ephemeral message. The user should be in the channel specified by the channel argument.'
64
66
  c.flag 'as_user', desc: 'Pass true to post the message as the authed user. Defaults to true if the chat:write:bot scope is not included. Otherwise, defaults to false.'
65
- c.flag 'attachments', desc: 'A JSON-based array of structured attachments, presented as a URL-encoded string.'
66
67
  c.flag 'blocks', desc: 'A JSON-based array of structured blocks, presented as a URL-encoded string.'
68
+ c.flag 'icon_emoji', desc: 'Emoji to use as the icon for this message. Overrides icon_url. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.'
69
+ c.flag 'icon_url', desc: 'URL to an image to use as the icon for this message. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.'
67
70
  c.flag 'link_names', desc: 'Find and link channel names and usernames.'
68
71
  c.flag 'parse', desc: 'Change how messages are treated. Defaults to none. See below.'
69
72
  c.flag 'thread_ts', desc: "Provide another message's ts value to post this message in a thread. Avoid using a reply's ts value; use its parent's value instead. Ephemeral messages in threads are only shown if there is already an active thread."
73
+ c.flag 'username', desc: "Set your bot's user name. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below."
70
74
  c.action do |_global_options, options, _args|
71
75
  puts JSON.dump($client.chat_postEphemeral(options))
72
76
  end
73
77
  end
74
78
 
75
- g.desc 'This method posts a message to a public channel, private channel, or direct message/IM channel.'
76
- g.long_desc %( This method posts a message to a public channel, private channel, or direct message/IM channel. )
79
+ g.desc 'Sends a message to a channel.'
80
+ g.long_desc %( Sends a message to a channel. )
77
81
  g.command 'postMessage' do |c|
78
82
  c.flag 'channel', desc: 'Channel, private group, or IM channel to send message to. Can be an encoded ID, or a name. See below for more details.'
79
- c.flag 'text', desc: "Text of the message to send. See below for an explanation of formatting. This field is usually required, unless you're providing only attachments instead. Provide no more than 40,000 characters or risk truncation."
80
- c.flag 'as_user', desc: 'Pass true to post the message as the authed user, instead of as a bot. Defaults to false. See authorship below.'
83
+ c.flag 'text', desc: 'How this field works and whether it is required depends on other fields you use in your API call. See below for more detail.'
84
+ c.flag 'as_user', desc: 'Pass true to post the message as the authed user, instead of as a bot. Defaults to false. See authorship below. This argument may not be used with newer bot tokens.'
81
85
  c.flag 'attachments', desc: 'A JSON-based array of structured attachments, presented as a URL-encoded string.'
82
86
  c.flag 'blocks', desc: 'A JSON-based array of structured blocks, presented as a URL-encoded string.'
83
- c.flag 'icon_emoji', desc: 'Emoji to use as the icon for this message. Overrides icon_url. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.'
84
- c.flag 'icon_url', desc: 'URL to an image to use as the icon for this message. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below.'
87
+ c.flag 'icon_emoji', desc: 'Emoji to use as the icon for this message. Overrides icon_url. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below. This argument may not be used with newer bot tokens.'
88
+ c.flag 'icon_url', desc: 'URL to an image to use as the icon for this message. Must be used in conjunction with as_user set to false, otherwise ignored. See authorship below. This argument may not be used with newer bot tokens.'
85
89
  c.flag 'link_names', desc: 'Find and link channel names and usernames.'
86
90
  c.flag 'mrkdwn', desc: 'Disable Slack markup parsing by setting to false. Enabled by default.'
87
91
  c.flag 'parse', desc: 'Change how messages are treated. Defaults to none. See below.'
@@ -95,17 +99,17 @@ command 'chat' do |g|
95
99
  end
96
100
  end
97
101
 
98
- g.desc 'This method schedules a message for delivery to a public channel, private channel, or direct message/IM channel at a specified time in the future.'
99
- g.long_desc %( This method schedules a message for delivery to a public channel, private channel, or direct message/IM channel at a specified time in the future. )
102
+ g.desc 'Schedules a message to be sent to a channel.'
103
+ g.long_desc %( Schedules a message to be sent to a channel. )
100
104
  g.command 'scheduleMessage' do |c|
101
105
  c.flag 'channel', desc: 'Channel, private group, or DM channel to send message to. Can be an encoded ID, or a name. See below for more details.'
102
106
  c.flag 'post_at', desc: 'Unix EPOCH timestamp of time in future to send the message.'
103
- c.flag 'text', desc: "Text of the message to send. See below for an explanation of formatting. This field is usually required, unless you're providing only attachments instead. Provide no more than 40,000 characters or risk truncation."
104
- c.flag 'as_user', desc: 'Pass true to post the message as the authed user, instead of as a bot. Defaults to false. See authorship below.'
107
+ c.flag 'text', desc: 'How this field works and whether it is required depends on other fields you use in your API call. See below for more detail.'
108
+ c.flag 'as_user', desc: 'Pass true to post the message as the authed user, instead of as a bot. Defaults to false. See chat.postMessage.'
105
109
  c.flag 'attachments', desc: 'A JSON-based array of structured attachments, presented as a URL-encoded string.'
106
110
  c.flag 'blocks', desc: 'A JSON-based array of structured blocks, presented as a URL-encoded string.'
107
111
  c.flag 'link_names', desc: 'Find and link channel names and usernames.'
108
- c.flag 'parse', desc: 'Change how messages are treated. Defaults to none. See below.'
112
+ c.flag 'parse', desc: 'Change how messages are treated. Defaults to none. See chat.postMessage.'
109
113
  c.flag 'reply_broadcast', desc: 'Used in conjunction with thread_ts and indicates whether reply should be made visible to everyone in the channel or conversation. Defaults to false.'
110
114
  c.flag 'thread_ts', desc: "Provide another message's ts value to make this message a reply. Avoid using a reply's ts value; use its parent instead."
111
115
  c.flag 'unfurl_links', desc: 'Pass true to enable unfurling of primarily text-based content.'
@@ -115,8 +119,8 @@ command 'chat' do |g|
115
119
  end
116
120
  end
117
121
 
118
- g.desc 'This method attaches Slack app unfurl behavior to a specified and relevant message. A user token is required as this method does not support bot user tokens.'
119
- g.long_desc %( This method attaches Slack app unfurl behavior to a specified and relevant message. A user token is required as this method does not support bot user tokens. )
122
+ g.desc 'Provide custom unfurl behavior for user-posted URLs'
123
+ g.long_desc %( Provide custom unfurl behavior for user-posted URLs )
120
124
  g.command 'unfurl' do |c|
121
125
  c.flag 'channel', desc: 'Channel ID of the message.'
122
126
  c.flag 'ts', desc: 'Timestamp of the message to add unfurl behavior to.'
@@ -129,17 +133,17 @@ command 'chat' do |g|
129
133
  end
130
134
  end
131
135
 
132
- g.desc 'This method updates a message in a channel. Though related to chat.postMessage, some parameters of chat.update are handled differently.'
133
- g.long_desc %( This method updates a message in a channel. Though related to chat.postMessage, some parameters of chat.update are handled differently. )
136
+ g.desc 'Updates a message.'
137
+ g.long_desc %( Updates a message. )
134
138
  g.command 'update' do |c|
135
139
  c.flag 'channel', desc: 'Channel containing the message to be updated.'
136
- c.flag 'text', desc: "New text for the message, using the default formatting rules. It's not required when presenting attachments."
137
140
  c.flag 'ts', desc: 'Timestamp of the message to be updated.'
138
141
  c.flag 'as_user', desc: 'Pass true to update the message as the authed user. Bot users in this context are considered authed users.'
139
- c.flag 'attachments', desc: 'A JSON-based array of structured attachments, presented as a URL-encoded string. This field is required when not presenting text.'
140
- c.flag 'blocks', desc: 'A JSON-based array of structured blocks, presented as a URL-encoded string.'
141
- c.flag 'link_names', desc: 'Find and link channel names and usernames. Defaults to none. See below.'
142
- c.flag 'parse', desc: 'Change how messages are treated. Defaults to client, unlike chat.postMessage. See below.'
142
+ c.flag 'attachments', desc: "A JSON-based array of structured attachments, presented as a URL-encoded string. This field is required when not presenting text. If you don't include this field, the message's previous attachments will be retained. To remove previous attachments, include an empty array for this field."
143
+ c.flag 'blocks', desc: "A JSON-based array of structured blocks, presented as a URL-encoded string. If you don't include this field, the message's previous blocks will be retained. To remove previous blocks, include an empty array for this field."
144
+ c.flag 'link_names', desc: 'Find and link channel names and usernames. Defaults to none. If you do not specify a value for this field, the original value set for the message will be overwritten with the default, none.'
145
+ c.flag 'parse', desc: 'Change how messages are treated. Defaults to client, unlike chat.postMessage. Accepts either none or full. If you do not specify a value for this field, the original value set for the message will be overwritten with the default, client.'
146
+ c.flag 'text', desc: "New text for the message, using the default formatting rules. It's not required when presenting blocks or attachments."
143
147
  c.action do |_global_options, options, _args|
144
148
  puts JSON.dump($client.chat_update(options))
145
149
  end
@@ -1,9 +1,10 @@
1
+ # frozen_string_literal: true
1
2
  # This file was auto-generated by lib/tasks/web.rake
2
3
 
3
4
  desc 'ChatScheduledmessages methods.'
4
5
  command 'chat_scheduledMessages' do |g|
5
- g.desc 'This method returns a list of pending scheduled messages.'
6
- g.long_desc %( This method returns a list of pending scheduled messages. )
6
+ g.desc 'Returns a list of scheduled messages.'
7
+ g.long_desc %( Returns a list of scheduled messages. )
7
8
  g.command 'list' do |c|
8
9
  c.flag 'channel', desc: 'The channel of the scheduled messages.'
9
10
  c.flag 'cursor', desc: 'For pagination purposes, this is the cursor value returned from a previous call to chat.scheduledmessages.list indicating where you want to start this call from.'
@@ -1,9 +1,10 @@
1
+ # frozen_string_literal: true
1
2
  # This file was auto-generated by lib/tasks/web.rake
2
3
 
3
4
  desc 'Conversations methods.'
4
5
  command 'conversations' do |g|
5
- g.desc "As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed."
6
- g.long_desc %( As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed. )
6
+ g.desc 'Archives a conversation.'
7
+ g.long_desc %( Archives a conversation. )
7
8
  g.command 'archive' do |c|
8
9
  c.flag 'channel', desc: 'ID of conversation to archive.'
9
10
  c.action do |_global_options, options, _args|
@@ -11,8 +12,8 @@ command 'conversations' do |g|
11
12
  end
12
13
  end
13
14
 
14
- g.desc "As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed."
15
- g.long_desc %( As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed. )
15
+ g.desc 'Closes a direct message or multi-person direct message.'
16
+ g.long_desc %( Closes a direct message or multi-person direct message. )
16
17
  g.command 'close' do |c|
17
18
  c.flag 'channel', desc: 'Conversation to close.'
18
19
  c.action do |_global_options, options, _args|
@@ -20,19 +21,18 @@ command 'conversations' do |g|
20
21
  end
21
22
  end
22
23
 
23
- g.desc "As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed."
24
- g.long_desc %( As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed. )
24
+ g.desc 'Initiates a public or private channel-based conversation'
25
+ g.long_desc %( Initiates a public or private channel-based conversation )
25
26
  g.command 'create' do |c|
26
27
  c.flag 'name', desc: 'Name of the public or private channel to create.'
27
28
  c.flag 'is_private', desc: 'Create a private channel instead of a public one.'
28
- c.flag 'user_ids', desc: 'Required for workspace apps. A list of between 1 and 30 human users that will be added to the newly-created conversation. This argument has no effect when used by classic Slack apps.'
29
29
  c.action do |_global_options, options, _args|
30
30
  puts JSON.dump($client.conversations_create(options))
31
31
  end
32
32
  end
33
33
 
34
- g.desc "As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed."
35
- g.long_desc %( As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed. )
34
+ g.desc "Fetches a conversation's history of messages and events."
35
+ g.long_desc %( Fetches a conversation's history of messages and events. )
36
36
  g.command 'history' do |c|
37
37
  c.flag 'channel', desc: 'Conversation ID to fetch history for.'
38
38
  c.flag 'cursor', desc: "Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first 'page' of the collection. See pagination for more detail."
@@ -45,8 +45,8 @@ command 'conversations' do |g|
45
45
  end
46
46
  end
47
47
 
48
- g.desc "As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed."
49
- g.long_desc %( As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed. )
48
+ g.desc 'Retrieve information about a conversation.'
49
+ g.long_desc %( Retrieve information about a conversation. )
50
50
  g.command 'info' do |c|
51
51
  c.flag 'channel', desc: 'Conversation ID to learn more about.'
52
52
  c.flag 'include_locale', desc: 'Set this to true to receive the locale for this conversation. Defaults to false.'
@@ -56,18 +56,18 @@ command 'conversations' do |g|
56
56
  end
57
57
  end
58
58
 
59
- g.desc "As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed."
60
- g.long_desc %( As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed. )
59
+ g.desc 'Invites users to a channel.'
60
+ g.long_desc %( Invites users to a channel. )
61
61
  g.command 'invite' do |c|
62
62
  c.flag 'channel', desc: 'The ID of the public or private channel to invite user(s) to.'
63
- c.flag 'users', desc: 'A comma separated list of user IDs. Up to 30 users may be listed.'
63
+ c.flag 'users', desc: 'A comma separated list of user IDs. Up to 1000 users may be listed.'
64
64
  c.action do |_global_options, options, _args|
65
65
  puts JSON.dump($client.conversations_invite(options))
66
66
  end
67
67
  end
68
68
 
69
- g.desc "As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed."
70
- g.long_desc %( As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed. )
69
+ g.desc 'Joins an existing conversation.'
70
+ g.long_desc %( Joins an existing conversation. )
71
71
  g.command 'join' do |c|
72
72
  c.flag 'channel', desc: 'ID of conversation to join.'
73
73
  c.action do |_global_options, options, _args|
@@ -75,8 +75,8 @@ command 'conversations' do |g|
75
75
  end
76
76
  end
77
77
 
78
- g.desc "As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed."
79
- g.long_desc %( As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed. )
78
+ g.desc 'Removes a user from a conversation.'
79
+ g.long_desc %( Removes a user from a conversation. )
80
80
  g.command 'kick' do |c|
81
81
  c.flag 'channel', desc: 'ID of conversation to remove user from.'
82
82
  c.flag 'user', desc: 'User ID to be removed.'
@@ -85,8 +85,8 @@ command 'conversations' do |g|
85
85
  end
86
86
  end
87
87
 
88
- g.desc "As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed."
89
- g.long_desc %( As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed. )
88
+ g.desc 'Leaves a conversation.'
89
+ g.long_desc %( Leaves a conversation. )
90
90
  g.command 'leave' do |c|
91
91
  c.flag 'channel', desc: 'Conversation to leave.'
92
92
  c.action do |_global_options, options, _args|
@@ -94,8 +94,8 @@ command 'conversations' do |g|
94
94
  end
95
95
  end
96
96
 
97
- g.desc "As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed."
98
- g.long_desc %( As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed. )
97
+ g.desc 'Lists all channels in a Slack team.'
98
+ g.long_desc %( Lists all channels in a Slack team. )
99
99
  g.command 'list' do |c|
100
100
  c.flag 'cursor', desc: "Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first 'page' of the collection. See pagination for more detail."
101
101
  c.flag 'exclude_archived', desc: 'Set to true to exclude archived channels from the list.'
@@ -106,8 +106,8 @@ command 'conversations' do |g|
106
106
  end
107
107
  end
108
108
 
109
- g.desc "As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed."
110
- g.long_desc %( As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed. )
109
+ g.desc 'Retrieve members of a conversation.'
110
+ g.long_desc %( Retrieve members of a conversation. )
111
111
  g.command 'members' do |c|
112
112
  c.flag 'channel', desc: 'ID of the conversation to retrieve members for.'
113
113
  c.flag 'cursor', desc: "Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first 'page' of the collection. See pagination for more detail."
@@ -117,8 +117,8 @@ command 'conversations' do |g|
117
117
  end
118
118
  end
119
119
 
120
- g.desc "As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed."
121
- g.long_desc %( As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed. )
120
+ g.desc 'Opens or resumes a direct message or multi-person direct message.'
121
+ g.long_desc %( Opens or resumes a direct message or multi-person direct message. )
122
122
  g.command 'open' do |c|
123
123
  c.flag 'channel', desc: "Resume a conversation by supplying an im or mpim's ID. Or provide the users field instead."
124
124
  c.flag 'return_im', desc: 'Boolean, indicates you want the full IM channel definition in the response.'
@@ -128,8 +128,8 @@ command 'conversations' do |g|
128
128
  end
129
129
  end
130
130
 
131
- g.desc "As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed."
132
- g.long_desc %( As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed. )
131
+ g.desc 'Renames a conversation.'
132
+ g.long_desc %( Renames a conversation. )
133
133
  g.command 'rename' do |c|
134
134
  c.flag 'channel', desc: 'ID of conversation to rename.'
135
135
  c.flag 'name', desc: 'New name for conversation.'
@@ -138,8 +138,8 @@ command 'conversations' do |g|
138
138
  end
139
139
  end
140
140
 
141
- g.desc "As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed."
142
- g.long_desc %( As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed. )
141
+ g.desc 'Retrieve a thread of messages posted to a conversation'
142
+ g.long_desc %( Retrieve a thread of messages posted to a conversation )
143
143
  g.command 'replies' do |c|
144
144
  c.flag 'channel', desc: 'Conversation ID to fetch thread from.'
145
145
  c.flag 'ts', desc: "Unique identifier of a thread's parent message."
@@ -153,8 +153,8 @@ command 'conversations' do |g|
153
153
  end
154
154
  end
155
155
 
156
- g.desc "As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed."
157
- g.long_desc %( As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed. )
156
+ g.desc 'Sets the purpose for a conversation.'
157
+ g.long_desc %( Sets the purpose for a conversation. )
158
158
  g.command 'setPurpose' do |c|
159
159
  c.flag 'channel', desc: 'Conversation to set the purpose of.'
160
160
  c.flag 'purpose', desc: 'A new, specialer purpose.'
@@ -163,8 +163,8 @@ command 'conversations' do |g|
163
163
  end
164
164
  end
165
165
 
166
- g.desc "As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed."
167
- g.long_desc %( As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed. )
166
+ g.desc 'Sets the topic for a conversation.'
167
+ g.long_desc %( Sets the topic for a conversation. )
168
168
  g.command 'setTopic' do |c|
169
169
  c.flag 'channel', desc: 'Conversation to set the topic of.'
170
170
  c.flag 'topic', desc: 'The new topic string. Does not support formatting or linkification.'
@@ -173,8 +173,8 @@ command 'conversations' do |g|
173
173
  end
174
174
  end
175
175
 
176
- g.desc "As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed."
177
- g.long_desc %( As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed. )
176
+ g.desc 'Reverses conversation archival.'
177
+ g.long_desc %( Reverses conversation archival. )
178
178
  g.command 'unarchive' do |c|
179
179
  c.flag 'channel', desc: 'ID of conversation to unarchive.'
180
180
  c.action do |_global_options, options, _args|