slack-ruby-client 1.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (239) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/.github/workflows/integration_test.yml +45 -0
  4. data/.github/workflows/lint.yml +14 -0
  5. data/.github/workflows/pr_lint.yml +21 -0
  6. data/.github/workflows/test.yml +37 -0
  7. data/.gitignore +4 -3
  8. data/.rubocop.yml +6 -1
  9. data/.rubocop_todo.yml +88 -34
  10. data/.ruby-version +1 -0
  11. data/CHANGELOG.md +36 -0
  12. data/CONTRIBUTING.md +6 -5
  13. data/Gemfile +13 -1
  14. data/Gemfile.danger +6 -0
  15. data/README.md +78 -76
  16. data/RELEASING.md +2 -2
  17. data/SECURITY.md +9 -0
  18. data/UPGRADING.md +28 -0
  19. data/bin/commands/admin_analytics.rb +16 -10
  20. data/bin/commands/admin_apps.rb +48 -42
  21. data/bin/commands/admin_apps_approved.rb +17 -11
  22. data/bin/commands/admin_apps_requests.rb +28 -11
  23. data/bin/commands/admin_apps_restricted.rb +17 -11
  24. data/bin/commands/admin_audit_anomaly_allow.rb +29 -0
  25. data/bin/commands/admin_auth_policy.rb +37 -31
  26. data/bin/commands/admin_barriers.rb +44 -38
  27. data/bin/commands/admin_conversations.rb +221 -163
  28. data/bin/commands/admin_conversations_ekm.rb +17 -11
  29. data/bin/commands/admin_conversations_restrictAccess.rb +35 -29
  30. data/bin/commands/admin_emoji.rb +50 -44
  31. data/bin/commands/admin_inviteRequests.rb +34 -28
  32. data/bin/commands/admin_inviteRequests_approved.rb +16 -10
  33. data/bin/commands/admin_inviteRequests_denied.rb +16 -10
  34. data/bin/commands/admin_roles.rb +46 -0
  35. data/bin/commands/admin_teams.rb +26 -20
  36. data/bin/commands/admin_teams_admins.rb +16 -10
  37. data/bin/commands/admin_teams_owners.rb +16 -10
  38. data/bin/commands/admin_teams_settings.rb +59 -53
  39. data/bin/commands/admin_usergroups.rb +45 -39
  40. data/bin/commands/admin_users.rb +91 -85
  41. data/bin/commands/admin_users_session.rb +72 -66
  42. data/bin/commands/admin_users_unsupportedVersions.rb +21 -0
  43. data/bin/commands/api.rb +14 -8
  44. data/bin/commands/apps.rb +15 -9
  45. data/bin/commands/apps_connections.rb +13 -7
  46. data/bin/commands/apps_event_authorizations.rb +16 -10
  47. data/bin/commands/apps_manifest.rb +48 -41
  48. data/bin/commands/auth.rb +21 -15
  49. data/bin/commands/auth_teams.rb +16 -10
  50. data/bin/commands/bookmarks.rb +59 -0
  51. data/bin/commands/bots.rb +15 -9
  52. data/bin/commands/calls.rb +49 -43
  53. data/bin/commands/calls_participants.rb +24 -18
  54. data/bin/commands/chat.rb +150 -141
  55. data/bin/commands/chat_scheduledMessages.rb +19 -13
  56. data/bin/commands/conversations.rb +233 -225
  57. data/bin/commands/dialog.rb +15 -9
  58. data/bin/commands/dnd.rb +46 -40
  59. data/bin/commands/emoji.rb +14 -7
  60. data/bin/commands/files.rb +112 -83
  61. data/bin/commands/files_comments.rb +15 -9
  62. data/bin/commands/files_remote.rb +73 -67
  63. data/bin/commands/functions_workflows_steps.rb +22 -0
  64. data/bin/commands/functions_workflows_steps_responses.rb +22 -0
  65. data/bin/commands/migration.rb +16 -10
  66. data/bin/commands/oauth.rb +18 -12
  67. data/bin/commands/oauth_v2.rb +28 -22
  68. data/bin/commands/openid_connect.rb +26 -20
  69. data/bin/commands/pins.rb +33 -26
  70. data/bin/commands/reactions.rb +52 -46
  71. data/bin/commands/reminders.rb +53 -47
  72. data/bin/commands/rtm.rb +15 -24
  73. data/bin/commands/search.rb +43 -37
  74. data/bin/commands/stars.rb +38 -32
  75. data/bin/commands/team.rb +47 -38
  76. data/bin/commands/team_billing.rb +13 -7
  77. data/bin/commands/team_preferences.rb +13 -7
  78. data/bin/commands/team_profile.rb +14 -8
  79. data/bin/commands/tooling_tokens.rb +14 -8
  80. data/bin/commands/usergroups.rb +64 -58
  81. data/bin/commands/usergroups_users.rb +27 -21
  82. data/bin/commands/users.rb +111 -105
  83. data/bin/commands/users_admin.rb +28 -22
  84. data/bin/commands/users_prefs.rb +13 -7
  85. data/bin/commands/users_profile.rb +26 -20
  86. data/bin/commands/views.rb +47 -39
  87. data/bin/commands/workflows.rb +36 -30
  88. data/bin/slack +48 -43
  89. data/lib/slack/real_time/api/message.rb +3 -2
  90. data/lib/slack/real_time/api/templates/event_handler.erb +5 -1
  91. data/lib/slack/real_time/api/typing.rb +2 -1
  92. data/lib/slack/real_time/client.rb +10 -28
  93. data/lib/slack/real_time/config.rb +3 -3
  94. data/lib/slack/real_time/models/channel.rb +4 -0
  95. data/lib/slack/real_time/models/{group.rb → mpim.rb} +1 -1
  96. data/lib/slack/real_time/models.rb +2 -1
  97. data/lib/slack/real_time/stores/base.rb +25 -9
  98. data/lib/slack/real_time/stores/starter.rb +323 -309
  99. data/lib/slack/real_time/stores/store.rb +265 -198
  100. data/lib/slack/real_time/stores.rb +1 -7
  101. data/lib/slack/version.rb +1 -1
  102. data/lib/slack/web/api/endpoints/admin_analytics.rb +2 -2
  103. data/lib/slack/web/api/endpoints/admin_apps.rb +2 -2
  104. data/lib/slack/web/api/endpoints/admin_apps_requests.rb +16 -0
  105. data/lib/slack/web/api/endpoints/admin_audit_anomaly_allow.rb +34 -0
  106. data/lib/slack/web/api/endpoints/admin_auth_policy.rb +7 -7
  107. data/lib/slack/web/api/endpoints/admin_barriers.rb +8 -8
  108. data/lib/slack/web/api/endpoints/admin_conversations.rb +110 -28
  109. data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +6 -6
  110. data/lib/slack/web/api/endpoints/admin_emoji.rb +9 -9
  111. data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +2 -2
  112. data/lib/slack/web/api/endpoints/admin_roles.rb +73 -0
  113. data/lib/slack/web/api/endpoints/admin_teams.rb +2 -2
  114. data/lib/slack/web/api/endpoints/admin_teams_admins.rb +1 -1
  115. data/lib/slack/web/api/endpoints/admin_teams_owners.rb +1 -1
  116. data/lib/slack/web/api/endpoints/admin_teams_settings.rb +11 -11
  117. data/lib/slack/web/api/endpoints/admin_usergroups.rb +7 -7
  118. data/lib/slack/web/api/endpoints/admin_users.rb +16 -16
  119. data/lib/slack/web/api/endpoints/admin_users_session.rb +8 -8
  120. data/lib/slack/web/api/endpoints/admin_users_unsupportedVersions.rb +25 -0
  121. data/lib/slack/web/api/endpoints/apps.rb +2 -2
  122. data/lib/slack/web/api/endpoints/apps_connections.rb +1 -1
  123. data/lib/slack/web/api/endpoints/apps_event_authorizations.rb +1 -1
  124. data/lib/slack/web/api/endpoints/apps_manifest.rb +8 -6
  125. data/lib/slack/web/api/endpoints/bookmarks.rb +88 -0
  126. data/lib/slack/web/api/endpoints/bots.rb +1 -1
  127. data/lib/slack/web/api/endpoints/calls.rb +5 -5
  128. data/lib/slack/web/api/endpoints/calls_participants.rb +4 -4
  129. data/lib/slack/web/api/endpoints/chat.rb +37 -31
  130. data/lib/slack/web/api/endpoints/conversations.rb +38 -34
  131. data/lib/slack/web/api/endpoints/dialog.rb +2 -2
  132. data/lib/slack/web/api/endpoints/dnd.rb +1 -1
  133. data/lib/slack/web/api/endpoints/emoji.rb +2 -0
  134. data/lib/slack/web/api/endpoints/files.rb +45 -10
  135. data/lib/slack/web/api/endpoints/files_comments.rb +2 -2
  136. data/lib/slack/web/api/endpoints/files_remote.rb +8 -8
  137. data/lib/slack/web/api/endpoints/functions_workflows_steps.rb +28 -0
  138. data/lib/slack/web/api/endpoints/functions_workflows_steps_responses.rb +28 -0
  139. data/lib/slack/web/api/endpoints/migration.rb +1 -1
  140. data/lib/slack/web/api/endpoints/oauth_v2.rb +2 -2
  141. data/lib/slack/web/api/endpoints/pins.rb +5 -3
  142. data/lib/slack/web/api/endpoints/reactions.rb +4 -4
  143. data/lib/slack/web/api/endpoints/reminders.rb +5 -5
  144. data/lib/slack/web/api/endpoints/rtm.rb +0 -23
  145. data/lib/slack/web/api/endpoints/search.rb +3 -3
  146. data/lib/slack/web/api/endpoints/team.rb +13 -1
  147. data/lib/slack/web/api/endpoints/tooling_tokens.rb +1 -1
  148. data/lib/slack/web/api/endpoints/usergroups.rb +5 -5
  149. data/lib/slack/web/api/endpoints/usergroups_users.rb +3 -3
  150. data/lib/slack/web/api/endpoints/users.rb +4 -4
  151. data/lib/slack/web/api/endpoints/users_admin.rb +2 -2
  152. data/lib/slack/web/api/endpoints/users_profile.rb +1 -1
  153. data/lib/slack/web/api/endpoints/views.rb +16 -11
  154. data/lib/slack/web/api/endpoints/workflows.rb +4 -4
  155. data/lib/slack/web/api/endpoints.rb +12 -0
  156. data/lib/slack/web/api/errors.rb +146 -8
  157. data/lib/slack/web/api/mixins/conversations.id.rb +1 -1
  158. data/lib/slack/web/api/mixins/users.id.rb +1 -1
  159. data/lib/slack/web/api/mixins/users.search.rb +2 -1
  160. data/lib/slack/web/api/patches/{chat.1.patch → chat.attachments-blocks.patch} +13 -14
  161. data/lib/slack/web/api/patches/{dialog.1.open-json-support.patch → dialog.encoded-json.patch} +4 -4
  162. data/lib/slack/web/api/patches/views.view-json.patch +55 -0
  163. data/lib/slack/web/api/templates/command.erb +18 -12
  164. data/lib/slack/web/api/templates/method.erb +1 -1
  165. data/lib/slack/web/config.rb +2 -2
  166. data/lib/slack/web/faraday/connection.rb +4 -4
  167. data/lib/slack/web/faraday/request.rb +2 -0
  168. data/lib/slack/web/faraday/response/raise_error.rb +2 -10
  169. data/lib/slack/web/faraday/response/wrap_error.rb +1 -1
  170. data/lib/slack-ruby-client.rb +2 -1
  171. data/lib/tasks/real_time.rake +44 -24
  172. data/lib/tasks/web.rake +9 -8
  173. data/slack-ruby-client.gemspec +5 -14
  174. data/spec/fixtures/slack/web/rtm_connect.yml +85 -1
  175. data/spec/integration/integration_spec.rb +1 -1
  176. data/spec/slack/events/config_spec.rb +2 -0
  177. data/spec/slack/events/request_spec.rb +5 -1
  178. data/spec/slack/messages/formatting_spec.rb +10 -0
  179. data/spec/slack/real_time/api/message_spec.rb +1 -1
  180. data/spec/slack/real_time/api/ping_spec.rb +1 -1
  181. data/spec/slack/real_time/api/typing_spec.rb +1 -1
  182. data/spec/slack/real_time/client_spec.rb +91 -127
  183. data/spec/slack/real_time/event_handlers/bot_spec.rb +19 -17
  184. data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +1 -1
  185. data/spec/slack/real_time/event_handlers/im_spec.rb +30 -27
  186. data/spec/slack/real_time/event_handlers/{group_spec.rb → private_channel_spec.rb} +35 -27
  187. data/spec/slack/real_time/event_handlers/{channel_spec.rb → public_channel_spec.rb} +27 -23
  188. data/spec/slack/real_time/event_handlers/team_spec.rb +7 -8
  189. data/spec/slack/real_time/event_handlers/user_spec.rb +6 -5
  190. data/spec/slack/real_time/stores/store_spec.rb +50 -0
  191. data/spec/slack/slack_spec.rb +5 -4
  192. data/spec/slack/version_spec.rb +1 -1
  193. data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +5 -0
  194. data/spec/slack/web/api/endpoints/admin_audit_anomaly_allow_spec.rb +8 -0
  195. data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +31 -0
  196. data/spec/slack/web/api/endpoints/admin_roles_spec.rb +30 -0
  197. data/spec/slack/web/api/endpoints/admin_users_unsupportedVersions_spec.rb +8 -0
  198. data/spec/slack/web/api/endpoints/bookmarks_spec.rb +40 -0
  199. data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +45 -17
  200. data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +6 -2
  201. data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +33 -16
  202. data/spec/slack/web/api/endpoints/files_spec.rb +13 -0
  203. data/spec/slack/web/api/endpoints/functions_workflows_steps_responses_spec.rb +13 -0
  204. data/spec/slack/web/api/endpoints/functions_workflows_steps_spec.rb +13 -0
  205. data/spec/slack/web/api/mixins/conversations_spec.rb +2 -0
  206. data/spec/slack/web/api/mixins/users_spec.rb +2 -0
  207. data/spec/slack/web/api/pagination/cursor_spec.rb +11 -7
  208. data/spec/slack/web/client_spec.rb +39 -11
  209. data/spec/slack/web/faraday/response/raise_error_spec.rb +1 -1
  210. data/spec/support/real_time/connected_client.rb +1 -1
  211. data/spec/support/real_time/loaded_client.rb +120 -0
  212. metadata +45 -197
  213. data/.travis.yml +0 -29
  214. data/bin/commands/admin_conversations_whitelist.rb +0 -37
  215. data/bin/commands/apps_permissions.rb +0 -23
  216. data/bin/commands/apps_permissions_resources.rb +0 -15
  217. data/bin/commands/apps_permissions_scopes.rb +0 -13
  218. data/bin/commands/apps_permissions_users.rb +0 -26
  219. data/bin/commands/channels.rb +0 -23
  220. data/bin/commands/groups.rb +0 -14
  221. data/bin/commands/im.rb +0 -6
  222. data/bin/commands/mpim.rb +0 -6
  223. data/bin/commands.rb +0 -66
  224. data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +0 -64
  225. data/lib/slack/web/api/endpoints/apps_permissions.rb +0 -36
  226. data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +0 -31
  227. data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +0 -21
  228. data/lib/slack/web/api/endpoints/apps_permissions_users.rb +0 -50
  229. data/lib/slack/web/api/endpoints/channels.rb +0 -25
  230. data/lib/slack/web/api/endpoints/groups.rb +0 -13
  231. data/lib/slack/web/api/endpoints/im.rb +0 -13
  232. data/lib/slack/web/api/endpoints/mpim.rb +0 -13
  233. data/lib/slack/web/api/endpoints/presence.rb +0 -23
  234. data/lib/slack/web/api/patches/views.1.view-json.patch +0 -40
  235. data/lib/slack/web/api/patches/views.1.views-published.patch +0 -16
  236. data/lib/slack/web/api/templates/commands.erb +0 -6
  237. data/spec/fixtures/slack/web/rtm_start.yml +0 -815
  238. data/spec/slack/real_time/rtm_start_spec.rb +0 -14
  239. data/spec/slack/real_time/store_spec.rb +0 -12
@@ -1,18 +1,24 @@
1
1
  # frozen_string_literal: true
2
2
  # This file was auto-generated by lib/tasks/web.rake
3
3
 
4
- desc 'Oauth methods.'
5
- command 'oauth' do |g|
6
- g.desc 'Exchanges a temporary OAuth verifier code for an access token.'
7
- g.long_desc %( Exchanges a temporary OAuth verifier code for an access token. )
8
- g.command 'access' do |c|
9
- c.flag 'client_id', desc: 'Issued when you created your application.'
10
- c.flag 'client_secret', desc: 'Issued when you created your application.'
11
- c.flag 'code', desc: 'The code param returned via the OAuth callback.'
12
- c.flag 'redirect_uri', desc: 'This must match the originally submitted URI (if one was sent).'
13
- c.flag 'single_channel', desc: 'Request the user to add your app only to a single channel. Only valid with a legacy workspace app.'
14
- c.action do |_global_options, options, _args|
15
- puts JSON.dump($client.oauth_access(options))
4
+ module Slack
5
+ module Cli
6
+ class App
7
+ desc 'Oauth methods.'
8
+ command 'oauth' do |g|
9
+ g.desc 'Exchanges a temporary OAuth verifier code for an access token.'
10
+ g.long_desc %( Exchanges a temporary OAuth verifier code for an access token. )
11
+ g.command 'access' do |c|
12
+ c.flag 'client_id', desc: 'Issued when you created your application.'
13
+ c.flag 'client_secret', desc: 'Issued when you created your application.'
14
+ c.flag 'code', desc: 'The code param returned via the OAuth callback.'
15
+ c.flag 'redirect_uri', desc: 'This must match the originally submitted URI (if one was sent).'
16
+ c.flag 'single_channel', desc: 'Request the user to add your app only to a single channel. Only valid with a legacy workspace app.'
17
+ c.action do |_global_options, options, _args|
18
+ puts JSON.dump(@client.oauth_access(options))
19
+ end
20
+ end
21
+ end
16
22
  end
17
23
  end
18
24
  end
@@ -1,29 +1,35 @@
1
1
  # frozen_string_literal: true
2
2
  # This file was auto-generated by lib/tasks/web.rake
3
3
 
4
- desc 'OauthV2 methods.'
5
- command 'oauth_v2' do |g|
6
- g.desc 'Exchanges a temporary OAuth verifier code for an access token.'
7
- g.long_desc %( Exchanges a temporary OAuth verifier code for an access token. )
8
- g.command 'access' do |c|
9
- c.flag 'client_id', desc: 'Issued when you created your application.'
10
- c.flag 'client_secret', desc: 'Issued when you created your application.'
11
- c.flag 'code', desc: 'The code param returned via the OAuth callback.'
12
- c.flag 'grant_type', desc: 'The grant_type param as described in the OAuth spec.'
13
- c.flag 'redirect_uri', desc: 'This must match the originally submitted URI (if one was sent).'
14
- c.flag 'refresh_token', desc: 'The refresh_token param as described in the OAuth spec.'
15
- c.action do |_global_options, options, _args|
16
- puts JSON.dump($client.oauth_v2_access(options))
17
- end
18
- end
4
+ module Slack
5
+ module Cli
6
+ class App
7
+ desc 'OauthV2 methods.'
8
+ command 'oauth_v2' do |g|
9
+ g.desc 'Exchanges a temporary OAuth verifier code for an access token.'
10
+ g.long_desc %( Exchanges a temporary OAuth verifier code for an access token. )
11
+ g.command 'access' do |c|
12
+ c.flag 'client_id', desc: 'Issued when you created your application.'
13
+ c.flag 'client_secret', desc: 'Issued when you created your application.'
14
+ c.flag 'code', desc: 'The code param returned via the OAuth callback.'
15
+ c.flag 'grant_type', desc: 'The grant_type param as described in the OAuth spec.'
16
+ c.flag 'redirect_uri', desc: 'This must match the originally submitted URI (if one was sent).'
17
+ c.flag 'refresh_token', desc: 'The refresh_token param as described in the OAuth spec.'
18
+ c.action do |_global_options, options, _args|
19
+ puts JSON.dump(@client.oauth_v2_access(options))
20
+ end
21
+ end
19
22
 
20
- g.desc 'Exchanges a legacy access token for a new expiring access token and refresh token'
21
- g.long_desc %( Exchanges a legacy access token for a new expiring access token and refresh token )
22
- g.command 'exchange' do |c|
23
- c.flag 'client_id', desc: 'Issued when you created your application.'
24
- c.flag 'client_secret', desc: 'Issued when you created your application.'
25
- c.action do |_global_options, options, _args|
26
- puts JSON.dump($client.oauth_v2_exchange(options))
23
+ g.desc 'Exchanges a legacy access token for a new expiring access token and refresh token'
24
+ g.long_desc %( Exchanges a legacy access token for a new expiring access token and refresh token )
25
+ g.command 'exchange' do |c|
26
+ c.flag 'client_id', desc: 'Issued when you created your application.'
27
+ c.flag 'client_secret', desc: 'Issued when you created your application.'
28
+ c.action do |_global_options, options, _args|
29
+ puts JSON.dump(@client.oauth_v2_exchange(options))
30
+ end
31
+ end
32
+ end
27
33
  end
28
34
  end
29
35
  end
@@ -1,27 +1,33 @@
1
1
  # frozen_string_literal: true
2
2
  # This file was auto-generated by lib/tasks/web.rake
3
3
 
4
- desc 'OpenidConnect methods.'
5
- command 'openid_connect' do |g|
6
- g.desc 'Exchanges a temporary OAuth verifier code for an access token for Sign in with Slack.'
7
- g.long_desc %( Exchanges a temporary OAuth verifier code for an access token for Sign in with Slack. )
8
- g.command 'token' do |c|
9
- c.flag 'client_id', desc: 'Issued when you created your application.'
10
- c.flag 'client_secret', desc: 'Issued when you created your application.'
11
- c.flag 'code', desc: 'The code param returned via the OAuth callback.'
12
- c.flag 'grant_type', desc: 'The grant_type param as described in the OAuth spec.'
13
- c.flag 'redirect_uri', desc: 'This must match the originally submitted URI (if one was sent).'
14
- c.flag 'refresh_token', desc: 'The refresh_token param as described in the OAuth spec.'
15
- c.action do |_global_options, options, _args|
16
- puts JSON.dump($client.openid_connect_token(options))
17
- end
18
- end
4
+ module Slack
5
+ module Cli
6
+ class App
7
+ desc 'OpenidConnect methods.'
8
+ command 'openid_connect' do |g|
9
+ g.desc 'Exchanges a temporary OAuth verifier code for an access token for Sign in with Slack.'
10
+ g.long_desc %( Exchanges a temporary OAuth verifier code for an access token for Sign in with Slack. )
11
+ g.command 'token' do |c|
12
+ c.flag 'client_id', desc: 'Issued when you created your application.'
13
+ c.flag 'client_secret', desc: 'Issued when you created your application.'
14
+ c.flag 'code', desc: 'The code param returned via the OAuth callback.'
15
+ c.flag 'grant_type', desc: 'The grant_type param as described in the OAuth spec.'
16
+ c.flag 'redirect_uri', desc: 'This must match the originally submitted URI (if one was sent).'
17
+ c.flag 'refresh_token', desc: 'The refresh_token param as described in the OAuth spec.'
18
+ c.action do |_global_options, options, _args|
19
+ puts JSON.dump(@client.openid_connect_token(options))
20
+ end
21
+ end
19
22
 
20
- g.desc 'Get the identity of a user who has authorized Sign in with Slack.'
21
- g.long_desc %( Get the identity of a user who has authorized Sign in with Slack. )
22
- g.command 'userInfo' do |c|
23
- c.action do |_global_options, options, _args|
24
- puts JSON.dump($client.openid_connect_userInfo(options))
23
+ g.desc 'Get the identity of a user who has authorized Sign in with Slack.'
24
+ g.long_desc %( Get the identity of a user who has authorized Sign in with Slack. )
25
+ g.command 'userInfo' do |c|
26
+ c.action do |_global_options, options, _args|
27
+ puts JSON.dump(@client.openid_connect_userInfo(options))
28
+ end
29
+ end
30
+ end
25
31
  end
26
32
  end
27
33
  end
data/bin/commands/pins.rb CHANGED
@@ -1,34 +1,41 @@
1
1
  # frozen_string_literal: true
2
2
  # This file was auto-generated by lib/tasks/web.rake
3
3
 
4
- desc 'Pins methods.'
5
- command 'pins' do |g|
6
- g.desc 'Pins an item to a channel.'
7
- g.long_desc %( Pins an item to a channel. )
8
- g.command 'add' do |c|
9
- c.flag 'channel', desc: 'Channel to pin the messsage to. You must also include a timestamp when pinning messages.'
10
- c.flag 'timestamp', desc: 'Timestamp of the message to pin. You must also include the channel.'
11
- c.action do |_global_options, options, _args|
12
- puts JSON.dump($client.pins_add(options))
13
- end
14
- end
4
+ module Slack
5
+ module Cli
6
+ class App
7
+ desc 'Pins methods.'
8
+ command 'pins' do |g|
9
+ g.desc 'Pins an item to a channel.'
10
+ g.long_desc %( Pins an item to a channel. )
11
+ g.command 'add' do |c|
12
+ c.flag 'channel', desc: 'Channel to pin the messsage to. You must also include a timestamp when pinning messages.'
13
+ c.flag 'quip_component_id', desc: 'Component ID for the pins component that was inserted into the channel canvas, if any.'
14
+ c.flag 'timestamp', desc: 'Timestamp of the message to pin. You must also include the channel.'
15
+ c.action do |_global_options, options, _args|
16
+ puts JSON.dump(@client.pins_add(options))
17
+ end
18
+ end
15
19
 
16
- g.desc 'Lists items pinned to a channel.'
17
- g.long_desc %( Lists items pinned to a channel. )
18
- g.command 'list' do |c|
19
- c.flag 'channel', desc: 'Channel to get pinned items for.'
20
- c.action do |_global_options, options, _args|
21
- puts JSON.dump($client.pins_list(options))
22
- end
23
- end
20
+ g.desc 'Lists items pinned to a channel.'
21
+ g.long_desc %( Lists items pinned to a channel. )
22
+ g.command 'list' do |c|
23
+ c.flag 'channel', desc: 'Channel to get pinned items for.'
24
+ c.action do |_global_options, options, _args|
25
+ puts JSON.dump(@client.pins_list(options))
26
+ end
27
+ end
24
28
 
25
- g.desc 'Un-pins an item from a channel.'
26
- g.long_desc %( Un-pins an item from a channel. )
27
- g.command 'remove' do |c|
28
- c.flag 'channel', desc: 'Channel where the item is pinned to.'
29
- c.flag 'timestamp', desc: 'Timestamp of the message to un-pin.'
30
- c.action do |_global_options, options, _args|
31
- puts JSON.dump($client.pins_remove(options))
29
+ g.desc 'Un-pins an item from a channel.'
30
+ g.long_desc %( Un-pins an item from a channel. )
31
+ g.command 'remove' do |c|
32
+ c.flag 'channel', desc: 'Channel where the item is pinned to.'
33
+ c.flag 'timestamp', desc: 'Timestamp of the message to un-pin.'
34
+ c.action do |_global_options, options, _args|
35
+ puts JSON.dump(@client.pins_remove(options))
36
+ end
37
+ end
38
+ end
32
39
  end
33
40
  end
34
41
  end
@@ -1,55 +1,61 @@
1
1
  # frozen_string_literal: true
2
2
  # This file was auto-generated by lib/tasks/web.rake
3
3
 
4
- desc 'Reactions methods.'
5
- command 'reactions' do |g|
6
- g.desc 'Adds a reaction to an item.'
7
- g.long_desc %( Adds a reaction to an item. )
8
- g.command 'add' do |c|
9
- c.flag 'channel', desc: 'Channel where the message to add reaction to was posted.'
10
- c.flag 'name', desc: 'Reaction (emoji) name.'
11
- c.flag 'timestamp', desc: 'Timestamp of the message to add reaction to.'
12
- c.action do |_global_options, options, _args|
13
- puts JSON.dump($client.reactions_add(options))
14
- end
15
- end
4
+ module Slack
5
+ module Cli
6
+ class App
7
+ desc 'Reactions methods.'
8
+ command 'reactions' do |g|
9
+ g.desc 'Adds a reaction to an item.'
10
+ g.long_desc %( Adds a reaction to an item. )
11
+ g.command 'add' do |c|
12
+ c.flag 'channel', desc: 'Channel where the message to add reaction to was posted.'
13
+ c.flag 'name', desc: 'Reaction (emoji) name.'
14
+ c.flag 'timestamp', desc: 'Timestamp of the message to add reaction to.'
15
+ c.action do |_global_options, options, _args|
16
+ puts JSON.dump(@client.reactions_add(options))
17
+ end
18
+ end
16
19
 
17
- g.desc 'Gets reactions for an item.'
18
- g.long_desc %( Gets reactions for an item. )
19
- g.command 'get' do |c|
20
- c.flag 'channel', desc: 'Channel where the message to get reactions for was posted.'
21
- c.flag 'file', desc: 'File to get reactions for.'
22
- c.flag 'file_comment', desc: 'File comment to get reactions for.'
23
- c.flag 'full', desc: 'If true always return the complete reaction list.'
24
- c.flag 'timestamp', desc: 'Timestamp of the message to get reactions for.'
25
- c.action do |_global_options, options, _args|
26
- puts JSON.dump($client.reactions_get(options))
27
- end
28
- end
20
+ g.desc 'Gets reactions for an item.'
21
+ g.long_desc %( Gets reactions for an item. )
22
+ g.command 'get' do |c|
23
+ c.flag 'channel', desc: 'Channel where the message to get reactions for was posted.'
24
+ c.flag 'file', desc: 'File to get reactions for.'
25
+ c.flag 'file_comment', desc: 'File comment to get reactions for.'
26
+ c.flag 'full', desc: 'If true always return the complete reaction list.'
27
+ c.flag 'timestamp', desc: 'Timestamp of the message to get reactions for.'
28
+ c.action do |_global_options, options, _args|
29
+ puts JSON.dump(@client.reactions_get(options))
30
+ end
31
+ end
29
32
 
30
- g.desc 'Lists reactions made by a user.'
31
- g.long_desc %( Lists reactions made by a user. )
32
- g.command 'list' do |c|
33
- c.flag 'cursor', desc: "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."
34
- c.flag 'full', desc: 'If true always return the complete reaction list.'
35
- c.flag 'limit', desc: "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."
36
- c.flag 'team_id', desc: 'encoded team id to list reactions in, required if org token is used.'
37
- c.flag 'user', desc: 'Show reactions made by this user. Defaults to the authed user.'
38
- c.action do |_global_options, options, _args|
39
- puts JSON.dump($client.reactions_list(options))
40
- end
41
- end
33
+ g.desc 'Lists reactions made by a user.'
34
+ g.long_desc %( Lists reactions made by a user. )
35
+ g.command 'list' do |c|
36
+ c.flag 'cursor', desc: "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."
37
+ c.flag 'full', desc: 'If true always return the complete reaction list.'
38
+ c.flag 'limit', desc: "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."
39
+ c.flag 'team_id', desc: 'encoded team id to list reactions in, required if org token is used.'
40
+ c.flag 'user', desc: 'Show reactions made by this user. Defaults to the authed user.'
41
+ c.action do |_global_options, options, _args|
42
+ puts JSON.dump(@client.reactions_list(options))
43
+ end
44
+ end
42
45
 
43
- g.desc 'Removes a reaction from an item.'
44
- g.long_desc %( Removes a reaction from an item. )
45
- g.command 'remove' do |c|
46
- c.flag 'name', desc: 'Reaction (emoji) name.'
47
- c.flag 'channel', desc: 'Channel where the message to remove reaction from was posted.'
48
- c.flag 'file', desc: 'File to remove reaction from.'
49
- c.flag 'file_comment', desc: 'File comment to remove reaction from.'
50
- c.flag 'timestamp', desc: 'Timestamp of the message to remove reaction from.'
51
- c.action do |_global_options, options, _args|
52
- puts JSON.dump($client.reactions_remove(options))
46
+ g.desc 'Removes a reaction from an item.'
47
+ g.long_desc %( Removes a reaction from an item. )
48
+ g.command 'remove' do |c|
49
+ c.flag 'name', desc: 'Reaction (emoji) name.'
50
+ c.flag 'channel', desc: 'Channel where the message to remove reaction from was posted.'
51
+ c.flag 'file', desc: 'File to remove reaction from.'
52
+ c.flag 'file_comment', desc: 'File comment to remove reaction from.'
53
+ c.flag 'timestamp', desc: 'Timestamp of the message to remove reaction from.'
54
+ c.action do |_global_options, options, _args|
55
+ puts JSON.dump(@client.reactions_remove(options))
56
+ end
57
+ end
58
+ end
53
59
  end
54
60
  end
55
61
  end
@@ -1,57 +1,63 @@
1
1
  # frozen_string_literal: true
2
2
  # This file was auto-generated by lib/tasks/web.rake
3
3
 
4
- desc 'Reminders methods.'
5
- command 'reminders' do |g|
6
- g.desc 'Creates a reminder.'
7
- g.long_desc %( Creates a reminder. )
8
- g.command 'add' do |c|
9
- c.flag 'text', desc: 'The content of the reminder.'
10
- c.flag 'time', desc: 'When this reminder should happen: the Unix timestamp (up to five years from now), the number of seconds until the reminder (if within 24 hours), or a natural language description (Ex. "in 15 minutes," or "every Thursday").'
11
- c.flag 'recurrence', desc: 'Specify the repeating behavior of a reminder. Available options: daily, weekly, monthly, or yearly. If weekly, may further specify the days of the week.'
12
- c.flag 'team_id', desc: 'Encoded team id, required if org token is used.'
13
- c.flag 'user', desc: 'The user who will receive the reminder. If no user is specified, the reminder will go to user who created it.'
14
- c.action do |_global_options, options, _args|
15
- puts JSON.dump($client.reminders_add(options))
16
- end
17
- end
4
+ module Slack
5
+ module Cli
6
+ class App
7
+ desc 'Reminders methods.'
8
+ command 'reminders' do |g|
9
+ g.desc 'Creates a reminder.'
10
+ g.long_desc %( Creates a reminder. )
11
+ g.command 'add' do |c|
12
+ c.flag 'text', desc: 'The content of the reminder.'
13
+ c.flag 'time', desc: 'When this reminder should happen: the Unix timestamp (up to five years from now), the number of seconds until the reminder (if within 24 hours), or a natural language description (Ex. "in 15 minutes," or "every Thursday").'
14
+ c.flag 'recurrence', desc: 'Specify the repeating behavior of a reminder. Available options: daily, weekly, monthly, or yearly. If weekly, may further specify the days of the week.'
15
+ c.flag 'team_id', desc: 'Encoded team id, required if org token is used.'
16
+ c.flag 'user', desc: 'The user who will receive the reminder. If no user is specified, the reminder will go to user who created it.'
17
+ c.action do |_global_options, options, _args|
18
+ puts JSON.dump(@client.reminders_add(options))
19
+ end
20
+ end
18
21
 
19
- g.desc 'Marks a reminder as complete.'
20
- g.long_desc %( Marks a reminder as complete. )
21
- g.command 'complete' do |c|
22
- c.flag 'reminder', desc: 'The ID of the reminder to be marked as complete.'
23
- c.flag 'team_id', desc: 'Encoded team id, required if org token is used.'
24
- c.action do |_global_options, options, _args|
25
- puts JSON.dump($client.reminders_complete(options))
26
- end
27
- end
22
+ g.desc 'Marks a reminder as complete.'
23
+ g.long_desc %( Marks a reminder as complete. )
24
+ g.command 'complete' do |c|
25
+ c.flag 'reminder', desc: 'The ID of the reminder to be marked as complete.'
26
+ c.flag 'team_id', desc: 'Encoded team id, required if org token is used.'
27
+ c.action do |_global_options, options, _args|
28
+ puts JSON.dump(@client.reminders_complete(options))
29
+ end
30
+ end
28
31
 
29
- g.desc 'Deletes a reminder.'
30
- g.long_desc %( Deletes a reminder. )
31
- g.command 'delete' do |c|
32
- c.flag 'reminder', desc: 'The ID of the reminder.'
33
- c.flag 'team_id', desc: 'Encoded team id, required if org token is used.'
34
- c.action do |_global_options, options, _args|
35
- puts JSON.dump($client.reminders_delete(options))
36
- end
37
- end
32
+ g.desc 'Deletes a reminder.'
33
+ g.long_desc %( Deletes a reminder. )
34
+ g.command 'delete' do |c|
35
+ c.flag 'reminder', desc: 'The ID of the reminder.'
36
+ c.flag 'team_id', desc: 'Encoded team id, required if org token is used.'
37
+ c.action do |_global_options, options, _args|
38
+ puts JSON.dump(@client.reminders_delete(options))
39
+ end
40
+ end
38
41
 
39
- g.desc 'Gets information about a reminder.'
40
- g.long_desc %( Gets information about a reminder. )
41
- g.command 'info' do |c|
42
- c.flag 'reminder', desc: 'The ID of the reminder.'
43
- c.flag 'team_id', desc: 'Encoded team id, required if org token is passed.'
44
- c.action do |_global_options, options, _args|
45
- puts JSON.dump($client.reminders_info(options))
46
- end
47
- end
42
+ g.desc 'Gets information about a reminder.'
43
+ g.long_desc %( Gets information about a reminder. )
44
+ g.command 'info' do |c|
45
+ c.flag 'reminder', desc: 'The ID of the reminder.'
46
+ c.flag 'team_id', desc: 'Encoded team id, required if org token is passed.'
47
+ c.action do |_global_options, options, _args|
48
+ puts JSON.dump(@client.reminders_info(options))
49
+ end
50
+ end
48
51
 
49
- g.desc 'Lists all reminders created by or for a given user.'
50
- g.long_desc %( Lists all reminders created by or for a given user. )
51
- g.command 'list' do |c|
52
- c.flag 'team_id', desc: 'Encoded team id, required if org token is passed.'
53
- c.action do |_global_options, options, _args|
54
- puts JSON.dump($client.reminders_list(options))
52
+ g.desc 'Lists all reminders created by or for a given user.'
53
+ g.long_desc %( Lists all reminders created by or for a given user. )
54
+ g.command 'list' do |c|
55
+ c.flag 'team_id', desc: 'Encoded team id, required if org token is passed.'
56
+ c.action do |_global_options, options, _args|
57
+ puts JSON.dump(@client.reminders_list(options))
58
+ end
59
+ end
60
+ end
55
61
  end
56
62
  end
57
63
  end
data/bin/commands/rtm.rb CHANGED
@@ -1,30 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
  # This file was auto-generated by lib/tasks/web.rake
3
3
 
4
- desc 'Rtm methods.'
5
- command 'rtm' do |g|
6
- g.desc 'Starts a Real Time Messaging session.'
7
- g.long_desc %( Starts a Real Time Messaging session. )
8
- g.command 'connect' do |c|
9
- c.flag 'batch_presence_aware', desc: 'Batch presence deliveries via subscription. Enabling changes the shape of presence_change events. See batch presence.'
10
- c.flag 'presence_sub', desc: 'Only deliver presence events when requested by subscription. See presence subscriptions.'
11
- c.action do |_global_options, options, _args|
12
- puts JSON.dump($client.rtm_connect(options))
13
- end
14
- end
15
-
16
- g.desc 'Deprecated: Starts a Real Time Messaging session. Use rtm.connect instead.'
17
- g.long_desc %( Deprecated: Starts a Real Time Messaging session. Use rtm.connect instead. )
18
- g.command 'start' do |c|
19
- c.flag 'batch_presence_aware', desc: 'Batch presence deliveries via subscription. Enabling changes the shape of presence_change events. See batch presence.'
20
- c.flag 'include_locale', desc: 'Set this to true to receive the locale for users and channels. Defaults to false.'
21
- c.flag 'mpim_aware', desc: 'Returns MPIMs to the client in the API response.'
22
- c.flag 'no_latest', desc: 'Exclude latest timestamps for channels, groups, mpims, and ims. Automatically sets no_unreads to 1.'
23
- c.flag 'no_unreads', desc: 'Skip unread counts for each channel (improves performance).'
24
- c.flag 'presence_sub', desc: 'Only deliver presence events when requested by subscription. See presence subscriptions.'
25
- c.flag 'simple_latest', desc: 'Return timestamp only for latest message object of each channel (improves performance).'
26
- c.action do |_global_options, options, _args|
27
- puts JSON.dump($client.rtm_start(options))
4
+ module Slack
5
+ module Cli
6
+ class App
7
+ desc 'Rtm methods.'
8
+ command 'rtm' do |g|
9
+ g.desc 'Starts a Real Time Messaging session.'
10
+ g.long_desc %( Starts a Real Time Messaging session. )
11
+ g.command 'connect' do |c|
12
+ c.flag 'batch_presence_aware', desc: 'Batch presence deliveries via subscription. Enabling changes the shape of presence_change events. See batch presence.'
13
+ c.flag 'presence_sub', desc: 'Only deliver presence events when requested by subscription. See presence subscriptions.'
14
+ c.action do |_global_options, options, _args|
15
+ puts JSON.dump(@client.rtm_connect(options))
16
+ end
17
+ end
18
+ end
28
19
  end
29
20
  end
30
21
  end
@@ -1,45 +1,51 @@
1
1
  # frozen_string_literal: true
2
2
  # This file was auto-generated by lib/tasks/web.rake
3
3
 
4
- desc 'Search methods.'
5
- command 'search' do |g|
6
- g.desc 'Searches for messages and files matching a query.'
7
- g.long_desc %( Searches for messages and files matching a query. )
8
- g.command 'all' do |c|
9
- c.flag 'query', desc: 'Search query. May contains booleans, etc.'
10
- c.flag 'highlight', desc: 'Pass a value of true to enable query highlight markers (see below).'
11
- c.flag 'sort', desc: 'Return matches sorted by either score or timestamp.'
12
- c.flag 'sort_dir', desc: 'Change sort direction to ascending (asc) or descending (desc).'
13
- c.flag 'team_id', desc: 'encoded team id to search in, required if org token is used.'
14
- c.action do |_global_options, options, _args|
15
- puts JSON.dump($client.search_all(options))
16
- end
17
- end
4
+ module Slack
5
+ module Cli
6
+ class App
7
+ desc 'Search methods.'
8
+ command 'search' do |g|
9
+ g.desc 'Searches for messages and files matching a query.'
10
+ g.long_desc %( Searches for messages and files matching a query. )
11
+ g.command 'all' do |c|
12
+ c.flag 'query', desc: 'Search query. May contains booleans, etc.'
13
+ c.flag 'highlight', desc: 'Pass a value of true to enable query highlight markers (see below).'
14
+ c.flag 'sort', desc: 'Return matches sorted by either score or timestamp.'
15
+ c.flag 'sort_dir', desc: 'Change sort direction to ascending (asc) or descending (desc).'
16
+ c.flag 'team_id', desc: 'encoded team id to search in, required if org token is used.'
17
+ c.action do |_global_options, options, _args|
18
+ puts JSON.dump(@client.search_all(options))
19
+ end
20
+ end
18
21
 
19
- g.desc 'Searches for files matching a query.'
20
- g.long_desc %( Searches for files matching a query. )
21
- g.command 'files' do |c|
22
- c.flag 'query', desc: 'Search query.'
23
- c.flag 'highlight', desc: 'Pass a value of true to enable query highlight markers (see below).'
24
- c.flag 'sort', desc: 'Return matches sorted by either score or timestamp.'
25
- c.flag 'sort_dir', desc: 'Change sort direction to ascending (asc) or descending (desc).'
26
- c.flag 'team_id', desc: 'encoded team id to search in, required if org token is used.'
27
- c.action do |_global_options, options, _args|
28
- puts JSON.dump($client.search_files(options))
29
- end
30
- end
22
+ g.desc 'Searches for files matching a query.'
23
+ g.long_desc %( Searches for files matching a query. )
24
+ g.command 'files' do |c|
25
+ c.flag 'query', desc: 'Search query.'
26
+ c.flag 'highlight', desc: 'Pass a value of true to enable query highlight markers (see below).'
27
+ c.flag 'sort', desc: 'Return matches sorted by either score or timestamp.'
28
+ c.flag 'sort_dir', desc: 'Change sort direction to ascending (asc) or descending (desc).'
29
+ c.flag 'team_id', desc: 'encoded team id to search in, required if org token is used.'
30
+ c.action do |_global_options, options, _args|
31
+ puts JSON.dump(@client.search_files(options))
32
+ end
33
+ end
31
34
 
32
- g.desc 'Searches for messages matching a query.'
33
- g.long_desc %( Searches for messages matching a query. )
34
- g.command 'messages' do |c|
35
- c.flag 'query', desc: 'Search query.'
36
- c.flag 'cursor', desc: "Use this when getting results with cursormark pagination. For first call send * for subsequent calls, send the value of next_cursor returned in the previous call's results."
37
- c.flag 'highlight', desc: 'Pass a value of true to enable query highlight markers (see below).'
38
- c.flag 'sort', desc: 'Return matches sorted by either score or timestamp.'
39
- c.flag 'sort_dir', desc: 'Change sort direction to ascending (asc) or descending (desc).'
40
- c.flag 'team_id', desc: 'encoded team id to search in, required if org token is used.'
41
- c.action do |_global_options, options, _args|
42
- puts JSON.dump($client.search_messages(options))
35
+ g.desc 'Searches for messages matching a query.'
36
+ g.long_desc %( Searches for messages matching a query. )
37
+ g.command 'messages' do |c|
38
+ c.flag 'query', desc: 'Search query.'
39
+ c.flag 'cursor', desc: "Use this when getting results with cursormark pagination. For first call send * for subsequent calls, send the value of next_cursor returned in the previous call's results."
40
+ c.flag 'highlight', desc: 'Pass a value of true to enable query highlight markers (see below).'
41
+ c.flag 'sort', desc: 'Return matches sorted by either score or timestamp.'
42
+ c.flag 'sort_dir', desc: 'Change sort direction to ascending (asc) or descending (desc).'
43
+ c.flag 'team_id', desc: 'encoded team id to search in, required if org token is used.'
44
+ c.action do |_global_options, options, _args|
45
+ puts JSON.dump(@client.search_messages(options))
46
+ end
47
+ end
48
+ end
43
49
  end
44
50
  end
45
51
  end