slack-ruby-client 0.14.2 → 0.15.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 (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,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # This file was auto-generated by lib/tasks/web.rake
2
3
 
3
4
  module Slack
@@ -6,7 +7,7 @@ module Slack
6
7
  module Endpoints
7
8
  module Im
8
9
  #
9
- # This method closes a direct message channel.
10
+ # Close a direct message channel.
10
11
  #
11
12
  # @option options [im] :channel
12
13
  # Direct message channel to close.
@@ -14,14 +15,13 @@ module Slack
14
15
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/im/im.close.json
15
16
  def im_close(options = {})
16
17
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
17
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
18
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
19
+ logger.warn('im.close: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.close.')
18
20
  post('im.close', options)
19
21
  end
20
22
 
21
23
  #
22
- # This method returns a portion of messages/events from the specified direct message channel.
23
- # To read the entire history for a direct message channel, call the method with no latest or
24
- # oldest arguments, and then continue paging using the instructions below.
24
+ # Fetches history of messages and events from direct message channel.
25
25
  #
26
26
  # @option options [im] :channel
27
27
  # Direct message channel to fetch history for.
@@ -37,12 +37,13 @@ module Slack
37
37
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/im/im.history.json
38
38
  def im_history(options = {})
39
39
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
40
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
40
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
41
+ logger.warn('im.history: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.history.')
41
42
  post('im.history', options)
42
43
  end
43
44
 
44
45
  #
45
- # Don't use this method. Use conversations.list instead.
46
+ # Lists direct message channels for the calling user.
46
47
  #
47
48
  # @option options [Object] :cursor
48
49
  # 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.
@@ -51,6 +52,7 @@ module Slack
51
52
  # @see https://api.slack.com/methods/im.list
52
53
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/im/im.list.json
53
54
  def im_list(options = {})
55
+ logger.warn('im.list: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.list, users.conversations.')
54
56
  if block_given?
55
57
  Pagination::Cursor.new(self, :im_list, options).each do |page|
56
58
  yield page
@@ -61,7 +63,7 @@ module Slack
61
63
  end
62
64
 
63
65
  #
64
- # This method moves the read cursor in a direct message channel.
66
+ # Sets the read cursor in a direct message channel.
65
67
  #
66
68
  # @option options [im] :channel
67
69
  # Direct message channel to set reading cursor in.
@@ -72,12 +74,13 @@ module Slack
72
74
  def im_mark(options = {})
73
75
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
74
76
  throw ArgumentError.new('Required arguments :ts missing') if options[:ts].nil?
75
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
77
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
78
+ logger.warn('im.mark: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: .')
76
79
  post('im.mark', options)
77
80
  end
78
81
 
79
82
  #
80
- # This method opens a direct message channel with another member of your Slack team.
83
+ # Opens a direct message channel.
81
84
  #
82
85
  # @option options [user] :user
83
86
  # User to open a direct message channel with.
@@ -90,11 +93,12 @@ module Slack
90
93
  def im_open(options = {})
91
94
  throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
92
95
  options = options.merge(user: users_id(options)['user']['id']) if options[:user]
96
+ logger.warn('im.open: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.open.')
93
97
  post('im.open', options)
94
98
  end
95
99
 
96
100
  #
97
- # This method returns an entire thread (a message plus all the messages in reply to it).
101
+ # Retrieve a thread of messages posted to a direct message conversation
98
102
  #
99
103
  # @option options [im] :channel
100
104
  # Direct message channel to fetch thread from.
@@ -105,7 +109,8 @@ module Slack
105
109
  def im_replies(options = {})
106
110
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
107
111
  throw ArgumentError.new('Required arguments :thread_ts missing') if options[:thread_ts].nil?
108
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
112
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
113
+ logger.warn('im.replies: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.replies.')
109
114
  post('im.replies', options)
110
115
  end
111
116
  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
@@ -6,7 +7,7 @@ module Slack
6
7
  module Endpoints
7
8
  module Migration
8
9
  #
9
- # Easily convert your vintage user IDs to Enterprise Grid-friendly global user IDs.
10
+ # For Enterprise Grid workspaces, map local user IDs to global user IDs
10
11
  #
11
12
  # @option options [Object] :users
12
13
  # A comma-separated list of user ids, up to 400 per request.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # This file was auto-generated by lib/tasks/web.rake
2
3
 
3
4
  module Slack
@@ -6,7 +7,7 @@ module Slack
6
7
  module Endpoints
7
8
  module Mpim
8
9
  #
9
- # This method closes a multiparty direct message channel.
10
+ # Closes a multiparty direct message channel.
10
11
  #
11
12
  # @option options [channel] :channel
12
13
  # MPIM to close.
@@ -14,14 +15,13 @@ module Slack
14
15
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/mpim/mpim.close.json
15
16
  def mpim_close(options = {})
16
17
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
17
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
18
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
19
+ logger.warn('mpim.close: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.close.')
18
20
  post('mpim.close', options)
19
21
  end
20
22
 
21
23
  #
22
- # This method returns a portion of messages/events from the specified multiparty direct message channel.
23
- # To read the entire history for a multiparty direct message, call the method with no latest or
24
- # oldest arguments, and then continue paging using the instructions below.
24
+ # Fetches history of messages and events from a multiparty direct message.
25
25
  #
26
26
  # @option options [channel] :channel
27
27
  # Multiparty direct message to fetch history for.
@@ -37,12 +37,13 @@ module Slack
37
37
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/mpim/mpim.history.json
38
38
  def mpim_history(options = {})
39
39
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
40
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
40
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
41
+ logger.warn('mpim.history: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.history.')
41
42
  post('mpim.history', options)
42
43
  end
43
44
 
44
45
  #
45
- # Don't use this method. Use conversations.list instead.
46
+ # Lists multiparty direct message channels for the calling user.
46
47
  #
47
48
  # @option options [Object] :cursor
48
49
  # Parameter for pagination. Set cursor equal to the next_cursor attribute returned by the previous request's response_metadata. This parameter is optional, but pagination is mandatory: the default value simply fetches the first "page" of the collection. See pagination for more details.
@@ -51,6 +52,7 @@ module Slack
51
52
  # @see https://api.slack.com/methods/mpim.list
52
53
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/mpim/mpim.list.json
53
54
  def mpim_list(options = {})
55
+ logger.warn('mpim.list: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.list, users.conversations.')
54
56
  if block_given?
55
57
  Pagination::Cursor.new(self, :mpim_list, options).each do |page|
56
58
  yield page
@@ -61,7 +63,7 @@ module Slack
61
63
  end
62
64
 
63
65
  #
64
- # This method moves the read cursor in a multiparty direct message channel.
66
+ # Sets the read cursor in a multiparty direct message channel.
65
67
  #
66
68
  # @option options [channel] :channel
67
69
  # multiparty direct message channel to set reading cursor in.
@@ -72,7 +74,8 @@ module Slack
72
74
  def mpim_mark(options = {})
73
75
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
74
76
  throw ArgumentError.new('Required arguments :ts missing') if options[:ts].nil?
75
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
77
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
78
+ logger.warn('mpim.mark: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: .')
76
79
  post('mpim.mark', options)
77
80
  end
78
81
 
@@ -85,11 +88,12 @@ module Slack
85
88
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/mpim/mpim.open.json
86
89
  def mpim_open(options = {})
87
90
  throw ArgumentError.new('Required arguments :users missing') if options[:users].nil?
91
+ logger.warn('mpim.open: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.open.')
88
92
  post('mpim.open', options)
89
93
  end
90
94
 
91
95
  #
92
- # This method returns an entire thread (a message plus all the messages in reply to it).
96
+ # Retrieve a thread of messages posted to a direct message conversation from a multiparty direct message.
93
97
  #
94
98
  # @option options [channel] :channel
95
99
  # Multiparty direct message channel to fetch thread from.
@@ -100,7 +104,8 @@ module Slack
100
104
  def mpim_replies(options = {})
101
105
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
102
106
  throw ArgumentError.new('Required arguments :thread_ts missing') if options[:thread_ts].nil?
103
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
107
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
108
+ logger.warn('mpim.replies: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.replies.')
104
109
  post('mpim.replies', options)
105
110
  end
106
111
  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
@@ -6,7 +7,7 @@ module Slack
6
7
  module Endpoints
7
8
  module Oauth
8
9
  #
9
- # This method allows you to exchange a temporary OAuth code for an API access token.
10
+ # Exchanges a temporary OAuth verifier code for an access token.
10
11
  #
11
12
  # @option options [Object] :client_id
12
13
  # Issued when you created your application.
@@ -17,18 +18,15 @@ module Slack
17
18
  # @option options [Object] :redirect_uri
18
19
  # This must match the originally submitted URI (if one was sent).
19
20
  # @option options [Object] :single_channel
20
- # Request the user to add your app only to a single channel.
21
+ # Request the user to add your app only to a single channel. Only valid with a legacy workspace app.
21
22
  # @see https://api.slack.com/methods/oauth.access
22
23
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/oauth/oauth.access.json
23
24
  def oauth_access(options = {})
24
- throw ArgumentError.new('Required arguments :client_id missing') if options[:client_id].nil?
25
- throw ArgumentError.new('Required arguments :client_secret missing') if options[:client_secret].nil?
26
- throw ArgumentError.new('Required arguments :code missing') if options[:code].nil?
27
25
  post('oauth.access', options)
28
26
  end
29
27
 
30
28
  #
31
- # This feature was exclusive to our workspace apps developer preview. The preview has now ended, but fan-favorite features such as token rotation and the Conversations API will become available to classic Slack apps over the coming months.
29
+ # Exchanges a temporary OAuth verifier code for a workspace token.
32
30
  #
33
31
  # @option options [Object] :client_id
34
32
  # Issued when you created your application.
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+ # This file was auto-generated by lib/tasks/web.rake
3
+
4
+ module Slack
5
+ module Web
6
+ module Api
7
+ module Endpoints
8
+ module OauthV2
9
+ #
10
+ # Exchanges a temporary OAuth verifier code for an access token.
11
+ #
12
+ # @option options [Object] :code
13
+ # The code param returned via the OAuth callback.
14
+ # @option options [Object] :client_id
15
+ # Issued when you created your application.
16
+ # @option options [Object] :client_secret
17
+ # Issued when you created your application.
18
+ # @option options [Object] :redirect_uri
19
+ # This must match the originally submitted URI (if one was sent).
20
+ # @see https://api.slack.com/methods/oauth.v2.access
21
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/oauth.v2/oauth.v2.access.json
22
+ def oauth_v2_access(options = {})
23
+ throw ArgumentError.new('Required arguments :code missing') if options[:code].nil?
24
+ post('oauth.v2.access', options)
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ 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
@@ -6,27 +7,23 @@ module Slack
6
7
  module Endpoints
7
8
  module Pins
8
9
  #
9
- # This method pins an item (file, file comment, channel message, or group message) to a particular channel.
10
- # The channel argument is required and one of file, file_comment, or timestamp must also be specified.
10
+ # Pins an item to a channel.
11
11
  #
12
12
  # @option options [channel] :channel
13
13
  # Channel to pin the item in.
14
- # @option options [file] :file
15
- # File to pin.
16
- # @option options [Object] :file_comment
17
- # File comment to pin.
18
14
  # @option options [Object] :timestamp
19
15
  # Timestamp of the message to pin.
20
16
  # @see https://api.slack.com/methods/pins.add
21
17
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/pins/pins.add.json
22
18
  def pins_add(options = {})
23
19
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
24
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
20
+ throw ArgumentError.new('Required arguments :timestamp missing') if options[:timestamp].nil?
21
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
25
22
  post('pins.add', options)
26
23
  end
27
24
 
28
25
  #
29
- # This method lists the items pinned to a channel.
26
+ # Lists items pinned to a channel.
30
27
  #
31
28
  # @option options [channel] :channel
32
29
  # Channel to get pinned items for.
@@ -34,13 +31,12 @@ module Slack
34
31
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/pins/pins.list.json
35
32
  def pins_list(options = {})
36
33
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
37
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
34
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
38
35
  post('pins.list', options)
39
36
  end
40
37
 
41
38
  #
42
- # This method un-pins an item (file, file comment, channel message, or group message) from a channel.
43
- # The channel argument is required and one of file, file_comment, or timestamp must also be specified.
39
+ # Un-pins an item from a channel.
44
40
  #
45
41
  # @option options [channel] :channel
46
42
  # Channel where the item is pinned to.
@@ -54,7 +50,7 @@ module Slack
54
50
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/pins/pins.remove.json
55
51
  def pins_remove(options = {})
56
52
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
57
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
53
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
58
54
  post('pins.remove', options)
59
55
  end
60
56
  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
@@ -6,29 +7,26 @@ module Slack
6
7
  module Endpoints
7
8
  module Reactions
8
9
  #
9
- # This method adds a reaction (emoji) to a message.
10
- # Now that file threads work the way you'd expect, the file and file_comment arguments are deprecated. Specify channel and timestamp instead.
10
+ # Adds a reaction to an item.
11
11
  #
12
- # @option options [Object] :name
13
- # Reaction (emoji) name.
14
12
  # @option options [channel] :channel
15
13
  # Channel where the message to add reaction to was posted.
16
- # @option options [file] :file
17
- # File to add reaction to. Now that file threads work the way you'd expect, this argument is deprecated. Specify the timestamp and channel of the message associated with a file instead.
18
- # @option options [Object] :file_comment
19
- # File comment to add reaction to. Now that file threads work the way you'd expect, this argument is deprecated. Specify the timestamp and channel of the message associated with a file instead.
14
+ # @option options [Object] :name
15
+ # Reaction (emoji) name.
20
16
  # @option options [Object] :timestamp
21
17
  # Timestamp of the message to add reaction to.
22
18
  # @see https://api.slack.com/methods/reactions.add
23
19
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reactions/reactions.add.json
24
20
  def reactions_add(options = {})
21
+ throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
25
22
  throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
26
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
23
+ throw ArgumentError.new('Required arguments :timestamp missing') if options[:timestamp].nil?
24
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
27
25
  post('reactions.add', options)
28
26
  end
29
27
 
30
28
  #
31
- # This method returns a list of all reactions for a single item (file, file comment, channel message, group message, or direct message).
29
+ # Gets reactions for an item.
32
30
  #
33
31
  # @option options [channel] :channel
34
32
  # Channel where the message to get reactions for was posted.
@@ -43,12 +41,12 @@ module Slack
43
41
  # @see https://api.slack.com/methods/reactions.get
44
42
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reactions/reactions.get.json
45
43
  def reactions_get(options = {})
46
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
44
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
47
45
  post('reactions.get', options)
48
46
  end
49
47
 
50
48
  #
51
- # This method returns a list of all items (file, file comment, channel message, group message, or direct message) reacted to by a user.
49
+ # Lists reactions made by a user.
52
50
  #
53
51
  # @option options [Object] :cursor
54
52
  # Parameter for pagination. Set cursor equal to the next_cursor attribute returned by the previous request's response_metadata. This parameter is optional, but pagination is mandatory: the default value simply fetches the first "page" of the collection. See pagination for more details.
@@ -72,8 +70,7 @@ module Slack
72
70
  end
73
71
 
74
72
  #
75
- # This method removes a reaction (emoji) from an item (file, file comment, channel message, group message, or direct message).
76
- # One of file, file_comment, or the combination of channel and timestamp must be specified.
73
+ # Removes a reaction from an item.
77
74
  #
78
75
  # @option options [Object] :name
79
76
  # Reaction (emoji) name.
@@ -89,7 +86,7 @@ module Slack
89
86
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reactions/reactions.remove.json
90
87
  def reactions_remove(options = {})
91
88
  throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
92
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
89
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
93
90
  post('reactions.remove', options)
94
91
  end
95
92
  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
@@ -6,7 +7,7 @@ module Slack
6
7
  module Endpoints
7
8
  module Reminders
8
9
  #
9
- # This method creates a reminder.
10
+ # Creates a reminder.
10
11
  #
11
12
  # @option options [Object] :text
12
13
  # The content of the reminder.
@@ -24,7 +25,7 @@ module Slack
24
25
  end
25
26
 
26
27
  #
27
- # This method completes a reminder.
28
+ # Marks a reminder as complete.
28
29
  #
29
30
  # @option options [Object] :reminder
30
31
  # The ID of the reminder to be marked as complete.
@@ -36,7 +37,7 @@ module Slack
36
37
  end
37
38
 
38
39
  #
39
- # This method deletes a reminder.
40
+ # Deletes a reminder.
40
41
  #
41
42
  # @option options [Object] :reminder
42
43
  # The ID of the reminder.
@@ -48,7 +49,7 @@ module Slack
48
49
  end
49
50
 
50
51
  #
51
- # This method returns information about a reminder.
52
+ # Gets information about a reminder.
52
53
  #
53
54
  # @option options [Object] :reminder
54
55
  # The ID of the reminder.
@@ -60,7 +61,7 @@ module Slack
60
61
  end
61
62
 
62
63
  #
63
- # This method lists all reminders created by or for a given user.
64
+ # Lists all reminders created by or for a given user.
64
65
  #
65
66
  # @see https://api.slack.com/methods/reminders.list
66
67
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/reminders/reminders.list.json