slack-ruby-client 0.14.4 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (352) 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 +104 -47
  5. data/.travis.yml +1 -5
  6. data/CHANGELOG.md +41 -2
  7. data/CONTRIBUTING.md +17 -6
  8. data/Dangerfile +2 -1
  9. data/Gemfile +2 -2
  10. data/README.md +94 -53
  11. data/Rakefile +1 -0
  12. data/UPGRADING.md +20 -2
  13. data/bin/commands.rb +30 -0
  14. data/bin/commands/admin_analytics.rb +15 -0
  15. data/bin/commands/admin_apps.rb +40 -0
  16. data/bin/commands/admin_apps_approved.rb +17 -0
  17. data/bin/commands/admin_apps_requests.rb +16 -0
  18. data/bin/commands/admin_apps_restricted.rb +17 -0
  19. data/bin/commands/admin_barriers.rb +47 -0
  20. data/bin/commands/admin_conversations.rb +169 -0
  21. data/bin/commands/admin_conversations_ekm.rb +17 -0
  22. data/bin/commands/admin_conversations_restrictAccess.rb +37 -0
  23. data/bin/commands/admin_conversations_whitelist.rb +37 -0
  24. data/bin/commands/admin_emoji.rb +54 -0
  25. data/bin/commands/admin_inviteRequests.rb +36 -0
  26. data/bin/commands/admin_inviteRequests_approved.rb +16 -0
  27. data/bin/commands/admin_inviteRequests_denied.rb +16 -0
  28. data/bin/commands/admin_teams.rb +27 -0
  29. data/bin/commands/admin_teams_admins.rb +16 -0
  30. data/bin/commands/admin_teams_owners.rb +16 -0
  31. data/bin/commands/admin_teams_settings.rb +64 -0
  32. data/bin/commands/admin_usergroups.rb +48 -0
  33. data/bin/commands/admin_users.rb +97 -0
  34. data/bin/commands/admin_users_session.rb +25 -2
  35. data/bin/commands/api.rb +3 -3
  36. data/bin/commands/apps.rb +3 -2
  37. data/bin/commands/apps_connections.rb +13 -0
  38. data/bin/commands/apps_event_authorizations.rb +16 -0
  39. data/bin/commands/apps_permissions.rb +5 -4
  40. data/bin/commands/apps_permissions_resources.rb +3 -2
  41. data/bin/commands/apps_permissions_scopes.rb +3 -2
  42. data/bin/commands/apps_permissions_users.rb +5 -4
  43. data/bin/commands/auth.rb +5 -4
  44. data/bin/commands/auth_teams.rb +16 -0
  45. data/bin/commands/bots.rb +4 -2
  46. data/bin/commands/calls.rb +52 -0
  47. data/bin/commands/calls_participants.rb +25 -0
  48. data/bin/commands/channels.rb +37 -33
  49. data/bin/commands/chat.rb +34 -33
  50. data/bin/commands/chat_scheduledMessages.rb +4 -2
  51. data/bin/commands/conversations.rb +50 -38
  52. data/bin/commands/dialog.rb +3 -2
  53. data/bin/commands/dnd.rb +10 -9
  54. data/bin/commands/emoji.rb +3 -2
  55. data/bin/commands/files.rb +16 -13
  56. data/bin/commands/files_comments.rb +3 -2
  57. data/bin/commands/files_remote.rb +78 -0
  58. data/bin/commands/groups.rb +38 -35
  59. data/bin/commands/im.rb +14 -13
  60. data/bin/commands/migration.rb +4 -2
  61. data/bin/commands/mpim.rb +14 -13
  62. data/bin/commands/oauth.rb +6 -5
  63. data/bin/commands/oauth_v2.rb +17 -0
  64. data/bin/commands/pins.rb +7 -10
  65. data/bin/commands/reactions.rb +11 -11
  66. data/bin/commands/reminders.rb +11 -10
  67. data/bin/commands/rtm.rb +5 -4
  68. data/bin/commands/search.rb +11 -7
  69. data/bin/commands/stars.rb +7 -6
  70. data/bin/commands/team.rb +12 -8
  71. data/bin/commands/team_profile.rb +3 -2
  72. data/bin/commands/usergroups.rb +17 -11
  73. data/bin/commands/usergroups_users.rb +7 -4
  74. data/bin/commands/users.rb +26 -23
  75. data/bin/commands/users_admin.rb +1 -0
  76. data/bin/commands/users_prefs.rb +1 -0
  77. data/bin/commands/users_profile.rb +6 -5
  78. data/bin/commands/views.rb +48 -0
  79. data/bin/commands/workflows.rb +38 -0
  80. data/bin/slack +1 -2
  81. data/examples/hi_real_time_and_web/Gemfile +1 -0
  82. data/examples/hi_real_time_and_web/hi.rb +7 -3
  83. data/examples/hi_real_time_async_async/Gemfile +1 -0
  84. data/examples/hi_real_time_async_async/hi.rb +6 -2
  85. data/examples/hi_web/Gemfile +1 -0
  86. data/examples/hi_web/hi.rb +1 -0
  87. data/examples/new_ticket/Gemfile +1 -0
  88. data/examples/new_ticket/new_ticket.rb +1 -0
  89. data/lib/slack-ruby-client.rb +6 -4
  90. data/lib/slack.rb +1 -0
  91. data/lib/slack/config.rb +1 -0
  92. data/lib/slack/events/config.rb +1 -0
  93. data/lib/slack/events/request.rb +8 -2
  94. data/lib/slack/logger.rb +6 -5
  95. data/lib/slack/messages/formatting.rb +1 -0
  96. data/lib/slack/messages/message.rb +1 -4
  97. data/lib/slack/real_time/api/message.rb +3 -1
  98. data/lib/slack/real_time/api/message_id.rb +1 -0
  99. data/lib/slack/real_time/api/ping.rb +5 -2
  100. data/lib/slack/real_time/api/typing.rb +3 -1
  101. data/lib/slack/real_time/client.rb +21 -13
  102. data/lib/slack/real_time/concurrency.rb +1 -2
  103. data/lib/slack/real_time/concurrency/async.rb +12 -6
  104. data/lib/slack/real_time/config.rb +9 -3
  105. data/lib/slack/real_time/models.rb +1 -0
  106. data/lib/slack/real_time/models/base.rb +1 -4
  107. data/lib/slack/real_time/models/bot.rb +1 -0
  108. data/lib/slack/real_time/models/channel.rb +1 -0
  109. data/lib/slack/real_time/models/group.rb +1 -0
  110. data/lib/slack/real_time/models/im.rb +1 -0
  111. data/lib/slack/real_time/models/team.rb +1 -0
  112. data/lib/slack/real_time/models/user.rb +1 -0
  113. data/lib/slack/real_time/socket.rb +16 -13
  114. data/lib/slack/real_time/stores.rb +1 -0
  115. data/lib/slack/real_time/stores/base.rb +4 -1
  116. data/lib/slack/real_time/stores/starter.rb +1 -0
  117. data/lib/slack/real_time/stores/store.rb +16 -25
  118. data/lib/slack/version.rb +2 -1
  119. data/lib/slack/web/api/endpoints.rb +60 -0
  120. data/lib/slack/web/api/endpoints/admin_analytics.rb +26 -0
  121. data/lib/slack/web/api/endpoints/admin_apps.rb +62 -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_barriers.rb +82 -0
  126. data/lib/slack/web/api/endpoints/admin_conversations.rb +260 -0
  127. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
  128. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
  129. data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +64 -0
  130. data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
  131. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
  132. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
  133. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
  134. data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
  135. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
  136. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
  137. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
  138. data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
  139. data/lib/slack/web/api/endpoints/admin_users.rb +161 -0
  140. data/lib/slack/web/api/endpoints/admin_users_session.rb +40 -1
  141. data/lib/slack/web/api/endpoints/api.rb +2 -3
  142. data/lib/slack/web/api/endpoints/apps.rb +2 -1
  143. data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
  144. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
  145. data/lib/slack/web/api/endpoints/apps_permissions.rb +3 -2
  146. data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +2 -1
  147. data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +2 -1
  148. data/lib/slack/web/api/endpoints/apps_permissions_users.rb +3 -2
  149. data/lib/slack/web/api/endpoints/auth.rb +3 -2
  150. data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
  151. data/lib/slack/web/api/endpoints/bots.rb +4 -1
  152. data/lib/slack/web/api/endpoints/calls.rb +83 -0
  153. data/lib/slack/web/api/endpoints/calls_participants.rb +42 -0
  154. data/lib/slack/web/api/endpoints/channels.rb +52 -31
  155. data/lib/slack/web/api/endpoints/chat.rb +31 -30
  156. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +5 -2
  157. data/lib/slack/web/api/endpoints/conversations.rb +55 -36
  158. data/lib/slack/web/api/endpoints/dialog.rb +2 -1
  159. data/lib/slack/web/api/endpoints/dnd.rb +5 -4
  160. data/lib/slack/web/api/endpoints/emoji.rb +2 -1
  161. data/lib/slack/web/api/endpoints/files.rb +13 -8
  162. data/lib/slack/web/api/endpoints/files_comments.rb +2 -1
  163. data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
  164. data/lib/slack/web/api/endpoints/groups.rb +39 -24
  165. data/lib/slack/web/api/endpoints/im.rb +17 -12
  166. data/lib/slack/web/api/endpoints/migration.rb +4 -1
  167. data/lib/slack/web/api/endpoints/mpim.rb +18 -13
  168. data/lib/slack/web/api/endpoints/oauth.rb +4 -6
  169. data/lib/slack/web/api/endpoints/oauth_v2.rb +30 -0
  170. data/lib/slack/web/api/endpoints/pins.rb +7 -16
  171. data/lib/slack/web/api/endpoints/reactions.rb +14 -15
  172. data/lib/slack/web/api/endpoints/reminders.rb +6 -5
  173. data/lib/slack/web/api/endpoints/rtm.rb +3 -2
  174. data/lib/slack/web/api/endpoints/search.rb +10 -3
  175. data/lib/slack/web/api/endpoints/stars.rb +6 -7
  176. data/lib/slack/web/api/endpoints/team.rb +11 -5
  177. data/lib/slack/web/api/endpoints/team_profile.rb +2 -1
  178. data/lib/slack/web/api/endpoints/usergroups.rb +16 -5
  179. data/lib/slack/web/api/endpoints/usergroups_users.rb +7 -2
  180. data/lib/slack/web/api/endpoints/users.rb +18 -21
  181. data/lib/slack/web/api/endpoints/users_admin.rb +1 -0
  182. data/lib/slack/web/api/endpoints/users_prefs.rb +1 -0
  183. data/lib/slack/web/api/endpoints/users_profile.rb +4 -3
  184. data/lib/slack/web/api/endpoints/views.rb +97 -0
  185. data/lib/slack/web/api/endpoints/workflows.rb +61 -0
  186. data/lib/slack/web/api/error.rb +1 -0
  187. data/lib/slack/web/api/errors.rb +850 -0
  188. data/lib/slack/web/api/errors/internal_error.rb +14 -0
  189. data/lib/slack/web/api/errors/slack_error.rb +14 -1
  190. data/lib/slack/web/api/errors/too_many_requests_error.rb +1 -0
  191. data/lib/slack/web/api/mixins.rb +2 -0
  192. data/lib/slack/web/api/mixins/channels.id.rb +2 -3
  193. data/lib/slack/web/api/mixins/conversations.id.rb +25 -0
  194. data/lib/slack/web/api/mixins/groups.id.rb +2 -3
  195. data/lib/slack/web/api/mixins/ids.id.rb +3 -2
  196. data/lib/slack/web/api/mixins/users.id.rb +2 -3
  197. data/lib/slack/web/api/mixins/users.search.rb +1 -0
  198. data/lib/slack/web/api/patches/{chat.6.block-kit-support.patch → chat.1.patch} +29 -26
  199. data/lib/slack/web/api/patches/views.1.view-json.patch +40 -0
  200. data/lib/slack/web/api/patches/views.1.views-published.patch +16 -0
  201. data/lib/slack/web/api/templates/command.erb +1 -0
  202. data/lib/slack/web/api/templates/commands.erb +1 -0
  203. data/lib/slack/web/api/templates/endpoints.erb +2 -0
  204. data/lib/slack/web/api/templates/errors.erb +20 -0
  205. data/lib/slack/web/api/templates/method.erb +5 -1
  206. data/lib/slack/web/api/templates/method_spec.erb +2 -1
  207. data/lib/slack/web/client.rb +2 -1
  208. data/lib/slack/web/config.rb +3 -0
  209. data/lib/slack/web/faraday/connection.rb +24 -20
  210. data/lib/slack/web/faraday/request.rb +1 -0
  211. data/lib/slack/web/faraday/response/raise_error.rb +25 -6
  212. data/lib/slack/web/faraday/response/wrap_error.rb +18 -0
  213. data/lib/slack/web/pagination/cursor.rb +3 -2
  214. data/lib/slack_ruby_client.rb +1 -0
  215. data/lib/tasks/git.rake +1 -0
  216. data/lib/tasks/real_time.rake +13 -5
  217. data/lib/tasks/update.rake +1 -0
  218. data/lib/tasks/web.rake +34 -10
  219. data/screenshots/create-app.png +0 -0
  220. data/slack-ruby-client.gemspec +6 -3
  221. data/spec/fixtures/slack/web/channels_info.yml +108 -15
  222. data/spec/fixtures/slack/web/conversations_setTopic.yml +69 -0
  223. data/spec/fixtures/slack/web/conversations_setTopic_one_page.yml +142 -0
  224. data/spec/fixtures/slack/web/conversations_setTopic_paginated.yml +208 -0
  225. data/spec/fixtures/slack/web/views_open_error.yml +76 -0
  226. data/spec/integration/integration_spec.rb +16 -17
  227. data/spec/slack/config_spec.rb +2 -0
  228. data/spec/slack/events/config_spec.rb +8 -4
  229. data/spec/slack/events/request_spec.rb +74 -40
  230. data/spec/slack/messages/formatting_spec.rb +25 -13
  231. data/spec/slack/real_time/api/message_spec.rb +6 -1
  232. data/spec/slack/real_time/api/ping_spec.rb +2 -0
  233. data/spec/slack/real_time/api/typing_spec.rb +5 -1
  234. data/spec/slack/real_time/client_spec.rb +153 -38
  235. data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +2 -0
  236. data/spec/slack/real_time/event_handlers/bot_spec.rb +2 -1
  237. data/spec/slack/real_time/event_handlers/channel_spec.rb +9 -6
  238. data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +2 -1
  239. data/spec/slack/real_time/event_handlers/group_spec.rb +5 -4
  240. data/spec/slack/real_time/event_handlers/im_spec.rb +4 -3
  241. data/spec/slack/real_time/event_handlers/team_spec.rb +3 -1
  242. data/spec/slack/real_time/event_handlers/user_spec.rb +1 -0
  243. data/spec/slack/real_time/rtm_connect_spec.rb +1 -0
  244. data/spec/slack/real_time/rtm_start_spec.rb +1 -0
  245. data/spec/slack/real_time/store_spec.rb +2 -1
  246. data/spec/slack/slack_spec.rb +37 -5
  247. data/spec/slack/version_spec.rb +2 -1
  248. data/spec/slack/web/api/endpoints/admin_analytics_spec.rb +13 -0
  249. data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +8 -0
  250. data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +8 -0
  251. data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +8 -0
  252. data/spec/slack/web/api/endpoints/admin_apps_spec.rb +13 -0
  253. data/spec/slack/web/api/endpoints/admin_barriers_spec.rb +38 -0
  254. data/spec/slack/web/api/endpoints/admin_conversations_ekm_spec.rb +8 -0
  255. data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +32 -0
  256. data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +98 -0
  257. data/spec/slack/web/api/endpoints/admin_conversations_whitelist_spec.rb +32 -0
  258. data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +37 -0
  259. data/spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb +8 -0
  260. data/spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb +8 -0
  261. data/spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb +18 -0
  262. data/spec/slack/web/api/endpoints/admin_teams_admins_spec.rb +13 -0
  263. data/spec/slack/web/api/endpoints/admin_teams_owners_spec.rb +13 -0
  264. data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +53 -0
  265. data/spec/slack/web/api/endpoints/admin_teams_spec.rb +16 -0
  266. data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +37 -0
  267. data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +9 -0
  268. data/spec/slack/web/api/endpoints/admin_users_spec.rb +67 -0
  269. data/spec/slack/web/api/endpoints/api_spec.rb +1 -0
  270. data/spec/slack/web/api/endpoints/apps_connections_spec.rb +8 -0
  271. data/spec/slack/web/api/endpoints/apps_event_authorizations_spec.rb +13 -0
  272. data/spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb +1 -0
  273. data/spec/slack/web/api/endpoints/apps_permissions_scopes_spec.rb +1 -0
  274. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +3 -2
  275. data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +4 -3
  276. data/spec/slack/web/api/endpoints/apps_spec.rb +3 -2
  277. data/spec/slack/web/api/endpoints/auth_teams_spec.rb +8 -0
  278. data/spec/slack/web/api/endpoints/bots_spec.rb +1 -0
  279. data/spec/slack/web/api/endpoints/calls_participants_spec.rb +24 -0
  280. data/spec/slack/web/api/endpoints/calls_spec.rb +31 -0
  281. data/spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb +1 -0
  282. data/spec/slack/web/api/endpoints/conversations_spec.rb +21 -12
  283. data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +5 -1
  284. data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +5 -3
  285. data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +80 -25
  286. data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +12 -4
  287. data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +2 -0
  288. data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +6 -1
  289. data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +95 -0
  290. data/spec/slack/web/api/endpoints/dnd_spec.rb +1 -0
  291. data/spec/slack/web/api/endpoints/emoji_spec.rb +1 -0
  292. data/spec/slack/web/api/endpoints/files_comments_spec.rb +3 -2
  293. data/spec/slack/web/api/endpoints/files_remote_spec.rb +24 -0
  294. data/spec/slack/web/api/endpoints/files_spec.rb +5 -4
  295. data/spec/slack/web/api/endpoints/im_spec.rb +5 -4
  296. data/spec/slack/web/api/endpoints/migration_spec.rb +1 -0
  297. data/spec/slack/web/api/endpoints/mpim_spec.rb +5 -4
  298. data/spec/slack/web/api/endpoints/oauth_spec.rb +4 -14
  299. data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +13 -0
  300. data/spec/slack/web/api/endpoints/pins_spec.rb +1 -0
  301. data/spec/slack/web/api/endpoints/reactions_spec.rb +8 -1
  302. data/spec/slack/web/api/endpoints/reminders_spec.rb +3 -2
  303. data/spec/slack/web/api/endpoints/rtm_spec.rb +1 -0
  304. data/spec/slack/web/api/endpoints/search_spec.rb +1 -0
  305. data/spec/slack/web/api/endpoints/stars_spec.rb +1 -0
  306. data/spec/slack/web/api/endpoints/team_profile_spec.rb +1 -0
  307. data/spec/slack/web/api/endpoints/team_spec.rb +1 -0
  308. data/spec/slack/web/api/endpoints/usergroups_spec.rb +1 -0
  309. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +3 -2
  310. data/spec/slack/web/api/endpoints/users_admin_spec.rb +1 -0
  311. data/spec/slack/web/api/endpoints/users_prefs_spec.rb +1 -0
  312. data/spec/slack/web/api/endpoints/users_profile_spec.rb +1 -0
  313. data/spec/slack/web/api/endpoints/views_spec.rb +29 -0
  314. data/spec/slack/web/api/endpoints/workflows_spec.rb +26 -0
  315. data/spec/slack/web/api/error_spec.rb +4 -2
  316. data/spec/slack/web/api/errors/slack_error_spec.rb +26 -2
  317. data/spec/slack/web/api/mixins/channels_spec.rb +17 -7
  318. data/spec/slack/web/api/mixins/conversations_list_spec.rb +21 -0
  319. data/spec/slack/web/api/mixins/conversations_spec.rb +43 -0
  320. data/spec/slack/web/api/mixins/groups_spec.rb +17 -7
  321. data/spec/slack/web/api/mixins/users_spec.rb +17 -8
  322. data/spec/slack/web/api/pagination/cursor_spec.rb +40 -10
  323. data/spec/slack/web/client_spec.rb +171 -18
  324. data/spec/slack/web/faraday/response/raise_error_spec.rb +47 -12
  325. data/spec/spec_helper.rb +2 -1
  326. data/spec/support/queue_with_timeout.rb +1 -0
  327. data/spec/support/real_time/concurrency/mock.rb +1 -0
  328. data/spec/support/real_time/connected_client.rb +9 -3
  329. data/spec/support/real_time/event.rb +1 -0
  330. data/spec/support/token.rb +1 -0
  331. data/spec/support/vcr.rb +5 -0
  332. metadata +190 -46
  333. data/examples/hi_real_time/Gemfile +0 -5
  334. data/examples/hi_real_time/hi.gif +0 -0
  335. data/examples/hi_real_time/hi.rb +0 -37
  336. data/examples/hi_real_time_async_celluloid/Gemfile +0 -6
  337. data/examples/hi_real_time_async_celluloid/Procfile +0 -2
  338. data/examples/hi_real_time_async_celluloid/hi.rb +0 -35
  339. data/examples/hi_real_time_async_eventmachine/Gemfile +0 -6
  340. data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
  341. data/examples/hi_real_time_async_eventmachine/hi.rb +0 -35
  342. data/lib/slack/real_time/concurrency/celluloid.rb +0 -136
  343. data/lib/slack/real_time/concurrency/eventmachine.rb +0 -82
  344. data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
  345. data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
  346. data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -21
  347. data/lib/slack/web/api/patches/chat.4.postEphemeral-attachments-support.patch +0 -17
  348. data/lib/slack/web/api/patches/chat.5.postEphemeral-text-or-attachments.patch +0 -15
  349. data/screenshots/register-bot.png +0 -0
  350. data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -111
  351. data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -49
  352. data/spec/slack/web/api/errors/service_unavailable_spec.rb +0 -14
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # This file was auto-generated by lib/tasks/web.rake
2
3
 
3
4
  module Slack
@@ -6,7 +7,7 @@ module Slack
6
7
  module Endpoints
7
8
  module Rtm
8
9
  #
9
- # This method begins a Real Time Messaging API session and reserves your application a specific URL with which to connect via websocket.
10
+ # Starts a Real Time Messaging session.
10
11
  #
11
12
  # @option options [Object] :batch_presence_aware
12
13
  # Batch presence deliveries via subscription. Enabling changes the shape of presence_change events. See batch presence.
@@ -19,7 +20,7 @@ module Slack
19
20
  end
20
21
 
21
22
  #
22
- # This method begins a Real Time Messaging API session and reserves your application a specific URL with which to connect via websocket.
23
+ # Starts a Real Time Messaging session.
23
24
  #
24
25
  # @option options [Object] :batch_presence_aware
25
26
  # Batch presence deliveries via subscription. Enabling changes the shape of presence_change events. See batch presence.
@@ -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 Search
8
9
  #
9
- # This method allows users and applications to search both messages and files in a single call.
10
+ # Searches for messages and files matching a query.
10
11
  #
11
12
  # @option options [Object] :query
12
13
  # Search query. May contains booleans, etc.
@@ -16,6 +17,8 @@ module Slack
16
17
  # Return matches sorted by either score or timestamp.
17
18
  # @option options [Object] :sort_dir
18
19
  # Change sort direction to ascending (asc) or descending (desc).
20
+ # @option options [Object] :team_id
21
+ # encoded team id to search in, required if org token is used.
19
22
  # @see https://api.slack.com/methods/search.all
20
23
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/search/search.all.json
21
24
  def search_all(options = {})
@@ -24,7 +27,7 @@ module Slack
24
27
  end
25
28
 
26
29
  #
27
- # This method returns files matching a search query.
30
+ # Searches for files matching a query.
28
31
  #
29
32
  # @option options [Object] :query
30
33
  # Search query.
@@ -34,6 +37,8 @@ module Slack
34
37
  # Return matches sorted by either score or timestamp.
35
38
  # @option options [Object] :sort_dir
36
39
  # Change sort direction to ascending (asc) or descending (desc).
40
+ # @option options [Object] :team_id
41
+ # encoded team id to search in, required if org token is used.
37
42
  # @see https://api.slack.com/methods/search.files
38
43
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/search/search.files.json
39
44
  def search_files(options = {})
@@ -42,7 +47,7 @@ module Slack
42
47
  end
43
48
 
44
49
  #
45
- # This method returns messages matching a search query.
50
+ # Searches for messages matching a query.
46
51
  #
47
52
  # @option options [Object] :query
48
53
  # Search query.
@@ -52,6 +57,8 @@ module Slack
52
57
  # Return matches sorted by either score or timestamp.
53
58
  # @option options [Object] :sort_dir
54
59
  # Change sort direction to ascending (asc) or descending (desc).
60
+ # @option options [Object] :team_id
61
+ # encoded team id to search in, required if org token is used.
55
62
  # @see https://api.slack.com/methods/search.messages
56
63
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/search/search.messages.json
57
64
  def search_messages(options = {})
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # This file was auto-generated by lib/tasks/web.rake
2
3
 
3
4
  module Slack
@@ -6,8 +7,7 @@ module Slack
6
7
  module Endpoints
7
8
  module Stars
8
9
  #
9
- # This method adds a star to an item (message, file, file comment, channel, private group, or DM) on behalf of the authenticated user.
10
- # One of file, file_comment, channel, or the combination of channel and timestamp must be specified.
10
+ # Adds a star to an item.
11
11
  #
12
12
  # @option options [channel] :channel
13
13
  # Channel to add star to, or channel where the message to add star to was posted (used with timestamp).
@@ -20,12 +20,12 @@ module Slack
20
20
  # @see https://api.slack.com/methods/stars.add
21
21
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/stars/stars.add.json
22
22
  def stars_add(options = {})
23
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
23
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
24
24
  post('stars.add', options)
25
25
  end
26
26
 
27
27
  #
28
- # This method lists the items starred by the authed user.
28
+ # Lists stars for a user.
29
29
  #
30
30
  # @option options [Object] :cursor
31
31
  # 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.
@@ -44,8 +44,7 @@ module Slack
44
44
  end
45
45
 
46
46
  #
47
- # This method removes a star from an item (message, file, file comment, channel, private group, or DM) on behalf of the authenticated user.
48
- # One of file, file_comment, channel, or the combination of channel and timestamp must be specified.
47
+ # Removes a star from an item.
49
48
  #
50
49
  # @option options [channel] :channel
51
50
  # Channel to remove star from, or channel where the message to remove star from was posted (used with timestamp).
@@ -58,7 +57,7 @@ module Slack
58
57
  # @see https://api.slack.com/methods/stars.remove
59
58
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/stars/stars.remove.json
60
59
  def stars_remove(options = {})
61
- options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
60
+ options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
62
61
  post('stars.remove', options)
63
62
  end
64
63
  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,10 +7,12 @@ module Slack
6
7
  module Endpoints
7
8
  module Team
8
9
  #
9
- # This method is used to retrieve the "access logs" for users on a workspace.
10
+ # Gets the access logs for the current team.
10
11
  #
11
12
  # @option options [Object] :before
12
13
  # End of time range of logs to include in results (inclusive).
14
+ # @option options [Object] :team_id
15
+ # encoded team id to get logs from, required if org token is used.
13
16
  # @see https://api.slack.com/methods/team.accessLogs
14
17
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/team/team.accessLogs.json
15
18
  def team_accessLogs(options = {})
@@ -17,9 +20,10 @@ module Slack
17
20
  end
18
21
 
19
22
  #
20
- # This method lists billable information for each user on the team. Currently this consists solely of whether the user is
21
- # subject to billing per Slack's Fair Billing policy.
23
+ # Gets billable users information for the current team.
22
24
  #
25
+ # @option options [Object] :team_id
26
+ # encoded team id to get the billable information from, required if org token is used.
23
27
  # @option options [user] :user
24
28
  # A user to retrieve the billable information for. Defaults to all users.
25
29
  # @see https://api.slack.com/methods/team.billableInfo
@@ -30,7 +34,7 @@ module Slack
30
34
  end
31
35
 
32
36
  #
33
- # This method provides information about your team.
37
+ # Gets information about the current team.
34
38
  #
35
39
  # @option options [Object] :team
36
40
  # Team to get info on, if omitted, will return information about the current team. Will only return team that the authenticated token is allowed to see through external shared channels.
@@ -41,7 +45,7 @@ module Slack
41
45
  end
42
46
 
43
47
  #
44
- # This method lists the integration activity logs for a team, including when integrations are added, modified and removed. This method can only be called by Admins.
48
+ # Gets the integration logs for the current team.
45
49
  #
46
50
  # @option options [Object] :app_id
47
51
  # Filter logs to this Slack app. Defaults to all logs.
@@ -49,6 +53,8 @@ module Slack
49
53
  # Filter logs with this change type. Defaults to all logs.
50
54
  # @option options [Object] :service_id
51
55
  # Filter logs to this service. Defaults to all logs.
56
+ # @option options [Object] :team_id
57
+ # encoded team id to get logs from, required if org token is used.
52
58
  # @option options [user] :user
53
59
  # Filter logs generated by this user's actions. Defaults to all logs.
54
60
  # @see https://api.slack.com/methods/team.integrationLogs
@@ -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 TeamProfile
8
9
  #
9
- # This method is used to get the profile field definitions for this team.
10
+ # Retrieve a team's profile.
10
11
  #
11
12
  # @option options [Object] :visibility
12
13
  # Filter by visibility.
@@ -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 Usergroups
8
9
  #
9
- # This method is used to create a User Group.
10
+ # Create a User Group
10
11
  #
11
12
  # @option options [Object] :name
12
13
  # A name for the User Group. Must be unique among User Groups.
@@ -18,6 +19,8 @@ module Slack
18
19
  # A mention handle. Must be unique among channels, users and User Groups.
19
20
  # @option options [Object] :include_count
20
21
  # Include the number of users in each User Group.
22
+ # @option options [Object] :team_id
23
+ # Encoded team id where the user group has to be created, required if org token is used.
21
24
  # @see https://api.slack.com/methods/usergroups.create
22
25
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.create.json
23
26
  def usergroups_create(options = {})
@@ -26,12 +29,14 @@ module Slack
26
29
  end
27
30
 
28
31
  #
29
- # This method disables an existing User Group.
32
+ # Disable an existing User Group
30
33
  #
31
34
  # @option options [Object] :usergroup
32
35
  # The encoded ID of the User Group to disable.
33
36
  # @option options [Object] :include_count
34
37
  # Include the number of users in the User Group.
38
+ # @option options [Object] :team_id
39
+ # Encoded team id where the user group is, required if org token is used.
35
40
  # @see https://api.slack.com/methods/usergroups.disable
36
41
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.disable.json
37
42
  def usergroups_disable(options = {})
@@ -40,12 +45,14 @@ module Slack
40
45
  end
41
46
 
42
47
  #
43
- # This method enables a User Group which was previously disabled.
48
+ # Enable a User Group
44
49
  #
45
50
  # @option options [Object] :usergroup
46
51
  # The encoded ID of the User Group to enable.
47
52
  # @option options [Object] :include_count
48
53
  # Include the number of users in the User Group.
54
+ # @option options [Object] :team_id
55
+ # Encoded team id where the user group is, required if org token is used.
49
56
  # @see https://api.slack.com/methods/usergroups.enable
50
57
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.enable.json
51
58
  def usergroups_enable(options = {})
@@ -54,7 +61,7 @@ module Slack
54
61
  end
55
62
 
56
63
  #
57
- # This method returns a list of all User Groups in the team. This can optionally include disabled User Groups.
64
+ # List all User Groups for a team
58
65
  #
59
66
  # @option options [Object] :include_count
60
67
  # Include the number of users in each User Group.
@@ -62,6 +69,8 @@ module Slack
62
69
  # Include disabled User Groups.
63
70
  # @option options [Object] :include_users
64
71
  # Include the list of users for each User Group.
72
+ # @option options [Object] :team_id
73
+ # encoded team id to list user groups in, required if org token is used.
65
74
  # @see https://api.slack.com/methods/usergroups.list
66
75
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.list.json
67
76
  def usergroups_list(options = {})
@@ -69,7 +78,7 @@ module Slack
69
78
  end
70
79
 
71
80
  #
72
- # This method updates the properties of an existing User Group.
81
+ # Update an existing User Group
73
82
  #
74
83
  # @option options [Object] :usergroup
75
84
  # The encoded ID of the User Group to update.
@@ -83,6 +92,8 @@ module Slack
83
92
  # Include the number of users in the User Group.
84
93
  # @option options [Object] :name
85
94
  # A name for the User Group. Must be unique among User Groups.
95
+ # @option options [Object] :team_id
96
+ # encoded team id where the user group exists, required if org token is used.
86
97
  # @see https://api.slack.com/methods/usergroups.update
87
98
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups/usergroups.update.json
88
99
  def usergroups_update(options = {})
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # This file was auto-generated by lib/tasks/web.rake
2
3
 
3
4
  module Slack
@@ -6,12 +7,14 @@ module Slack
6
7
  module Endpoints
7
8
  module UsergroupsUsers
8
9
  #
9
- # This method returns a list of all users within a User Group.
10
+ # List all users in a User Group
10
11
  #
11
12
  # @option options [Object] :usergroup
12
13
  # The encoded ID of the User Group to update.
13
14
  # @option options [Object] :include_disabled
14
15
  # Allow results that involve disabled User Groups.
16
+ # @option options [Object] :team_id
17
+ # encoded team id where the user group exists, required if org token is used.
15
18
  # @see https://api.slack.com/methods/usergroups.users.list
16
19
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups.users/usergroups.users.list.json
17
20
  def usergroups_users_list(options = {})
@@ -20,7 +23,7 @@ module Slack
20
23
  end
21
24
 
22
25
  #
23
- # This method updates the list of users that belong to a User Group. This method replaces all users in a User Group with the list of users provided in the users parameter.
26
+ # Update the list of users for a User Group
24
27
  #
25
28
  # @option options [Object] :usergroup
26
29
  # The encoded ID of the User Group to update.
@@ -28,6 +31,8 @@ module Slack
28
31
  # A comma separated string of encoded user IDs that represent the entire list of users for the User Group.
29
32
  # @option options [Object] :include_count
30
33
  # Include the number of users in the User Group.
34
+ # @option options [Object] :team_id
35
+ # encoded team id where the user group exists, required if org token is used.
31
36
  # @see https://api.slack.com/methods/usergroups.users.update
32
37
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/usergroups.users/usergroups.users.update.json
33
38
  def usergroups_users_update(options = {})
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # This file was auto-generated by lib/tasks/web.rake
2
3
 
3
4
  module Slack
@@ -6,11 +7,7 @@ module Slack
6
7
  module Endpoints
7
8
  module Users
8
9
  #
9
- # This method helps answer questions like:
10
- # - Which conversations am I a member of?
11
- # - Which public channels is my bot user in?
12
- # - Do I have any direct messages open with my friend Suzy?
13
- # - Is my bot a member of any private channels?
10
+ # List conversations the calling user may access.
14
11
  #
15
12
  # @option options [Object] :cursor
16
13
  # 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.
@@ -18,6 +15,8 @@ module Slack
18
15
  # Set to true to exclude archived channels from the list.
19
16
  # @option options [Object] :limit
20
17
  # The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the list hasn't been reached. Must be an integer no larger than 1000.
18
+ # @option options [Object] :team_id
19
+ # encoded team id to list conversations in, required if org token is used.
21
20
  # @option options [Object] :types
22
21
  # Mix and match channel types by providing a comma-separated list of any combination of public_channel, private_channel, mpim, im.
23
22
  # @option options [user] :user
@@ -36,7 +35,7 @@ module Slack
36
35
  end
37
36
 
38
37
  #
39
- # This method allows the user to delete their profile image. It will clear whatever image is currently set.
38
+ # Delete the user profile photo
40
39
  #
41
40
  # @see https://api.slack.com/methods/users.deletePhoto
42
41
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.deletePhoto.json
@@ -45,21 +44,19 @@ module Slack
45
44
  end
46
45
 
47
46
  #
48
- # This method lets you find out information about a user's presence.
49
- # Consult the presence documentation for more details.
47
+ # Gets user presence information.
50
48
  #
51
49
  # @option options [user] :user
52
50
  # User to get presence info on. Defaults to the authed user.
53
51
  # @see https://api.slack.com/methods/users.getPresence
54
52
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.getPresence.json
55
53
  def users_getPresence(options = {})
56
- throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
57
54
  options = options.merge(user: users_id(options)['user']['id']) if options[:user]
58
55
  post('users.getPresence', options)
59
56
  end
60
57
 
61
58
  #
62
- # After your Slack app is awarded an identity token through Sign in with Slack, use this method to retrieve a user's identity.
59
+ # Get a user's identity.
63
60
  #
64
61
  # @see https://api.slack.com/methods/users.identity
65
62
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.identity.json
@@ -68,7 +65,7 @@ module Slack
68
65
  end
69
66
 
70
67
  #
71
- # This method returns information about a member of a workspace.
68
+ # Gets information about a user.
72
69
  #
73
70
  # @option options [user] :user
74
71
  # User to get info on.
@@ -83,14 +80,16 @@ module Slack
83
80
  end
84
81
 
85
82
  #
86
- # This method returns a list of all users in the workspace. This includes deleted/deactivated users.
83
+ # Lists all users in a Slack team.
87
84
  #
88
85
  # @option options [Object] :cursor
89
86
  # 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.
90
87
  # @option options [Object] :include_locale
91
88
  # Set this to true to receive the locale for users. Defaults to false.
92
89
  # @option options [Object] :limit
93
- # The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't been reached.
90
+ # The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the users list hasn't been reached. Providing no limit value will result in Slack attempting to deliver you the entire result set. If the collection is too large you may experience limit_required or HTTP 500 errors.
91
+ # @option options [Object] :team_id
92
+ # encoded team id to list users in, required if org token is used.
94
93
  # @see https://api.slack.com/methods/users.list
95
94
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.list.json
96
95
  def users_list(options = {})
@@ -104,7 +103,7 @@ module Slack
104
103
  end
105
104
 
106
105
  #
107
- # Retrieve a single user by looking them up by their registered email address. Requires users:read.email.
106
+ # Find a user with an email address.
108
107
  #
109
108
  # @option options [Object] :email
110
109
  # An email address belonging to a user in the workspace.
@@ -116,7 +115,7 @@ module Slack
116
115
  end
117
116
 
118
117
  #
119
- # This method is no longer functional and the behavior it controlled is no longer offered. The method will no longer exist beginning May 8, 2018.
118
+ # Marked a user as active. Deprecated and non-functional.
120
119
  #
121
120
  # @see https://api.slack.com/methods/users.setActive
122
121
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.setActive.json
@@ -125,26 +124,24 @@ module Slack
125
124
  end
126
125
 
127
126
  #
128
- # This method allows the user to set their profile image. The caller can pass image data via image.
127
+ # Set the user profile photo
129
128
  #
130
- # @option options [Object] :image
131
- # File contents via multipart/form-data.
132
129
  # @option options [Object] :crop_w
133
130
  # Width/height of crop box (always square).
134
131
  # @option options [Object] :crop_x
135
132
  # X coordinate of top-left corner of crop box.
136
133
  # @option options [Object] :crop_y
137
134
  # Y coordinate of top-left corner of crop box.
135
+ # @option options [Object] :image
136
+ # File contents via multipart/form-data.
138
137
  # @see https://api.slack.com/methods/users.setPhoto
139
138
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.setPhoto.json
140
139
  def users_setPhoto(options = {})
141
- throw ArgumentError.new('Required arguments :image missing') if options[:image].nil?
142
140
  post('users.setPhoto', options)
143
141
  end
144
142
 
145
143
  #
146
- # This method lets you set the calling user's manual presence.
147
- # Consult the presence documentation for more details.
144
+ # Manually sets user presence.
148
145
  #
149
146
  # @option options [Object] :presence
150
147
  # Either auto or away.