slack-ruby-client 0.11.0 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. checksums.yaml +5 -5
  2. data/.coveralls.yml +2 -0
  3. data/.github/FUNDING.yml +2 -0
  4. data/.github/dependabot.yml +6 -0
  5. data/.github/workflows/integration_test.yml +45 -0
  6. data/.github/workflows/lint.yml +14 -0
  7. data/.github/workflows/pr_lint.yml +21 -0
  8. data/.github/workflows/test.yml +56 -0
  9. data/.github/workflows/update_api.yml +81 -0
  10. data/.gitignore +7 -3
  11. data/.rubocop.yml +40 -2
  12. data/.rubocop_todo.yml +209 -55
  13. data/.ruby-version +1 -0
  14. data/CHANGELOG.md +257 -30
  15. data/CONTRIBUTING.md +44 -29
  16. data/Dangerfile +2 -0
  17. data/Gemfile +28 -6
  18. data/Gemfile.danger +6 -0
  19. data/LICENSE.md +1 -1
  20. data/README.md +473 -134
  21. data/RELEASING.md +2 -2
  22. data/Rakefile +2 -1
  23. data/SECURITY.md +9 -0
  24. data/UPGRADING.md +117 -3
  25. data/bin/commands/admin_analytics.rb +22 -0
  26. data/bin/commands/admin_apps.rb +57 -0
  27. data/bin/commands/admin_apps_activities.rb +32 -0
  28. data/bin/commands/admin_apps_approved.rb +24 -0
  29. data/bin/commands/admin_apps_config.rb +31 -0
  30. data/bin/commands/admin_apps_requests.rb +35 -0
  31. data/bin/commands/admin_apps_restricted.rb +24 -0
  32. data/bin/commands/admin_audit_anomaly_allow.rb +29 -0
  33. data/bin/commands/admin_auth_policy.rb +45 -0
  34. data/bin/commands/admin_barriers.rb +53 -0
  35. data/bin/commands/admin_conversations.rb +260 -0
  36. data/bin/commands/admin_conversations_ekm.rb +23 -0
  37. data/bin/commands/admin_conversations_restrictAccess.rb +43 -0
  38. data/bin/commands/admin_emoji.rb +60 -0
  39. data/bin/commands/admin_functions.rb +23 -0
  40. data/bin/commands/admin_functions_permissions.rb +31 -0
  41. data/bin/commands/admin_inviteRequests.rb +42 -0
  42. data/bin/commands/admin_inviteRequests_approved.rb +22 -0
  43. data/bin/commands/admin_inviteRequests_denied.rb +22 -0
  44. data/bin/commands/admin_roles.rb +46 -0
  45. data/bin/commands/admin_teams.rb +33 -0
  46. data/bin/commands/admin_teams_admins.rb +22 -0
  47. data/bin/commands/admin_teams_owners.rb +22 -0
  48. data/bin/commands/admin_teams_settings.rb +70 -0
  49. data/bin/commands/admin_usergroups.rb +54 -0
  50. data/bin/commands/admin_users.rb +106 -0
  51. data/bin/commands/admin_users_session.rb +84 -0
  52. data/bin/commands/admin_users_unsupportedVersions.rb +21 -0
  53. data/bin/commands/admin_workflows.rb +42 -0
  54. data/bin/commands/admin_workflows_collaborators.rb +31 -0
  55. data/bin/commands/admin_workflows_permissions.rb +21 -0
  56. data/bin/commands/admin_workflows_triggers_types_permissions.rb +31 -0
  57. data/bin/commands/api.rb +15 -9
  58. data/bin/commands/apps.rb +21 -0
  59. data/bin/commands/apps_activities.rb +32 -0
  60. data/bin/commands/apps_auth_external.rb +32 -0
  61. data/bin/commands/apps_connections.rb +19 -0
  62. data/bin/commands/apps_datastore.rb +116 -0
  63. data/bin/commands/apps_event_authorizations.rb +22 -0
  64. data/bin/commands/apps_manifest.rb +58 -0
  65. data/bin/commands/assistant_search.rb +27 -0
  66. data/bin/commands/assistant_threads.rb +45 -0
  67. data/bin/commands/auth.rb +22 -15
  68. data/bin/commands/auth_teams.rb +22 -0
  69. data/bin/commands/bookmarks.rb +60 -0
  70. data/bin/commands/bots.rb +16 -8
  71. data/bin/commands/calls.rb +58 -0
  72. data/bin/commands/calls_participants.rb +31 -0
  73. data/bin/commands/canvases.rb +41 -0
  74. data/bin/commands/canvases_access.rb +34 -0
  75. data/bin/commands/canvases_sections.rb +21 -0
  76. data/bin/commands/chat.rb +158 -99
  77. data/bin/commands/chat_scheduledMessages.rb +25 -0
  78. data/bin/commands/conversations.rb +241 -157
  79. data/bin/commands/conversations_canvases.rb +22 -0
  80. data/bin/commands/conversations_externalInvitePermissions.rb +22 -0
  81. data/bin/commands/conversations_requestSharedInvite.rb +48 -0
  82. data/bin/commands/dialog.rb +16 -9
  83. data/bin/commands/dnd.rb +47 -38
  84. data/bin/commands/emoji.rb +15 -7
  85. data/bin/commands/files.rb +113 -87
  86. data/bin/commands/files_comments.rb +16 -30
  87. data/bin/commands/files_remote.rb +84 -0
  88. data/bin/commands/functions.rb +31 -0
  89. data/bin/commands/functions_distributions_permissions.rb +61 -0
  90. data/bin/commands/functions_workflows_steps.rb +23 -0
  91. data/bin/commands/functions_workflows_steps_responses.rb +23 -0
  92. data/bin/commands/migration.rb +17 -9
  93. data/bin/commands/oauth.rb +19 -24
  94. data/bin/commands/oauth_v2.rb +35 -0
  95. data/bin/commands/openid_connect.rb +33 -0
  96. data/bin/commands/pins.rb +33 -30
  97. data/bin/commands/reactions.rb +53 -45
  98. data/bin/commands/reminders.rb +54 -41
  99. data/bin/commands/rtm.rb +16 -22
  100. data/bin/commands/search.rb +44 -33
  101. data/bin/commands/stars.rb +39 -29
  102. data/bin/commands/team.rb +50 -34
  103. data/bin/commands/team_billing.rb +19 -0
  104. data/bin/commands/team_externalTeams.rb +35 -0
  105. data/bin/commands/team_preferences.rb +19 -0
  106. data/bin/commands/team_profile.rb +15 -8
  107. data/bin/commands/tooling_tokens.rb +20 -0
  108. data/bin/commands/usergroups.rb +69 -53
  109. data/bin/commands/usergroups_users.rb +30 -19
  110. data/bin/commands/users.rb +114 -84
  111. data/bin/commands/users_admin.rb +29 -22
  112. data/bin/commands/users_discoverableContacts.rb +20 -0
  113. data/bin/commands/users_prefs.rb +14 -7
  114. data/bin/commands/users_profile.rb +27 -20
  115. data/bin/commands/views.rb +56 -0
  116. data/bin/commands/workflows.rb +44 -0
  117. data/bin/commands/workflows_triggers_permissions.rb +60 -0
  118. data/bin/slack +50 -46
  119. data/examples/files_upload_v2/.env.example +1 -0
  120. data/examples/{hi_real_time → files_upload_v2}/Gemfile +2 -2
  121. data/examples/files_upload_v2/README.md +13 -0
  122. data/examples/files_upload_v2/files_upload_v2.rb +45 -0
  123. data/examples/hi_real_time_and_web/Gemfile +1 -0
  124. data/examples/hi_real_time_and_web/hi.rb +7 -3
  125. data/examples/{hi_real_time_async_eventmachine → hi_real_time_async_async}/Gemfile +2 -1
  126. data/examples/{hi_real_time_async_eventmachine → hi_real_time_async_async}/hi.rb +12 -7
  127. data/examples/hi_web/Gemfile +1 -0
  128. data/examples/hi_web/hi.rb +1 -0
  129. data/examples/new_ticket/Gemfile +1 -0
  130. data/examples/new_ticket/new_ticket.rb +1 -0
  131. data/examples/oauth_v2/.env.example +4 -0
  132. data/examples/oauth_v2/Gemfile +7 -0
  133. data/examples/oauth_v2/README.md +33 -0
  134. data/examples/oauth_v2/oauth_v2.rb +60 -0
  135. data/lib/slack/config.rb +2 -2
  136. data/lib/slack/events/config.rb +32 -0
  137. data/lib/slack/events/request.rb +76 -0
  138. data/lib/slack/logger.rb +6 -5
  139. data/lib/slack/messages/formatting.rb +66 -1
  140. data/lib/slack/messages/message.rb +1 -4
  141. data/lib/slack/real_time/api/message.rb +6 -3
  142. data/lib/slack/real_time/api/message_id.rb +1 -0
  143. data/lib/slack/real_time/api/ping.rb +5 -2
  144. data/lib/slack/real_time/api/templates/event_handler.erb +5 -1
  145. data/lib/slack/real_time/api/typing.rb +5 -2
  146. data/lib/slack/real_time/client.rb +117 -54
  147. data/lib/slack/real_time/concurrency/async.rb +142 -0
  148. data/lib/slack/real_time/concurrency.rb +2 -2
  149. data/lib/slack/real_time/config.rb +12 -13
  150. data/lib/slack/real_time/models/base.rb +1 -4
  151. data/lib/slack/real_time/models/bot.rb +1 -0
  152. data/lib/slack/real_time/models/channel.rb +5 -0
  153. data/lib/slack/real_time/models/im.rb +1 -0
  154. data/lib/slack/real_time/models/{group.rb → mpim.rb} +2 -1
  155. data/lib/slack/real_time/models/team.rb +1 -0
  156. data/lib/slack/real_time/models/user.rb +1 -0
  157. data/lib/slack/real_time/models.rb +3 -1
  158. data/lib/slack/real_time/socket.rb +49 -17
  159. data/lib/slack/real_time/stores/base.rb +28 -14
  160. data/lib/slack/real_time/stores/starter.rb +325 -287
  161. data/lib/slack/real_time/stores/store.rb +271 -186
  162. data/lib/slack/real_time/stores.rb +2 -7
  163. data/lib/slack/utils/security.rb +44 -0
  164. data/lib/slack/version.rb +2 -1
  165. data/lib/slack/web/api/endpoints/admin_analytics.rb +28 -0
  166. data/lib/slack/web/api/endpoints/admin_apps.rb +78 -0
  167. data/lib/slack/web/api/endpoints/admin_apps_activities.rb +53 -0
  168. data/lib/slack/web/api/endpoints/admin_apps_approved.rb +37 -0
  169. data/lib/slack/web/api/endpoints/admin_apps_config.rb +40 -0
  170. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +53 -0
  171. data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +37 -0
  172. data/lib/slack/web/api/endpoints/admin_audit_anomaly_allow.rb +34 -0
  173. data/lib/slack/web/api/endpoints/admin_auth_policy.rb +72 -0
  174. data/lib/slack/web/api/endpoints/admin_barriers.rb +82 -0
  175. data/lib/slack/web/api/endpoints/admin_conversations.rb +397 -0
  176. data/lib/slack/web/api/endpoints/admin_conversations_ekm.rb +35 -0
  177. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
  178. data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
  179. data/lib/slack/web/api/endpoints/admin_functions.rb +36 -0
  180. data/lib/slack/web/api/endpoints/admin_functions_permissions.rb +41 -0
  181. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
  182. data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
  183. data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
  184. data/lib/slack/web/api/endpoints/admin_roles.rb +73 -0
  185. data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
  186. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
  187. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
  188. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
  189. data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
  190. data/lib/slack/web/api/endpoints/admin_users.rb +167 -0
  191. data/lib/slack/web/api/endpoints/admin_users_session.rb +121 -0
  192. data/lib/slack/web/api/endpoints/admin_users_unsupportedVersions.rb +25 -0
  193. data/lib/slack/web/api/endpoints/admin_workflows.rb +67 -0
  194. data/lib/slack/web/api/endpoints/admin_workflows_collaborators.rb +42 -0
  195. data/lib/slack/web/api/endpoints/admin_workflows_permissions.rb +26 -0
  196. data/lib/slack/web/api/endpoints/admin_workflows_triggers_types_permissions.rb +41 -0
  197. data/lib/slack/web/api/endpoints/api.rb +2 -3
  198. data/lib/slack/web/api/endpoints/apps.rb +27 -0
  199. data/lib/slack/web/api/endpoints/apps_activities.rb +54 -0
  200. data/lib/slack/web/api/endpoints/apps_auth_external.rb +41 -0
  201. data/lib/slack/web/api/endpoints/apps_connections.rb +21 -0
  202. data/lib/slack/web/api/endpoints/apps_datastore.rb +181 -0
  203. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +34 -0
  204. data/lib/slack/web/api/endpoints/apps_manifest.rb +79 -0
  205. data/lib/slack/web/api/endpoints/assistant_search.rb +44 -0
  206. data/lib/slack/web/api/endpoints/assistant_threads.rb +68 -0
  207. data/lib/slack/web/api/endpoints/auth.rb +2 -1
  208. data/lib/slack/web/api/endpoints/auth_teams.rb +33 -0
  209. data/lib/slack/web/api/endpoints/bookmarks.rb +90 -0
  210. data/lib/slack/web/api/endpoints/bots.rb +4 -1
  211. data/lib/slack/web/api/endpoints/calls.rb +83 -0
  212. data/lib/slack/web/api/endpoints/calls_participants.rb +42 -0
  213. data/lib/slack/web/api/endpoints/canvases.rb +54 -0
  214. data/lib/slack/web/api/endpoints/canvases_access.rb +47 -0
  215. data/lib/slack/web/api/endpoints/canvases_sections.rb +27 -0
  216. data/lib/slack/web/api/endpoints/chat.rb +172 -87
  217. data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +40 -0
  218. data/lib/slack/web/api/endpoints/conversations.rb +190 -64
  219. data/lib/slack/web/api/endpoints/conversations_canvases.rb +28 -0
  220. data/lib/slack/web/api/endpoints/conversations_externalInvitePermissions.rb +31 -0
  221. data/lib/slack/web/api/endpoints/conversations_requestSharedInvite.rb +73 -0
  222. data/lib/slack/web/api/endpoints/dialog.rb +6 -10
  223. data/lib/slack/web/api/endpoints/dnd.rb +11 -5
  224. data/lib/slack/web/api/endpoints/emoji.rb +3 -0
  225. data/lib/slack/web/api/endpoints/files.rb +85 -36
  226. data/lib/slack/web/api/endpoints/files_comments.rb +4 -36
  227. data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
  228. data/lib/slack/web/api/endpoints/functions.rb +43 -0
  229. data/lib/slack/web/api/endpoints/functions_distributions_permissions.rb +84 -0
  230. data/lib/slack/web/api/endpoints/functions_workflows_steps.rb +30 -0
  231. data/lib/slack/web/api/endpoints/functions_workflows_steps_responses.rb +30 -0
  232. data/lib/slack/web/api/endpoints/migration.rb +6 -3
  233. data/lib/slack/web/api/endpoints/oauth.rb +10 -32
  234. data/lib/slack/web/api/endpoints/oauth_v2.rb +48 -0
  235. data/lib/slack/web/api/endpoints/openid_connect.rb +42 -0
  236. data/lib/slack/web/api/endpoints/pins.rb +11 -18
  237. data/lib/slack/web/api/endpoints/reactions.rb +31 -20
  238. data/lib/slack/web/api/endpoints/reminders.rb +25 -12
  239. data/lib/slack/web/api/endpoints/rtm.rb +4 -22
  240. data/lib/slack/web/api/endpoints/search.rb +33 -18
  241. data/lib/slack/web/api/endpoints/stars.rb +23 -10
  242. data/lib/slack/web/api/endpoints/team.rb +38 -7
  243. data/lib/slack/web/api/endpoints/team_billing.rb +21 -0
  244. data/lib/slack/web/api/endpoints/team_externalTeams.rb +53 -0
  245. data/lib/slack/web/api/endpoints/team_preferences.rb +21 -0
  246. data/lib/slack/web/api/endpoints/team_profile.rb +2 -1
  247. data/lib/slack/web/api/endpoints/tooling_tokens.rb +24 -0
  248. data/lib/slack/web/api/endpoints/usergroups.rb +44 -25
  249. data/lib/slack/web/api/endpoints/usergroups_users.rb +23 -14
  250. data/lib/slack/web/api/endpoints/users.rb +57 -18
  251. data/lib/slack/web/api/endpoints/users_admin.rb +5 -2
  252. data/lib/slack/web/api/endpoints/users_discoverableContacts.rb +24 -0
  253. data/lib/slack/web/api/endpoints/users_prefs.rb +2 -0
  254. data/lib/slack/web/api/endpoints/users_profile.rb +11 -9
  255. data/lib/slack/web/api/endpoints/views.rb +86 -0
  256. data/lib/slack/web/api/endpoints/workflows.rb +63 -0
  257. data/lib/slack/web/api/endpoints/workflows_triggers_permissions.rb +87 -0
  258. data/lib/slack/web/api/endpoints.rb +136 -12
  259. data/lib/slack/web/api/error.rb +1 -0
  260. data/lib/slack/web/api/errors/server_error.rb +37 -0
  261. data/lib/slack/web/api/errors/slack_error.rb +14 -1
  262. data/lib/slack/web/api/errors/too_many_requests_error.rb +2 -4
  263. data/lib/slack/web/api/errors.rb +1396 -0
  264. data/lib/slack/web/api/helpers/files.rb +97 -0
  265. data/lib/slack/web/api/helpers.rb +13 -0
  266. data/lib/slack/web/api/mixins/conversations.id.rb +47 -0
  267. data/lib/slack/web/api/mixins/ids.id.rb +4 -3
  268. data/lib/slack/web/api/mixins/users.id.rb +18 -4
  269. data/lib/slack/web/api/mixins/users.search.rb +3 -1
  270. data/lib/slack/web/api/mixins.rb +2 -2
  271. data/lib/slack/web/api/options.rb +26 -0
  272. data/lib/slack/web/api/patches/.gitkeep +0 -0
  273. data/lib/slack/web/api/templates/command.erb +19 -12
  274. data/lib/slack/web/api/templates/endpoints.erb +2 -2
  275. data/lib/slack/web/api/templates/errors.erb +20 -0
  276. data/lib/slack/web/api/templates/method.erb +23 -3
  277. data/lib/slack/web/api/templates/method_spec.erb +40 -3
  278. data/lib/slack/web/client.rb +4 -1
  279. data/lib/slack/web/config.rb +9 -2
  280. data/lib/slack/web/faraday/connection.rb +11 -20
  281. data/lib/slack/web/faraday/options.rb +24 -0
  282. data/lib/slack/web/faraday/request.rb +6 -1
  283. data/lib/slack/web/faraday/response/raise_error.rb +14 -8
  284. data/lib/slack/web/faraday/response/wrap_error.rb +24 -0
  285. data/lib/slack/web/pagination/cursor.rb +7 -7
  286. data/lib/slack-ruby-client.rb +18 -6
  287. data/lib/slack.rb +1 -0
  288. data/lib/slack_ruby_client.rb +1 -0
  289. data/lib/tasks/git.rake +1 -0
  290. data/lib/tasks/real_time.rake +51 -21
  291. data/lib/tasks/update.rake +1 -0
  292. data/lib/tasks/web.rake +43 -17
  293. data/slack-ruby-client.gemspec +10 -14
  294. metadata +191 -307
  295. data/.travis.yml +0 -30
  296. data/bin/commands/apps_permissions.rb +0 -22
  297. data/bin/commands/channels.rb +0 -175
  298. data/bin/commands/groups.rb +0 -172
  299. data/bin/commands/im.rb +0 -67
  300. data/bin/commands/mpim.rb +0 -63
  301. data/bin/commands.rb +0 -33
  302. data/examples/hi_real_time/hi.gif +0 -0
  303. data/examples/hi_real_time/hi.rb +0 -37
  304. data/examples/hi_real_time_async_celluloid/Gemfile +0 -6
  305. data/examples/hi_real_time_async_celluloid/hi.rb +0 -36
  306. data/examples/hi_real_time_async_eventmachine/Procfile +0 -2
  307. data/lib/slack/real_time/concurrency/celluloid.rb +0 -117
  308. data/lib/slack/real_time/concurrency/eventmachine.rb +0 -60
  309. data/lib/slack/web/api/endpoints/apps_permissions.rb +0 -35
  310. data/lib/slack/web/api/endpoints/channels.rb +0 -265
  311. data/lib/slack/web/api/endpoints/groups.rb +0 -255
  312. data/lib/slack/web/api/endpoints/im.rb +0 -113
  313. data/lib/slack/web/api/endpoints/mpim.rb +0 -98
  314. data/lib/slack/web/api/endpoints/presence.rb +0 -23
  315. data/lib/slack/web/api/mixins/channels.id.json +0 -20
  316. data/lib/slack/web/api/mixins/channels.id.rb +0 -26
  317. data/lib/slack/web/api/mixins/groups.id.json +0 -20
  318. data/lib/slack/web/api/mixins/groups.id.rb +0 -26
  319. data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
  320. data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
  321. data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -21
  322. data/lib/slack/web/api/patches/chat.4.postEphemeral-attachments-support.patch +0 -17
  323. data/lib/slack/web/api/patches/dialog.1.open-json-support.patch +0 -17
  324. data/lib/slack/web/api/templates/commands.erb +0 -5
  325. data/screenshots/register-bot.png +0 -0
  326. data/spec/fixtures/slack/web/429_error.yml +0 -85
  327. data/spec/fixtures/slack/web/auth_test_error.yml +0 -48
  328. data/spec/fixtures/slack/web/auth_test_success.yml +0 -57
  329. data/spec/fixtures/slack/web/channels_info.yml +0 -46
  330. data/spec/fixtures/slack/web/groups_info.yml +0 -43
  331. data/spec/fixtures/slack/web/paginated_users_list.yml +0 -181
  332. data/spec/fixtures/slack/web/rtm_connect.yml +0 -70
  333. data/spec/fixtures/slack/web/rtm_start.yml +0 -104
  334. data/spec/fixtures/slack/web/users_info.yml +0 -130
  335. data/spec/fixtures/slack/web/users_list.yml +0 -72
  336. data/spec/integration/integration_spec.rb +0 -139
  337. data/spec/slack/config_spec.rb +0 -14
  338. data/spec/slack/messages/formatting_spec.rb +0 -43
  339. data/spec/slack/real_time/api/message_spec.rb +0 -15
  340. data/spec/slack/real_time/api/ping_spec.rb +0 -15
  341. data/spec/slack/real_time/api/typing_spec.rb +0 -15
  342. data/spec/slack/real_time/client_spec.rb +0 -425
  343. data/spec/slack/real_time/concurrency/celluloid_spec.rb +0 -62
  344. data/spec/slack/real_time/concurrency/eventmachine_spec.rb +0 -47
  345. data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +0 -19
  346. data/spec/slack/real_time/event_handlers/bot_spec.rb +0 -44
  347. data/spec/slack/real_time/event_handlers/channel_spec.rb +0 -116
  348. data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +0 -15
  349. data/spec/slack/real_time/event_handlers/group_spec.rb +0 -90
  350. data/spec/slack/real_time/event_handlers/im_spec.rb +0 -47
  351. data/spec/slack/real_time/event_handlers/team_spec.rb +0 -62
  352. data/spec/slack/real_time/event_handlers/user_spec.rb +0 -63
  353. data/spec/slack/real_time/rtm_connect_spec.rb +0 -13
  354. data/spec/slack/real_time/rtm_start_spec.rb +0 -13
  355. data/spec/slack/real_time/store_spec.rb +0 -11
  356. data/spec/slack/slack_spec.rb +0 -58
  357. data/spec/slack/version_spec.rb +0 -7
  358. data/spec/slack/web/api/endpoints/api_spec.rb +0 -7
  359. data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +0 -15
  360. data/spec/slack/web/api/endpoints/bots_spec.rb +0 -7
  361. data/spec/slack/web/api/endpoints/conversations_spec.rb +0 -100
  362. data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +0 -25
  363. data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -11
  364. data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +0 -105
  365. data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +0 -28
  366. data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -11
  367. data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +0 -33
  368. data/spec/slack/web/api/endpoints/dnd_spec.rb +0 -12
  369. data/spec/slack/web/api/endpoints/emoji_spec.rb +0 -7
  370. data/spec/slack/web/api/endpoints/files_comments_spec.rb +0 -34
  371. data/spec/slack/web/api/endpoints/files_spec.rb +0 -43
  372. data/spec/slack/web/api/endpoints/im_spec.rb +0 -38
  373. data/spec/slack/web/api/endpoints/migration_spec.rb +0 -12
  374. data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -38
  375. data/spec/slack/web/api/endpoints/oauth_spec.rb +0 -29
  376. data/spec/slack/web/api/endpoints/pins_spec.rb +0 -22
  377. data/spec/slack/web/api/endpoints/reactions_spec.rb +0 -17
  378. data/spec/slack/web/api/endpoints/reminders_spec.rb +0 -30
  379. data/spec/slack/web/api/endpoints/rtm_spec.rb +0 -7
  380. data/spec/slack/web/api/endpoints/search_spec.rb +0 -22
  381. data/spec/slack/web/api/endpoints/stars_spec.rb +0 -7
  382. data/spec/slack/web/api/endpoints/team_profile_spec.rb +0 -7
  383. data/spec/slack/web/api/endpoints/team_spec.rb +0 -7
  384. data/spec/slack/web/api/endpoints/usergroups_spec.rb +0 -27
  385. data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +0 -20
  386. data/spec/slack/web/api/endpoints/users_admin_spec.rb +0 -17
  387. data/spec/slack/web/api/endpoints/users_prefs_spec.rb +0 -7
  388. data/spec/slack/web/api/endpoints/users_profile_spec.rb +0 -7
  389. data/spec/slack/web/api/error_spec.rb +0 -14
  390. data/spec/slack/web/api/errors/slack_error_spec.rb +0 -14
  391. data/spec/slack/web/api/mixins/channels_spec.rb +0 -31
  392. data/spec/slack/web/api/mixins/groups_spec.rb +0 -31
  393. data/spec/slack/web/api/mixins/users_spec.rb +0 -39
  394. data/spec/slack/web/api/pagination/cursor_spec.rb +0 -70
  395. data/spec/slack/web/client_spec.rb +0 -174
  396. data/spec/spec_helper.rb +0 -14
  397. data/spec/support/queue_with_timeout.rb +0 -34
  398. data/spec/support/real_time/concurrency/mock.rb +0 -30
  399. data/spec/support/real_time/connected_client.rb +0 -21
  400. data/spec/support/real_time/event.rb +0 -11
  401. data/spec/support/token.rb +0 -10
  402. data/spec/support/vcr.rb +0 -9
  403. /data/examples/{hi_real_time_async_celluloid → hi_real_time_async_async}/Procfile +0 -0
@@ -1,355 +1,350 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Slack
2
4
  module RealTime
3
5
  module Stores
4
- # Only stores initial information.
6
+ # Stores only basic team and self info
5
7
  class Starter < Base
6
- attr_reader :self
7
-
8
- attr_reader :team
8
+ attr_reader :self, :team
9
9
 
10
- def initialize(attrs)
10
+ def initialize(attrs, _options = {})
11
11
  @team = Models::Team.new(attrs.team)
12
- @self = Models::Team.new(attrs.self)
12
+ @self = Models::User.new(attrs.self)
13
13
  end
14
14
 
15
15
  ### RealTime Events
16
16
 
17
- # The membership of an existing User Group has changed.
18
- # @see https://api.slack.com/events/subteam_members_changed
19
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_members_changed.json
20
- # on :subteam_members_changed do |data|
21
-
22
- # Subscribe to presence events for the specified users.
23
- # @see https://api.slack.com/events/presence_sub
24
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/presence_sub.json
25
- # on :presence_sub do |data|
26
-
27
- # A user left a public or private channel.
28
- # @see https://api.slack.com/events/member_left_channel
29
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/member_left_channel.json
30
- # on :member_left_channel do |data|
17
+ # The list of accounts a user is signed into has changed.
18
+ # @see https://api.slack.com/events/accounts_changed
19
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/accounts_changed.json
20
+ # on :accounts_changed do |data|
31
21
 
32
- # A user joined a public or private channel.
33
- # @see https://api.slack.com/events/member_joined_channel
34
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/member_joined_channel.json
35
- # on :member_joined_channel do |data|
22
+ # A bot user was added.
23
+ # @see https://api.slack.com/events/bot_added
24
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/bot_added.json
25
+ # on :bot_added do |data|
36
26
 
37
- # The server intends to close the connection soon..
38
- # @see https://api.slack.com/events/goodbye
39
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/goodbye.json
40
- # on :goodbye do |data|
27
+ # A bot user was changed.
28
+ # @see https://api.slack.com/events/bot_changed
29
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/bot_changed.json
30
+ # on :bot_changed do |data|
41
31
 
42
- # Verifies ownership of an Events API Request URL.
43
- # @see https://api.slack.com/events/url_verification
44
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/url_verification.json
45
- # on :url_verification do |data|
32
+ # A channel was archived.
33
+ # @see https://api.slack.com/events/channel_archive
34
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_archive.json
35
+ # on :channel_archive do |data|
46
36
 
47
- # A message was posted in a multiparty direct message channel.
48
- # @see https://api.slack.com/events/message.mpim
49
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/message.mpim.json
50
- # on :message.mpim do |data|
37
+ # A channel was created.
38
+ # @see https://api.slack.com/events/channel_created
39
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_created.json
40
+ # on :channel_created do |data|
51
41
 
52
- # A message was posted in a direct message channel.
53
- # @see https://api.slack.com/events/message.im
54
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/message.im.json
55
- # on :message.im do |data|
42
+ # A channel was deleted.
43
+ # @see https://api.slack.com/events/channel_deleted
44
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_deleted.json
45
+ # on :channel_deleted do |data|
56
46
 
57
- # A message was posted to a private channel.
58
- # @see https://api.slack.com/events/message.groups
59
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/message.groups.json
60
- # on :message.groups do |data|
47
+ # Bulk updates were made to a channel's history.
48
+ # @see https://api.slack.com/events/channel_history_changed
49
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_history_changed.json
50
+ # on :channel_history_changed do |data|
61
51
 
62
- # A message was posted to a channel.
63
- # @see https://api.slack.com/events/message.channels
64
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/message.channels.json
65
- # on :message.channels do |data|
52
+ # You joined a channel.
53
+ # @see https://api.slack.com/events/channel_joined
54
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_joined.json
55
+ # on :channel_joined do |data|
66
56
 
67
- # A channel member is typing a message.
68
- # @see https://api.slack.com/events/user_typing
69
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/user_typing.json
70
- # on :user_typing do |data|
57
+ # You left a channel.
58
+ # @see https://api.slack.com/events/channel_left
59
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_left.json
60
+ # on :channel_left do |data|
71
61
 
72
- # A team member's data has changed.
73
- # @see https://api.slack.com/events/user_change
74
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/user_change.json
75
- # on :user_change do |data|
62
+ # Your channel read marker was updated.
63
+ # @see https://api.slack.com/events/channel_marked
64
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_marked.json
65
+ # on :channel_marked do |data|
76
66
 
77
- # A new team member has joined.
78
- # @see https://api.slack.com/events/team_join
79
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_join.json
80
- # on :team_join do |data|
67
+ # A channel was renamed.
68
+ # @see https://api.slack.com/events/channel_rename
69
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_rename.json
70
+ # on :channel_rename do |data|
81
71
 
82
- # An existing user group has been updated or its members changed.
83
- # @see https://api.slack.com/events/subteam_updated
84
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_updated.json
85
- # on :subteam_updated do |data|
72
+ # A channel was unarchived.
73
+ # @see https://api.slack.com/events/channel_unarchive
74
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_unarchive.json
75
+ # on :channel_unarchive do |data|
86
76
 
87
- # You have been removed from a user group.
88
- # @see https://api.slack.com/events/subteam_self_removed
89
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_self_removed.json
90
- # on :subteam_self_removed do |data|
77
+ # A slash command has been added or changed.
78
+ # @see https://api.slack.com/events/commands_changed
79
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/commands_changed.json
80
+ # on :commands_changed do |data|
91
81
 
92
- # You have been added to a user group.
93
- # @see https://api.slack.com/events/subteam_self_added
94
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_self_added.json
95
- # on :subteam_self_added do |data|
82
+ # Do not Disturb settings changed for the current user.
83
+ # @see https://api.slack.com/events/dnd_updated
84
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/dnd_updated.json
85
+ # on :dnd_updated do |data|
96
86
 
97
- # A user group has been added to the team.
98
- # @see https://api.slack.com/events/subteam_created
99
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_created.json
100
- # on :subteam_created do |data|
87
+ # Do not Disturb settings changed for a member.
88
+ # @see https://api.slack.com/events/dnd_updated_user
89
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/dnd_updated_user.json
90
+ # on :dnd_updated_user do |data|
101
91
 
102
- # A team member removed a star.
103
- # @see https://api.slack.com/events/star_removed
104
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/star_removed.json
105
- # on :star_removed do |data|
92
+ # The workspace email domain has changed.
93
+ # @see https://api.slack.com/events/email_domain_changed
94
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/email_domain_changed.json
95
+ on :email_domain_changed do |data|
96
+ team.email_domain = data.email_domain
97
+ end
106
98
 
107
- # A team member has starred an item.
108
- # @see https://api.slack.com/events/star_added
109
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/star_added.json
110
- # on :star_added do |data|
99
+ # A custom emoji has been added or changed.
100
+ # @see https://api.slack.com/events/emoji_changed
101
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/emoji_changed.json
102
+ # on :emoji_changed do |data|
111
103
 
112
- # Experimental.
113
- # @see https://api.slack.com/events/reconnect_url
114
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/reconnect_url.json
115
- # on :reconnect_url do |data|
104
+ # An enterprise grid migration has finished on an external workspace..
105
+ # @see https://api.slack.com/events/external_org_migration_finished
106
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/external_org_migration_finished.json
107
+ # on :external_org_migration_finished do |data|
116
108
 
117
- # A team member removed an emoji reaction.
118
- # @see https://api.slack.com/events/reaction_removed
119
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/reaction_removed.json
120
- # on :reaction_removed do |data|
109
+ # An enterprise grid migration has started on an external workspace..
110
+ # @see https://api.slack.com/events/external_org_migration_started
111
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/external_org_migration_started.json
112
+ # on :external_org_migration_started do |data|
121
113
 
122
- # A team member has added an emoji reaction to an item.
123
- # @see https://api.slack.com/events/reaction_added
124
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/reaction_added.json
125
- # on :reaction_added do |data|
114
+ # A file was changed.
115
+ # @see https://api.slack.com/events/file_change
116
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_change.json
117
+ # on :file_change do |data|
126
118
 
127
- # A team member's presence changed.
128
- # @see https://api.slack.com/events/presence_change
129
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/presence_change.json
130
- # on :presence_change do |data|
119
+ # A file comment was added.
120
+ # @see https://api.slack.com/events/file_comment_added
121
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_comment_added.json
122
+ # on :file_comment_added do |data|
131
123
 
132
- # You have updated your preferences.
133
- # @see https://api.slack.com/events/pref_change
134
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/pref_change.json
135
- # on :pref_change do |data|
124
+ # A file comment was deleted.
125
+ # @see https://api.slack.com/events/file_comment_deleted
126
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_comment_deleted.json
127
+ # on :file_comment_deleted do |data|
136
128
 
137
- # A pin was removed from a channel.
138
- # @see https://api.slack.com/events/pin_removed
139
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/pin_removed.json
140
- # on :pin_removed do |data|
129
+ # A file comment was edited.
130
+ # @see https://api.slack.com/events/file_comment_edited
131
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_comment_edited.json
132
+ # on :file_comment_edited do |data|
141
133
 
142
- # A pin was added to a channel.
143
- # @see https://api.slack.com/events/pin_added
144
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/pin_added.json
145
- # on :pin_added do |data|
134
+ # A file was created.
135
+ # @see https://api.slack.com/events/file_created
136
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_created.json
137
+ # on :file_created do |data|
146
138
 
147
- # You manually updated your presence.
148
- # @see https://api.slack.com/events/manual_presence_change
149
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/manual_presence_change.json
150
- # on :manual_presence_change do |data|
139
+ # A file was deleted.
140
+ # @see https://api.slack.com/events/file_deleted
141
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_deleted.json
142
+ # on :file_deleted do |data|
151
143
 
152
- # You opened a direct message channel.
153
- # @see https://api.slack.com/events/im_open
154
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_open.json
155
- # on :im_open do |data|
144
+ # A file was made public.
145
+ # @see https://api.slack.com/events/file_public
146
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_public.json
147
+ # on :file_public do |data|
156
148
 
157
- # A direct message read marker was updated.
158
- # @see https://api.slack.com/events/im_marked
159
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_marked.json
160
- # on :im_marked do |data|
149
+ # A file was shared.
150
+ # @see https://api.slack.com/events/file_shared
151
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_shared.json
152
+ # on :file_shared do |data|
161
153
 
162
- # Bulk updates were made to a DM channel's history.
163
- # @see https://api.slack.com/events/im_history_changed
164
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_history_changed.json
165
- # on :im_history_changed do |data|
154
+ # A file was unshared.
155
+ # @see https://api.slack.com/events/file_unshared
156
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_unshared.json
157
+ # on :file_unshared do |data|
166
158
 
167
- # A direct message channel was created.
168
- # @see https://api.slack.com/events/im_created
169
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_created.json
170
- # on :im_created do |data|
159
+ # The server intends to close the connection soon..
160
+ # @see https://api.slack.com/events/goodbye
161
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/goodbye.json
162
+ # on :goodbye do |data|
171
163
 
172
- # You closed a direct message channel.
173
- # @see https://api.slack.com/events/im_close
174
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_close.json
175
- # on :im_close do |data|
164
+ # A private channel was archived.
165
+ # @see https://api.slack.com/events/group_archive
166
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_archive.json
167
+ # on :group_archive do |data|
176
168
 
177
- # A private group was unarchived.
178
- # @see https://api.slack.com/events/group_unarchive
179
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_unarchive.json
180
- # on :group_unarchive do |data|
169
+ # You closed a private channel.
170
+ # @see https://api.slack.com/events/group_close
171
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_close.json
172
+ # on :group_close do |data|
181
173
 
182
- # A private group was renamed.
183
- # @see https://api.slack.com/events/group_rename
184
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_rename.json
185
- # on :group_rename do |data|
174
+ # A private channel was deleted.
175
+ # @see https://api.slack.com/events/group_deleted
176
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_deleted.json
177
+ # on :group_deleted do |data|
186
178
 
187
- # You opened a group channel.
188
- # @see https://api.slack.com/events/group_open
189
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_open.json
190
- # on :group_open do |data|
179
+ # Bulk updates were made to a private channel's history.
180
+ # @see https://api.slack.com/events/group_history_changed
181
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_history_changed.json
182
+ # on :group_history_changed do |data|
191
183
 
192
- # A private group read marker was updated.
193
- # @see https://api.slack.com/events/group_marked
194
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_marked.json
195
- # on :group_marked do |data|
184
+ # You joined a private channel.
185
+ # @see https://api.slack.com/events/group_joined
186
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_joined.json
187
+ # on :group_joined do |data|
196
188
 
197
- # You left a private group.
189
+ # You left a private channel.
198
190
  # @see https://api.slack.com/events/group_left
199
191
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_left.json
200
192
  # on :group_left do |data|
201
193
 
202
- # You joined a private group.
203
- # @see https://api.slack.com/events/group_joined
204
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_joined.json
205
- # on :group_joined do |data|
194
+ # A private channel read marker was updated.
195
+ # @see https://api.slack.com/events/group_marked
196
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_marked.json
197
+ # on :group_marked do |data|
206
198
 
207
- # Bulk updates were made to a group's history.
208
- # @see https://api.slack.com/events/group_history_changed
209
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_history_changed.json
210
- # on :group_history_changed do |data|
199
+ # You created a group DM.
200
+ # @see https://api.slack.com/events/group_open
201
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_open.json
202
+ # on :group_open do |data|
211
203
 
212
- # You closed a group channel.
213
- # @see https://api.slack.com/events/group_close
214
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_close.json
215
- # on :group_close do |data|
204
+ # A private channel was renamed.
205
+ # @see https://api.slack.com/events/group_rename
206
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_rename.json
207
+ # on :group_rename do |data|
216
208
 
217
- # A private group was archived.
218
- # @see https://api.slack.com/events/group_archive
219
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_archive.json
220
- # on :group_archive do |data|
209
+ # A private channel was unarchived.
210
+ # @see https://api.slack.com/events/group_unarchive
211
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/group_unarchive.json
212
+ # on :group_unarchive do |data|
221
213
 
222
- # A file was unshared.
223
- # @see https://api.slack.com/events/file_unshared
224
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_unshared.json
225
- # on :file_unshared do |data|
214
+ # The client has successfully connected to the server.
215
+ # @see https://api.slack.com/events/hello
216
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/hello.json
217
+ # on :hello do |data|
226
218
 
227
- # A file was shared.
228
- # @see https://api.slack.com/events/file_shared
229
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_shared.json
230
- # on :file_shared do |data|
219
+ # You closed a DM.
220
+ # @see https://api.slack.com/events/im_close
221
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_close.json
222
+ # on :im_close do |data|
231
223
 
232
- # A file was made public.
233
- # @see https://api.slack.com/events/file_public
234
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_public.json
235
- # on :file_public do |data|
224
+ # A DM was created.
225
+ # @see https://api.slack.com/events/im_created
226
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_created.json
227
+ # on :im_created do |data|
236
228
 
237
- # A file was made private.
238
- # @see https://api.slack.com/events/file_private
239
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_private.json
240
- # on :file_private do |data|
229
+ # Bulk updates were made to a DM's history.
230
+ # @see https://api.slack.com/events/im_history_changed
231
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_history_changed.json
232
+ # on :im_history_changed do |data|
241
233
 
242
- # A file was deleted.
243
- # @see https://api.slack.com/events/file_deleted
244
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_deleted.json
245
- # on :file_deleted do |data|
234
+ # A direct message read marker was updated.
235
+ # @see https://api.slack.com/events/im_marked
236
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_marked.json
237
+ # on :im_marked do |data|
246
238
 
247
- # A file was created.
248
- # @see https://api.slack.com/events/file_created
249
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_created.json
250
- # on :file_created do |data|
239
+ # You opened a DM.
240
+ # @see https://api.slack.com/events/im_open
241
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/im_open.json
242
+ # on :im_open do |data|
251
243
 
252
- # A file comment was edited.
253
- # @see https://api.slack.com/events/file_comment_edited
254
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_comment_edited.json
255
- # on :file_comment_edited do |data|
244
+ # You manually updated your presence.
245
+ # @see https://api.slack.com/events/manual_presence_change
246
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/manual_presence_change.json
247
+ # on :manual_presence_change do |data|
256
248
 
257
- # A file comment was deleted.
258
- # @see https://api.slack.com/events/file_comment_deleted
259
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_comment_deleted.json
260
- # on :file_comment_deleted do |data|
249
+ # A user joined a public channel, private channel or MPDM..
250
+ # @see https://api.slack.com/events/member_joined_channel
251
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/member_joined_channel.json
252
+ # on :member_joined_channel do |data|
261
253
 
262
- # A file comment was added.
263
- # @see https://api.slack.com/events/file_comment_added
264
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_comment_added.json
265
- # on :file_comment_added do |data|
254
+ # A user left a public or private channel.
255
+ # @see https://api.slack.com/events/member_left_channel
256
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/member_left_channel.json
257
+ # on :member_left_channel do |data|
266
258
 
267
- # A file was changed.
268
- # @see https://api.slack.com/events/file_change
269
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/file_change.json
270
- # on :file_change do |data|
259
+ # A pin was added to a channel.
260
+ # @see https://api.slack.com/events/pin_added
261
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/pin_added.json
262
+ # on :pin_added do |data|
271
263
 
272
- # A team custom emoji has been added or changed.
273
- # @see https://api.slack.com/events/emoji_changed
274
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/emoji_changed.json
275
- # on :emoji_changed do |data|
264
+ # A pin was removed from a channel.
265
+ # @see https://api.slack.com/events/pin_removed
266
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/pin_removed.json
267
+ # on :pin_removed do |data|
276
268
 
277
- # Do not Disturb settings changed for a team member.
278
- # @see https://api.slack.com/events/dnd_updated_user
279
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/dnd_updated_user.json
280
- # on :dnd_updated_user do |data|
269
+ # You have updated your preferences.
270
+ # @see https://api.slack.com/events/pref_change
271
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/pref_change.json
272
+ on :pref_change do |data|
273
+ self.self.prefs ||= {}
274
+ self.self.prefs[data.name] = data.value
275
+ end
281
276
 
282
- # Do not Disturb settings changed for the current user.
283
- # @see https://api.slack.com/events/dnd_updated
284
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/dnd_updated.json
285
- # on :dnd_updated do |data|
277
+ # A member's presence changed.
278
+ # @see https://api.slack.com/events/presence_change
279
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/presence_change.json
280
+ # on :presence_change do |data|
286
281
 
287
- # A team slash command has been added or changed.
288
- # @see https://api.slack.com/events/commands_changed
289
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/commands_changed.json
290
- # on :commands_changed do |data|
282
+ # Determine the current presence status for a list of users.
283
+ # @see https://api.slack.com/events/presence_query
284
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/presence_query.json
285
+ # on :presence_query do |data|
291
286
 
292
- # A team channel was unarchived.
293
- # @see https://api.slack.com/events/channel_unarchive
294
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_unarchive.json
295
- # on :channel_unarchive do |data|
287
+ # Subscribe to presence events for the specified users.
288
+ # @see https://api.slack.com/events/presence_sub
289
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/presence_sub.json
290
+ # on :presence_sub do |data|
296
291
 
297
- # A team channel was renamed.
298
- # @see https://api.slack.com/events/channel_rename
299
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_rename.json
300
- # on :channel_rename do |data|
292
+ # A member has added an emoji reaction to an item.
293
+ # @see https://api.slack.com/events/reaction_added
294
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/reaction_added.json
295
+ # on :reaction_added do |data|
301
296
 
302
- # Your channel read marker was updated.
303
- # @see https://api.slack.com/events/channel_marked
304
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_marked.json
305
- # on :channel_marked do |data|
297
+ # A member removed an emoji reaction.
298
+ # @see https://api.slack.com/events/reaction_removed
299
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/reaction_removed.json
300
+ # on :reaction_removed do |data|
306
301
 
307
- # You left a channel.
308
- # @see https://api.slack.com/events/channel_left
309
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_left.json
310
- # on :channel_left do |data|
302
+ # Experimental.
303
+ # @see https://api.slack.com/events/reconnect_url
304
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/reconnect_url.json
305
+ # on :reconnect_url do |data|
311
306
 
312
- # You joined a channel.
313
- # @see https://api.slack.com/events/channel_joined
314
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_joined.json
315
- # on :channel_joined do |data|
307
+ # A shared channel invite was sent to a Slack user.
308
+ # @see https://api.slack.com/events/shared_channel_invite_received
309
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/shared_channel_invite_received.json
310
+ # on :shared_channel_invite_received do |data|
316
311
 
317
- # Bulk updates were made to a channel's history.
318
- # @see https://api.slack.com/events/channel_history_changed
319
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_history_changed.json
320
- # on :channel_history_changed do |data|
312
+ # A member has saved an item for later or starred an item.
313
+ # @see https://api.slack.com/events/star_added
314
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/star_added.json
315
+ # on :star_added do |data|
321
316
 
322
- # A team channel was deleted.
323
- # @see https://api.slack.com/events/channel_deleted
324
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_deleted.json
325
- # on :channel_deleted do |data|
317
+ # A member has removed an item saved for later or starred an item.
318
+ # @see https://api.slack.com/events/star_removed
319
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/star_removed.json
320
+ # on :star_removed do |data|
326
321
 
327
- # A team channel was created.
328
- # @see https://api.slack.com/events/channel_created
329
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_created.json
330
- # on :channel_created do |data|
322
+ # A User Group has been added to the workspace.
323
+ # @see https://api.slack.com/events/subteam_created
324
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_created.json
325
+ # on :subteam_created do |data|
331
326
 
332
- # A team channel was archived.
333
- # @see https://api.slack.com/events/channel_archive
334
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/channel_archive.json
335
- # on :channel_archive do |data|
327
+ # The membership of an existing User Group has changed.
328
+ # @see https://api.slack.com/events/subteam_members_changed
329
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_members_changed.json
330
+ # on :subteam_members_changed do |data|
336
331
 
337
- # An integration bot was changed.
338
- # @see https://api.slack.com/events/bot_changed
339
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/bot_changed.json
340
- # on :bot_changed do |data|
332
+ # You have been added to a User Group.
333
+ # @see https://api.slack.com/events/subteam_self_added
334
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_self_added.json
335
+ # on :subteam_self_added do |data|
341
336
 
342
- # An integration bot was added.
343
- # @see https://api.slack.com/events/bot_added
344
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/bot_added.json
345
- # on :bot_added do |data|
337
+ # You have been removed from a User Group.
338
+ # @see https://api.slack.com/events/subteam_self_removed
339
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_self_removed.json
340
+ # on :subteam_self_removed do |data|
346
341
 
347
- # The list of accounts a user is signed into has changed.
348
- # @see https://api.slack.com/events/accounts_changed
349
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/accounts_changed.json
350
- # on :accounts_changed do |data|
342
+ # An existing User Group has been updated or its members changed.
343
+ # @see https://api.slack.com/events/subteam_updated
344
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/subteam_updated.json
345
+ # on :subteam_updated do |data|
351
346
 
352
- # The team domain has changed.
347
+ # The workspace domain has changed.
353
348
  # @see https://api.slack.com/events/team_domain_change
354
349
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_domain_change.json
355
350
  on :team_domain_change do |data|
@@ -357,19 +352,24 @@ module Slack
357
352
  team.domain = data.domain
358
353
  end
359
354
 
360
- # The team is being migrated between servers.
355
+ # A new member has joined.
356
+ # @see https://api.slack.com/events/team_join
357
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_join.json
358
+ # on :team_join do |data|
359
+
360
+ # The workspace is being migrated between servers.
361
361
  # @see https://api.slack.com/events/team_migration_started
362
362
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_migration_started.json
363
363
  # on :team_migration_started do |data|
364
364
 
365
- # The team billing plan has changed.
365
+ # The account billing plan has changed.
366
366
  # @see https://api.slack.com/events/team_plan_change
367
367
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_plan_change.json
368
368
  on :team_plan_change do |data|
369
369
  team.plan = data.plan
370
370
  end
371
371
 
372
- # A team preference has been updated.
372
+ # A preference has been updated.
373
373
  # @see https://api.slack.com/events/team_pref_change
374
374
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_pref_change.json
375
375
  on :team_pref_change do |data|
@@ -377,34 +377,72 @@ module Slack
377
377
  team.prefs[data.name] = data.value
378
378
  end
379
379
 
380
- # Team profile fields have been updated.
380
+ # The workspace profile fields have been updated.
381
381
  # @see https://api.slack.com/events/team_profile_change
382
382
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_profile_change.json
383
383
  # on :team_profile_change do |data|
384
384
 
385
- # Team profile fields have been deleted.
385
+ # The workspace profile fields have been deleted.
386
386
  # @see https://api.slack.com/events/team_profile_delete
387
387
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_profile_delete.json
388
388
  # on :team_profile_delete do |data|
389
389
 
390
- # Team profile fields have been reordered.
390
+ # The workspace profile fields have been reordered.
391
391
  # @see https://api.slack.com/events/team_profile_reorder
392
392
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_profile_reorder.json
393
393
  # on :team_profile_reorder do |data|
394
394
 
395
- # The team name has changed.
395
+ # The workspace name has changed.
396
396
  # @see https://api.slack.com/events/team_rename
397
397
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/team_rename.json
398
398
  on :team_rename do |data|
399
399
  team.name = data.name
400
400
  end
401
401
 
402
- # The team email domain has changed.
403
- # @see https://api.slack.com/events/email_domain_changed
404
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/email_domain_changed.json
405
- on :email_domain_changed do |data|
406
- team.email_domain = data.email_domain
407
- end
402
+ # A member's data has changed.
403
+ # @see https://api.slack.com/events/user_change
404
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/user_change.json
405
+ # on :user_change do |data|
406
+
407
+ # A user's huddle status has changed.
408
+ # @see https://api.slack.com/events/user_huddle_changed
409
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/user_huddle_changed.json
410
+ # on :user_huddle_changed do |data|
411
+
412
+ # A user's profile data has changed.
413
+ # @see https://api.slack.com/events/user_profile_changed
414
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/user_profile_changed.json
415
+ # on :user_profile_changed do |data|
416
+
417
+ # A user's status has changed.
418
+ # @see https://api.slack.com/events/user_status_changed
419
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/user_status_changed.json
420
+ # on :user_status_changed do |data|
421
+
422
+ # A channel member is typing a message.
423
+ # @see https://api.slack.com/events/user_typing
424
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/user_typing.json
425
+ # on :user_typing do |data|
426
+
427
+ # A message was posted in a multiparty direct message channel.
428
+ # @see https://api.slack.com/events/message.mpim
429
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/message.mpim.json
430
+ # on :message.mpim do |data|
431
+
432
+ # A message was posted in a direct message channel.
433
+ # @see https://api.slack.com/events/message.im
434
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/message.im.json
435
+ # on :message.im do |data|
436
+
437
+ # A message was posted to a private channel.
438
+ # @see https://api.slack.com/events/message.groups
439
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/message.groups.json
440
+ # on :message.groups do |data|
441
+
442
+ # A message was posted to a channel.
443
+ # @see https://api.slack.com/events/message.channels
444
+ # @see https://github.com/slack-ruby/slack-api-ref/blob/master/events/message.channels.json
445
+ # on :message.channels do |data|
408
446
  end
409
447
  end
410
448
  end