slack-ruby-client 0.14.2 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/FUNDING.yml +1 -0
- data/.rubocop.yml +23 -7
- data/.rubocop_todo.yml +103 -43
- data/.travis.yml +0 -1
- data/CHANGELOG.md +39 -2
- data/CONTRIBUTING.md +24 -6
- data/Dangerfile +2 -1
- data/Gemfile +10 -3
- data/README.md +90 -30
- data/Rakefile +1 -0
- data/UPGRADING.md +16 -0
- data/bin/commands.rb +24 -0
- data/bin/commands/admin_apps.rb +27 -0
- data/bin/commands/admin_apps_approved.rb +17 -0
- data/bin/commands/admin_apps_requests.rb +16 -0
- data/bin/commands/admin_apps_restricted.rb +17 -0
- data/bin/commands/admin_conversations.rb +17 -0
- data/bin/commands/admin_conversations_restrictAccess.rb +37 -0
- data/bin/commands/admin_conversations_whitelist.rb +37 -0
- data/bin/commands/admin_emoji.rb +54 -0
- data/bin/commands/admin_inviteRequests.rb +36 -0
- data/bin/commands/admin_inviteRequests_approved.rb +16 -0
- data/bin/commands/admin_inviteRequests_denied.rb +16 -0
- data/bin/commands/admin_teams.rb +27 -0
- data/bin/commands/admin_teams_admins.rb +16 -0
- data/bin/commands/admin_teams_owners.rb +16 -0
- data/bin/commands/admin_teams_settings.rb +64 -0
- data/bin/commands/admin_usergroups.rb +48 -0
- data/bin/commands/admin_users.rb +97 -0
- data/bin/commands/admin_users_session.rb +16 -0
- data/bin/commands/api.rb +3 -2
- data/bin/commands/apps.rb +3 -2
- data/bin/commands/apps_permissions.rb +5 -4
- data/bin/commands/apps_permissions_resources.rb +3 -2
- data/bin/commands/apps_permissions_scopes.rb +3 -2
- data/bin/commands/apps_permissions_users.rb +5 -4
- data/bin/commands/auth.rb +5 -4
- data/bin/commands/bots.rb +3 -2
- data/bin/commands/calls.rb +52 -0
- data/bin/commands/calls_participants.rb +25 -0
- data/bin/commands/channels.rb +31 -30
- data/bin/commands/chat.rb +36 -32
- data/bin/commands/chat_scheduledMessages.rb +3 -2
- data/bin/commands/conversations.rb +36 -36
- data/bin/commands/dialog.rb +3 -2
- data/bin/commands/dnd.rb +9 -8
- data/bin/commands/emoji.rb +3 -2
- data/bin/commands/files.rb +14 -12
- data/bin/commands/files_comments.rb +3 -2
- data/bin/commands/files_remote.rb +78 -0
- data/bin/commands/groups.rb +33 -32
- data/bin/commands/im.rb +13 -12
- data/bin/commands/migration.rb +3 -2
- data/bin/commands/mpim.rb +11 -10
- data/bin/commands/oauth.rb +6 -5
- data/bin/commands/oauth_v2.rb +17 -0
- data/bin/commands/pins.rb +7 -8
- data/bin/commands/reactions.rb +10 -11
- data/bin/commands/reminders.rb +11 -10
- data/bin/commands/rtm.rb +5 -4
- data/bin/commands/search.rb +7 -6
- data/bin/commands/stars.rb +7 -6
- data/bin/commands/team.rb +10 -8
- data/bin/commands/team_profile.rb +3 -2
- data/bin/commands/usergroups.rb +11 -10
- data/bin/commands/usergroups_users.rb +5 -4
- data/bin/commands/users.rb +21 -20
- data/bin/commands/users_admin.rb +1 -0
- data/bin/commands/users_prefs.rb +1 -0
- data/bin/commands/users_profile.rb +5 -4
- data/bin/commands/views.rb +48 -0
- data/bin/slack +1 -2
- data/examples/hi_real_time/Gemfile +1 -0
- data/examples/hi_real_time/hi.rb +7 -3
- data/examples/hi_real_time_and_web/Gemfile +1 -0
- data/examples/hi_real_time_and_web/hi.rb +7 -3
- data/examples/hi_real_time_async_async/Gemfile +1 -0
- data/examples/hi_real_time_async_async/hi.rb +6 -2
- data/examples/hi_real_time_async_celluloid/Gemfile +1 -0
- data/examples/hi_real_time_async_celluloid/hi.rb +7 -3
- data/examples/hi_real_time_async_eventmachine/Gemfile +1 -0
- data/examples/hi_real_time_async_eventmachine/hi.rb +7 -3
- data/examples/hi_web/Gemfile +1 -0
- data/examples/hi_web/hi.rb +1 -0
- data/examples/new_ticket/Gemfile +1 -0
- data/examples/new_ticket/new_ticket.rb +1 -0
- data/lib/slack-ruby-client.rb +4 -4
- data/lib/slack.rb +1 -0
- data/lib/slack/config.rb +1 -0
- data/lib/slack/events/config.rb +1 -0
- data/lib/slack/events/request.rb +3 -1
- data/lib/slack/logger.rb +6 -5
- data/lib/slack/messages/formatting.rb +1 -0
- data/lib/slack/messages/message.rb +1 -4
- data/lib/slack/real_time/api/message.rb +3 -1
- data/lib/slack/real_time/api/message_id.rb +1 -0
- data/lib/slack/real_time/api/ping.rb +5 -2
- data/lib/slack/real_time/api/typing.rb +3 -1
- data/lib/slack/real_time/client.rb +46 -22
- data/lib/slack/real_time/concurrency.rb +1 -0
- data/lib/slack/real_time/concurrency/async.rb +18 -9
- data/lib/slack/real_time/concurrency/celluloid.rb +10 -4
- data/lib/slack/real_time/concurrency/eventmachine.rb +9 -6
- data/lib/slack/real_time/config.rb +6 -1
- data/lib/slack/real_time/models.rb +1 -0
- data/lib/slack/real_time/models/base.rb +1 -4
- data/lib/slack/real_time/models/bot.rb +1 -0
- data/lib/slack/real_time/models/channel.rb +1 -0
- data/lib/slack/real_time/models/group.rb +1 -0
- data/lib/slack/real_time/models/im.rb +1 -0
- data/lib/slack/real_time/models/team.rb +1 -0
- data/lib/slack/real_time/models/user.rb +1 -0
- data/lib/slack/real_time/socket.rb +16 -13
- data/lib/slack/real_time/stores.rb +1 -0
- data/lib/slack/real_time/stores/base.rb +4 -1
- data/lib/slack/real_time/stores/starter.rb +11 -0
- data/lib/slack/real_time/stores/store.rb +26 -25
- data/lib/slack/version.rb +2 -1
- data/lib/slack/web/api/endpoints.rb +48 -0
- data/lib/slack/web/api/endpoints/admin_apps.rb +42 -0
- data/lib/slack/web/api/endpoints/admin_apps_approved.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_apps_requests.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_apps_restricted.rb +35 -0
- data/lib/slack/web/api/endpoints/admin_conversations.rb +30 -0
- data/lib/slack/web/api/endpoints/admin_conversations_restrictAccess.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_conversations_whitelist.rb +64 -0
- data/lib/slack/web/api/endpoints/admin_emoji.rb +88 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests.rb +61 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_approved.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_inviteRequests_denied.rb +33 -0
- data/lib/slack/web/api/endpoints/admin_teams.rb +50 -0
- data/lib/slack/web/api/endpoints/admin_teams_admins.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_owners.rb +34 -0
- data/lib/slack/web/api/endpoints/admin_teams_settings.rb +99 -0
- data/lib/slack/web/api/endpoints/admin_usergroups.rb +77 -0
- data/lib/slack/web/api/endpoints/admin_users.rb +163 -0
- data/lib/slack/web/api/endpoints/admin_users_session.rb +28 -0
- data/lib/slack/web/api/endpoints/api.rb +2 -1
- data/lib/slack/web/api/endpoints/apps.rb +2 -1
- data/lib/slack/web/api/endpoints/apps_permissions.rb +3 -2
- data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +2 -1
- data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +2 -1
- data/lib/slack/web/api/endpoints/apps_permissions_users.rb +3 -2
- data/lib/slack/web/api/endpoints/auth.rb +3 -2
- data/lib/slack/web/api/endpoints/bots.rb +2 -1
- data/lib/slack/web/api/endpoints/calls.rb +83 -0
- data/lib/slack/web/api/endpoints/calls_participants.rb +42 -0
- data/lib/slack/web/api/endpoints/channels.rb +44 -29
- data/lib/slack/web/api/endpoints/chat.rb +38 -31
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +3 -2
- data/lib/slack/web/api/endpoints/conversations.rb +34 -35
- data/lib/slack/web/api/endpoints/dialog.rb +2 -1
- data/lib/slack/web/api/endpoints/dnd.rb +6 -4
- data/lib/slack/web/api/endpoints/emoji.rb +2 -1
- data/lib/slack/web/api/endpoints/files.rb +11 -8
- data/lib/slack/web/api/endpoints/files_comments.rb +2 -1
- data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
- data/lib/slack/web/api/endpoints/groups.rb +33 -18
- data/lib/slack/web/api/endpoints/im.rb +17 -12
- data/lib/slack/web/api/endpoints/migration.rb +2 -1
- data/lib/slack/web/api/endpoints/mpim.rb +16 -11
- data/lib/slack/web/api/endpoints/oauth.rb +4 -6
- data/lib/slack/web/api/endpoints/oauth_v2.rb +30 -0
- data/lib/slack/web/api/endpoints/pins.rb +8 -12
- data/lib/slack/web/api/endpoints/reactions.rb +12 -15
- data/lib/slack/web/api/endpoints/reminders.rb +6 -5
- data/lib/slack/web/api/endpoints/rtm.rb +3 -2
- data/lib/slack/web/api/endpoints/search.rb +4 -3
- data/lib/slack/web/api/endpoints/stars.rb +6 -7
- data/lib/slack/web/api/endpoints/team.rb +7 -5
- data/lib/slack/web/api/endpoints/team_profile.rb +2 -1
- data/lib/slack/web/api/endpoints/usergroups.rb +6 -5
- data/lib/slack/web/api/endpoints/usergroups_users.rb +3 -2
- data/lib/slack/web/api/endpoints/users.rb +11 -12
- data/lib/slack/web/api/endpoints/users_admin.rb +1 -0
- data/lib/slack/web/api/endpoints/users_prefs.rb +1 -0
- data/lib/slack/web/api/endpoints/users_profile.rb +3 -2
- data/lib/slack/web/api/endpoints/views.rb +97 -0
- data/lib/slack/web/api/error.rb +1 -0
- data/lib/slack/web/api/errors.rb +656 -0
- data/lib/slack/web/api/errors/slack_error.rb +14 -1
- data/lib/slack/web/api/errors/too_many_requests_error.rb +1 -0
- data/lib/slack/web/api/mixins.rb +2 -0
- data/lib/slack/web/api/mixins/channels.id.rb +1 -0
- data/lib/slack/web/api/mixins/conversations.id.rb +27 -0
- data/lib/slack/web/api/mixins/groups.id.rb +1 -0
- data/lib/slack/web/api/mixins/ids.id.rb +1 -0
- data/lib/slack/web/api/mixins/users.id.rb +1 -0
- data/lib/slack/web/api/mixins/users.search.rb +1 -0
- data/lib/slack/web/api/patches/{chat.6.block-kit-support.patch → chat.1.patch} +29 -26
- data/lib/slack/web/api/patches/views.1.view-json.patch +40 -0
- data/lib/slack/web/api/patches/views.1.views-published.patch +16 -0
- data/lib/slack/web/api/templates/command.erb +1 -0
- data/lib/slack/web/api/templates/commands.erb +1 -0
- data/lib/slack/web/api/templates/endpoints.erb +1 -0
- data/lib/slack/web/api/templates/errors.erb +20 -0
- data/lib/slack/web/api/templates/method.erb +5 -1
- data/lib/slack/web/api/templates/method_spec.erb +1 -0
- data/lib/slack/web/client.rb +2 -1
- data/lib/slack/web/config.rb +1 -0
- data/lib/slack/web/faraday/connection.rb +24 -20
- data/lib/slack/web/faraday/request.rb +1 -0
- data/lib/slack/web/faraday/response/raise_error.rb +10 -6
- data/lib/slack/web/pagination/cursor.rb +3 -2
- data/lib/slack_ruby_client.rb +1 -0
- data/lib/tasks/git.rake +1 -0
- data/lib/tasks/real_time.rake +13 -5
- data/lib/tasks/update.rake +1 -0
- data/lib/tasks/web.rake +27 -7
- data/screenshots/create-app.png +0 -0
- data/slack-ruby-client.gemspec +6 -3
- data/spec/fixtures/slack/web/channels_info.yml +108 -15
- data/spec/fixtures/slack/web/views_open_error.yml +76 -0
- data/spec/integration/integration_spec.rb +26 -23
- data/spec/slack/config_spec.rb +2 -0
- data/spec/slack/events/config_spec.rb +8 -4
- data/spec/slack/events/request_spec.rb +67 -37
- data/spec/slack/messages/formatting_spec.rb +25 -13
- data/spec/slack/real_time/api/message_spec.rb +6 -1
- data/spec/slack/real_time/api/ping_spec.rb +2 -0
- data/spec/slack/real_time/api/typing_spec.rb +5 -1
- data/spec/slack/real_time/client_spec.rb +178 -32
- data/spec/slack/real_time/concurrency/celluloid_spec.rb +11 -6
- data/spec/slack/real_time/concurrency/eventmachine_spec.rb +9 -1
- data/spec/slack/real_time/concurrency/it_behaves_like_a_realtime_socket.rb +2 -0
- data/spec/slack/real_time/event_handlers/bot_spec.rb +2 -1
- data/spec/slack/real_time/event_handlers/channel_spec.rb +9 -6
- data/spec/slack/real_time/event_handlers/event_handlers_spec.rb +2 -1
- data/spec/slack/real_time/event_handlers/group_spec.rb +5 -4
- data/spec/slack/real_time/event_handlers/im_spec.rb +4 -3
- data/spec/slack/real_time/event_handlers/team_spec.rb +3 -1
- data/spec/slack/real_time/event_handlers/user_spec.rb +1 -0
- data/spec/slack/real_time/rtm_connect_spec.rb +1 -0
- data/spec/slack/real_time/rtm_start_spec.rb +1 -0
- data/spec/slack/real_time/store_spec.rb +2 -1
- data/spec/slack/slack_spec.rb +37 -5
- data/spec/slack/version_spec.rb +2 -1
- data/spec/slack/web/api/endpoints/admin_apps_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_requests_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_restricted_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_apps_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +32 -0
- data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_conversations_whitelist_spec.rb +32 -0
- data/spec/slack/web/api/endpoints/admin_emoji_spec.rb +37 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_approved_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_denied_spec.rb +8 -0
- data/spec/slack/web/api/endpoints/admin_inviteRequests_spec.rb +18 -0
- data/spec/slack/web/api/endpoints/admin_teams_admins_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_owners_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_teams_settings_spec.rb +53 -0
- data/spec/slack/web/api/endpoints/admin_teams_spec.rb +16 -0
- data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +37 -0
- data/spec/slack/web/api/endpoints/admin_users_session_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/admin_users_spec.rb +75 -0
- data/spec/slack/web/api/endpoints/api_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/apps_permissions_resources_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/apps_permissions_scopes_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/apps_permissions_spec.rb +3 -2
- data/spec/slack/web/api/endpoints/apps_permissions_users_spec.rb +4 -3
- data/spec/slack/web/api/endpoints/apps_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/bots_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/calls_participants_spec.rb +24 -0
- data/spec/slack/web/api/endpoints/calls_spec.rb +31 -0
- data/spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/conversations_spec.rb +2 -1
- data/spec/slack/web/api/endpoints/custom_specs/auth_spec.rb +5 -1
- data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +5 -3
- data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +80 -25
- data/spec/slack/web/api/endpoints/custom_specs/dialog_spec.rb +12 -4
- data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +2 -0
- data/spec/slack/web/api/endpoints/custom_specs/users_spec.rb +6 -1
- data/spec/slack/web/api/endpoints/custom_specs/views_spec.rb +95 -0
- data/spec/slack/web/api/endpoints/dnd_spec.rb +6 -0
- data/spec/slack/web/api/endpoints/emoji_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/files_comments_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/files_remote_spec.rb +24 -0
- data/spec/slack/web/api/endpoints/files_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/im_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/migration_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/mpim_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/oauth_spec.rb +1 -11
- data/spec/slack/web/api/endpoints/oauth_v2_spec.rb +13 -0
- data/spec/slack/web/api/endpoints/pins_spec.rb +5 -1
- data/spec/slack/web/api/endpoints/reactions_spec.rb +8 -1
- data/spec/slack/web/api/endpoints/reminders_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/rtm_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/search_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/stars_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/team_profile_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/team_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/usergroups_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/usergroups_users_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/users_admin_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/users_prefs_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/users_profile_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/views_spec.rb +29 -0
- data/spec/slack/web/api/error_spec.rb +4 -2
- data/spec/slack/web/api/errors/service_unavailable_spec.rb +8 -5
- data/spec/slack/web/api/errors/slack_error_spec.rb +26 -2
- data/spec/slack/web/api/mixins/channels_spec.rb +17 -7
- data/spec/slack/web/api/mixins/conversations_spec.rb +41 -0
- data/spec/slack/web/api/mixins/groups_spec.rb +17 -7
- data/spec/slack/web/api/mixins/users_spec.rb +17 -8
- data/spec/slack/web/api/pagination/cursor_spec.rb +40 -10
- data/spec/slack/web/client_spec.rb +71 -18
- data/spec/slack/web/faraday/response/raise_error_spec.rb +41 -7
- data/spec/spec_helper.rb +2 -1
- data/spec/support/queue_with_timeout.rb +1 -0
- data/spec/support/real_time/concurrency/mock.rb +1 -0
- data/spec/support/real_time/connected_client.rb +9 -3
- data/spec/support/real_time/event.rb +1 -0
- data/spec/support/token.rb +1 -0
- data/spec/support/vcr.rb +1 -0
- metadata +156 -30
- data/lib/slack/web/api/patches/chat.1.text-attachments-required.patch +0 -13
- data/lib/slack/web/api/patches/chat.2.attachments-json.patch +0 -17
- data/lib/slack/web/api/patches/chat.3.update-attachments-support.patch +0 -21
- data/lib/slack/web/api/patches/chat.4.postEphemeral-attachments-support.patch +0 -17
- data/lib/slack/web/api/patches/chat.5.postEphemeral-text-or-attachments.patch +0 -13
- data/screenshots/register-bot.png +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
desc 'UsergroupsUsers methods.'
|
|
4
5
|
command 'usergroups_users' do |g|
|
|
5
|
-
g.desc '
|
|
6
|
-
g.long_desc %(
|
|
6
|
+
g.desc 'List all users in a User Group'
|
|
7
|
+
g.long_desc %( List all users in a User Group )
|
|
7
8
|
g.command 'list' do |c|
|
|
8
9
|
c.flag 'usergroup', desc: 'The encoded ID of the User Group to update.'
|
|
9
10
|
c.flag 'include_disabled', desc: 'Allow results that involve disabled User Groups.'
|
|
@@ -12,8 +13,8 @@ command 'usergroups_users' do |g|
|
|
|
12
13
|
end
|
|
13
14
|
end
|
|
14
15
|
|
|
15
|
-
g.desc '
|
|
16
|
-
g.long_desc %(
|
|
16
|
+
g.desc 'Update the list of users for a User Group'
|
|
17
|
+
g.long_desc %( Update the list of users for a User Group )
|
|
17
18
|
g.command 'update' do |c|
|
|
18
19
|
c.flag 'usergroup', desc: 'The encoded ID of the User Group to update.'
|
|
19
20
|
c.flag 'users', desc: 'A comma separated string of encoded user IDs that represent the entire list of users for the User Group.'
|
data/bin/commands/users.rb
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
desc 'Users methods.'
|
|
4
5
|
command 'users' do |g|
|
|
5
|
-
g.desc
|
|
6
|
-
g.long_desc %(
|
|
6
|
+
g.desc 'List conversations the calling user may access.'
|
|
7
|
+
g.long_desc %( List conversations the calling user may access. )
|
|
7
8
|
g.command 'conversations' do |c|
|
|
8
9
|
c.flag 'cursor', desc: "Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first 'page' of the collection. See pagination for more detail."
|
|
9
10
|
c.flag 'exclude_archived', desc: 'Set to true to exclude archived channels from the list.'
|
|
@@ -15,16 +16,16 @@ command 'users' do |g|
|
|
|
15
16
|
end
|
|
16
17
|
end
|
|
17
18
|
|
|
18
|
-
g.desc '
|
|
19
|
-
g.long_desc %(
|
|
19
|
+
g.desc 'Delete the user profile photo'
|
|
20
|
+
g.long_desc %( Delete the user profile photo )
|
|
20
21
|
g.command 'deletePhoto' do |c|
|
|
21
22
|
c.action do |_global_options, options, _args|
|
|
22
23
|
puts JSON.dump($client.users_deletePhoto(options))
|
|
23
24
|
end
|
|
24
25
|
end
|
|
25
26
|
|
|
26
|
-
g.desc
|
|
27
|
-
g.long_desc %(
|
|
27
|
+
g.desc 'Gets user presence information.'
|
|
28
|
+
g.long_desc %( Gets user presence information. )
|
|
28
29
|
g.command 'getPresence' do |c|
|
|
29
30
|
c.flag 'user', desc: 'User to get presence info on. Defaults to the authed user.'
|
|
30
31
|
c.action do |_global_options, options, _args|
|
|
@@ -41,16 +42,16 @@ command 'users' do |g|
|
|
|
41
42
|
end
|
|
42
43
|
end
|
|
43
44
|
|
|
44
|
-
g.desc "
|
|
45
|
-
g.long_desc %(
|
|
45
|
+
g.desc "Get a user's identity."
|
|
46
|
+
g.long_desc %( Get a user's identity. )
|
|
46
47
|
g.command 'identity' do |c|
|
|
47
48
|
c.action do |_global_options, options, _args|
|
|
48
49
|
puts JSON.dump($client.users_identity(options))
|
|
49
50
|
end
|
|
50
51
|
end
|
|
51
52
|
|
|
52
|
-
g.desc '
|
|
53
|
-
g.long_desc %(
|
|
53
|
+
g.desc 'Gets information about a user.'
|
|
54
|
+
g.long_desc %( Gets information about a user. )
|
|
54
55
|
g.command 'info' do |c|
|
|
55
56
|
c.flag 'user', desc: 'User to get info on.'
|
|
56
57
|
c.flag 'include_locale', desc: 'Set this to true to receive the locale for this user. Defaults to false.'
|
|
@@ -59,8 +60,8 @@ command 'users' do |g|
|
|
|
59
60
|
end
|
|
60
61
|
end
|
|
61
62
|
|
|
62
|
-
g.desc '
|
|
63
|
-
g.long_desc %(
|
|
63
|
+
g.desc 'Lists all users in a Slack team.'
|
|
64
|
+
g.long_desc %( Lists all users in a Slack team. )
|
|
64
65
|
g.command 'list' do |c|
|
|
65
66
|
c.flag 'cursor', desc: "Paginate through collections of data by setting the cursor parameter to a next_cursor attribute returned by a previous request's response_metadata. Default value fetches the first 'page' of the collection. See pagination for more detail."
|
|
66
67
|
c.flag 'include_locale', desc: 'Set this to true to receive the locale for users. Defaults to false.'
|
|
@@ -70,8 +71,8 @@ command 'users' do |g|
|
|
|
70
71
|
end
|
|
71
72
|
end
|
|
72
73
|
|
|
73
|
-
g.desc '
|
|
74
|
-
g.long_desc %(
|
|
74
|
+
g.desc 'Find a user with an email address.'
|
|
75
|
+
g.long_desc %( Find a user with an email address. )
|
|
75
76
|
g.command 'lookupByEmail' do |c|
|
|
76
77
|
c.flag 'email', desc: 'An email address belonging to a user in the workspace.'
|
|
77
78
|
c.action do |_global_options, options, _args|
|
|
@@ -88,16 +89,16 @@ command 'users' do |g|
|
|
|
88
89
|
end
|
|
89
90
|
end
|
|
90
91
|
|
|
91
|
-
g.desc '
|
|
92
|
-
g.long_desc %(
|
|
92
|
+
g.desc 'Marked a user as active. Deprecated and non-functional.'
|
|
93
|
+
g.long_desc %( Marked a user as active. Deprecated and non-functional. )
|
|
93
94
|
g.command 'setActive' do |c|
|
|
94
95
|
c.action do |_global_options, options, _args|
|
|
95
96
|
puts JSON.dump($client.users_setActive(options))
|
|
96
97
|
end
|
|
97
98
|
end
|
|
98
99
|
|
|
99
|
-
g.desc '
|
|
100
|
-
g.long_desc %(
|
|
100
|
+
g.desc 'Set the user profile photo'
|
|
101
|
+
g.long_desc %( Set the user profile photo )
|
|
101
102
|
g.command 'setPhoto' do |c|
|
|
102
103
|
c.flag 'image', desc: 'File contents via multipart/form-data.'
|
|
103
104
|
c.flag 'crop_w', desc: 'Width/height of crop box (always square).'
|
|
@@ -108,8 +109,8 @@ command 'users' do |g|
|
|
|
108
109
|
end
|
|
109
110
|
end
|
|
110
111
|
|
|
111
|
-
g.desc
|
|
112
|
-
g.long_desc %(
|
|
112
|
+
g.desc 'Manually sets user presence.'
|
|
113
|
+
g.long_desc %( Manually sets user presence. )
|
|
113
114
|
g.command 'setPresence' do |c|
|
|
114
115
|
c.flag 'presence', desc: 'Either auto or away.'
|
|
115
116
|
c.action do |_global_options, options, _args|
|
data/bin/commands/users_admin.rb
CHANGED
data/bin/commands/users_prefs.rb
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
desc 'UsersProfile methods.'
|
|
4
5
|
command 'users_profile' do |g|
|
|
5
|
-
g.desc "
|
|
6
|
-
g.long_desc %(
|
|
6
|
+
g.desc "Retrieves a user's profile information."
|
|
7
|
+
g.long_desc %( Retrieves a user's profile information. )
|
|
7
8
|
g.command 'get' do |c|
|
|
8
9
|
c.flag 'include_labels', desc: 'Include labels for each ID in custom profile fields.'
|
|
9
10
|
c.flag 'user', desc: 'User to retrieve profile info for.'
|
|
@@ -12,8 +13,8 @@ command 'users_profile' do |g|
|
|
|
12
13
|
end
|
|
13
14
|
end
|
|
14
15
|
|
|
15
|
-
g.desc
|
|
16
|
-
g.long_desc %(
|
|
16
|
+
g.desc 'Set the profile information for a user.'
|
|
17
|
+
g.long_desc %( Set the profile information for a user. )
|
|
17
18
|
g.command 'set' do |c|
|
|
18
19
|
c.flag 'name', desc: 'Name of a single key to set. Usable only if profile is not passed.'
|
|
19
20
|
c.flag 'profile', desc: 'Collection of key:value pairs presented as a URL-encoded JSON hash. At most 50 fields may be set. Each field name is limited to 255 characters.'
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
|
3
|
+
|
|
4
|
+
desc 'Views methods.'
|
|
5
|
+
command 'views' do |g|
|
|
6
|
+
g.desc 'Open a view for a user.'
|
|
7
|
+
g.long_desc %( Open a view for a user. )
|
|
8
|
+
g.command 'open' do |c|
|
|
9
|
+
c.flag 'trigger_id', desc: 'Exchange a trigger to post to the user.'
|
|
10
|
+
c.flag 'view', desc: 'A view payload. This must be a JSON-encoded string.'
|
|
11
|
+
c.action do |_global_options, options, _args|
|
|
12
|
+
puts JSON.dump($client.views_open(options))
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
g.desc 'Publish a static view for a User.'
|
|
17
|
+
g.long_desc %( Publish a static view for a User. )
|
|
18
|
+
g.command 'publish' do |c|
|
|
19
|
+
c.flag 'user_id', desc: 'id of the user you want publish a view to.'
|
|
20
|
+
c.flag 'view', desc: 'A view payload. This must be a JSON-encoded string.'
|
|
21
|
+
c.flag 'hash', desc: 'A string that represents view state to protect against possible race conditions.'
|
|
22
|
+
c.action do |_global_options, options, _args|
|
|
23
|
+
puts JSON.dump($client.views_publish(options))
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
g.desc 'Push a view onto the stack of a root view.'
|
|
28
|
+
g.long_desc %( Push a view onto the stack of a root view. )
|
|
29
|
+
g.command 'push' do |c|
|
|
30
|
+
c.flag 'trigger_id', desc: 'Exchange a trigger to post to the user.'
|
|
31
|
+
c.flag 'view', desc: 'A view payload. This must be a JSON-encoded string.'
|
|
32
|
+
c.action do |_global_options, options, _args|
|
|
33
|
+
puts JSON.dump($client.views_push(options))
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
g.desc 'Update an existing view.'
|
|
38
|
+
g.long_desc %( Update an existing view. )
|
|
39
|
+
g.command 'update' do |c|
|
|
40
|
+
c.flag 'view', desc: 'A view payload This must be a JSON-encoded string.'
|
|
41
|
+
c.flag 'external_id', desc: 'A unique identifier of the view set by the developer. Must be unique for all views on a team. Max length of 255 characters. Either view_id or external_id is required.'
|
|
42
|
+
c.flag 'hash', desc: 'A string that represents view state to protect against possible race conditions.'
|
|
43
|
+
c.flag 'view_id', desc: 'A unique identifier of the view to be updated. Either view_id or external_id is required.'
|
|
44
|
+
c.action do |_global_options, options, _args|
|
|
45
|
+
puts JSON.dump($client.views_update(options))
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
data/bin/slack
CHANGED
data/examples/hi_real_time/hi.rb
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
require 'slack-ruby-client'
|
|
2
3
|
|
|
3
4
|
Slack.configure do |config|
|
|
@@ -10,7 +11,10 @@ end
|
|
|
10
11
|
client = Slack::RealTime::Client.new
|
|
11
12
|
|
|
12
13
|
client.on :hello do
|
|
13
|
-
puts
|
|
14
|
+
puts(
|
|
15
|
+
"Successfully connected, welcome '#{client.self.name}' to " \
|
|
16
|
+
"the '#{client.team.name}' team at https://#{client.team.domain}.slack.com."
|
|
17
|
+
)
|
|
14
18
|
end
|
|
15
19
|
|
|
16
20
|
client.on :message do |data|
|
|
@@ -19,9 +23,9 @@ client.on :message do |data|
|
|
|
19
23
|
client.typing channel: data.channel
|
|
20
24
|
|
|
21
25
|
case data.text
|
|
22
|
-
when 'bot hi'
|
|
26
|
+
when 'bot hi'
|
|
23
27
|
client.message channel: data.channel, text: "Hi <@#{data.user}>!"
|
|
24
|
-
when /^bot/
|
|
28
|
+
when /^bot/
|
|
25
29
|
client.message channel: data.channel, text: "Sorry <@#{data.user}>, what?"
|
|
26
30
|
end
|
|
27
31
|
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
require 'slack-ruby-client'
|
|
2
3
|
|
|
3
4
|
Slack.configure do |config|
|
|
@@ -8,15 +9,18 @@ end
|
|
|
8
9
|
client = Slack::RealTime::Client.new
|
|
9
10
|
|
|
10
11
|
client.on :hello do
|
|
11
|
-
puts
|
|
12
|
+
puts(
|
|
13
|
+
"Successfully connected, welcome '#{client.self.name}' " \
|
|
14
|
+
"to the '#{client.team.name}' team at https://#{client.team.domain}.slack.com."
|
|
15
|
+
)
|
|
12
16
|
end
|
|
13
17
|
|
|
14
18
|
client.on :message do |data|
|
|
15
19
|
puts data
|
|
16
20
|
case data.text
|
|
17
|
-
when 'bot hi'
|
|
21
|
+
when 'bot hi'
|
|
18
22
|
client.web_client.chat_postMessage channel: data.channel, text: "Hi <@#{data.user}>!"
|
|
19
|
-
when /^bot/
|
|
23
|
+
when /^bot/
|
|
20
24
|
client.web_client.chat_postMessage channel: data.channel, text: "Sorry <@#{data.user}>, what?"
|
|
21
25
|
end
|
|
22
26
|
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
require 'slack-ruby-client'
|
|
2
3
|
require 'async'
|
|
3
4
|
|
|
@@ -15,7 +16,10 @@ ENV['SLACK_API_TOKENS'].split.each do |token|
|
|
|
15
16
|
client = Slack::RealTime::Client.new(token: token)
|
|
16
17
|
|
|
17
18
|
client.on :hello do
|
|
18
|
-
logger.info
|
|
19
|
+
logger.info(
|
|
20
|
+
"Successfully connected, welcome '#{client.self.name}' to " \
|
|
21
|
+
"the '#{client.team.name}' team at https://#{client.team.domain}.slack.com."
|
|
22
|
+
)
|
|
19
23
|
end
|
|
20
24
|
|
|
21
25
|
client.on :message do |data|
|
|
@@ -24,7 +28,7 @@ ENV['SLACK_API_TOKENS'].split.each do |token|
|
|
|
24
28
|
client.typing channel: data.channel
|
|
25
29
|
|
|
26
30
|
case data.text
|
|
27
|
-
when /hi/
|
|
31
|
+
when /hi/
|
|
28
32
|
client.message channel: data.channel, text: "Hi <@#{data.user}>!"
|
|
29
33
|
else
|
|
30
34
|
client.message channel: data.channel, text: "Sorry <@#{data.user}>, what?"
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
require 'slack-ruby-client'
|
|
2
3
|
|
|
3
4
|
raise 'Missing ENV[SLACK_API_TOKENS]!' unless ENV.key?('SLACK_API_TOKENS')
|
|
@@ -13,7 +14,10 @@ ENV['SLACK_API_TOKENS'].split.each do |token|
|
|
|
13
14
|
client = Slack::RealTime::Client.new(token: token)
|
|
14
15
|
|
|
15
16
|
client.on :hello do
|
|
16
|
-
logger.info
|
|
17
|
+
logger.info(
|
|
18
|
+
"Successfully connected, welcome '#{client.self.name}' to " \
|
|
19
|
+
"the '#{client.team.name}' team at https://#{client.team.domain}.slack.com."
|
|
20
|
+
)
|
|
17
21
|
end
|
|
18
22
|
|
|
19
23
|
client.on :message do |data|
|
|
@@ -22,9 +26,9 @@ ENV['SLACK_API_TOKENS'].split.each do |token|
|
|
|
22
26
|
client.typing channel: data.channel
|
|
23
27
|
|
|
24
28
|
case data.text
|
|
25
|
-
when 'bot hi'
|
|
29
|
+
when 'bot hi'
|
|
26
30
|
client.message channel: data.channel, text: "Hi <@#{data.user}>!"
|
|
27
|
-
when /^bot/
|
|
31
|
+
when /^bot/
|
|
28
32
|
client.message channel: data.channel, text: "Sorry <@#{data.user}>, what?"
|
|
29
33
|
end
|
|
30
34
|
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
require 'slack-ruby-client'
|
|
2
3
|
|
|
3
4
|
raise 'Missing ENV[SLACK_API_TOKENS]!' unless ENV.key?('SLACK_API_TOKENS')
|
|
@@ -13,7 +14,10 @@ ENV['SLACK_API_TOKENS'].split.each do |token|
|
|
|
13
14
|
client = Slack::RealTime::Client.new(token: token)
|
|
14
15
|
|
|
15
16
|
client.on :hello do
|
|
16
|
-
logger.info
|
|
17
|
+
logger.info(
|
|
18
|
+
"Successfully connected, welcome '#{client.self.name}' to " \
|
|
19
|
+
"the '#{client.team.name}' team at https://#{client.team.domain}.slack.com."
|
|
20
|
+
)
|
|
17
21
|
end
|
|
18
22
|
|
|
19
23
|
client.on :message do |data|
|
|
@@ -22,9 +26,9 @@ ENV['SLACK_API_TOKENS'].split.each do |token|
|
|
|
22
26
|
client.typing channel: data.channel
|
|
23
27
|
|
|
24
28
|
case data.text
|
|
25
|
-
when 'bot hi'
|
|
29
|
+
when 'bot hi'
|
|
26
30
|
client.message channel: data.channel, text: "Hi <@#{data.user}>!"
|
|
27
|
-
when /^bot/
|
|
31
|
+
when /^bot/
|
|
28
32
|
client.message channel: data.channel, text: "Sorry <@#{data.user}>, what?"
|
|
29
33
|
end
|
|
30
34
|
end
|
data/examples/hi_web/Gemfile
CHANGED
data/examples/hi_web/hi.rb
CHANGED
data/examples/new_ticket/Gemfile
CHANGED
data/lib/slack-ruby-client.rb
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
require_relative 'slack/version'
|
|
2
3
|
require_relative 'slack/logger'
|
|
3
4
|
require_relative 'slack/config'
|
|
@@ -14,18 +15,19 @@ require 'json'
|
|
|
14
15
|
require 'logger'
|
|
15
16
|
begin
|
|
16
17
|
require 'picky'
|
|
17
|
-
rescue LoadError
|
|
18
|
+
rescue LoadError # rubocop:disable Lint/SuppressedException
|
|
18
19
|
# ignore, only used in users_search
|
|
19
20
|
end
|
|
20
21
|
begin
|
|
21
22
|
require 'openssl'
|
|
22
|
-
rescue LoadError
|
|
23
|
+
rescue LoadError # rubocop:disable Lint/SuppressedException
|
|
23
24
|
# Used in slack/web/config
|
|
24
25
|
end
|
|
25
26
|
require_relative 'slack/web/config'
|
|
26
27
|
require_relative 'slack/web/api/errors/slack_error'
|
|
27
28
|
require_relative 'slack/web/api/errors/too_many_requests_error'
|
|
28
29
|
require_relative 'slack/web/api/error'
|
|
30
|
+
require_relative 'slack/web/api/errors'
|
|
29
31
|
require_relative 'slack/web/faraday/response/raise_error'
|
|
30
32
|
require_relative 'slack/web/faraday/connection'
|
|
31
33
|
require_relative 'slack/web/faraday/request'
|
|
@@ -35,8 +37,6 @@ require_relative 'slack/web/pagination/cursor'
|
|
|
35
37
|
require_relative 'slack/web/client'
|
|
36
38
|
|
|
37
39
|
# RealTime API
|
|
38
|
-
require 'active_support'
|
|
39
|
-
require 'active_support/core_ext'
|
|
40
40
|
require_relative 'slack/real_time/concurrency'
|
|
41
41
|
require_relative 'slack/real_time/socket'
|
|
42
42
|
require_relative 'slack/real_time/api/message_id'
|