slack-ruby-client 0.12.0 → 0.14.6
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/.gitignore +1 -0
- data/.rubocop.yml +21 -9
- data/.rubocop_todo.yml +64 -56
- data/.travis.yml +5 -3
- data/CHANGELOG.md +90 -32
- data/Dangerfile +2 -0
- data/Gemfile +10 -4
- data/LICENSE.md +1 -1
- data/README.md +176 -32
- data/Rakefile +2 -1
- data/UPGRADING.md +27 -1
- data/bin/commands.rb +21 -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_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_users.rb +97 -0
- data/bin/commands/admin_users_session.rb +16 -0
- data/bin/commands/api.rb +1 -0
- data/bin/commands/apps.rb +15 -0
- data/bin/commands/apps_permissions.rb +1 -0
- data/bin/commands/apps_permissions_resources.rb +1 -0
- data/bin/commands/apps_permissions_scopes.rb +1 -0
- data/bin/commands/apps_permissions_users.rb +1 -0
- data/bin/commands/auth.rb +1 -0
- data/bin/commands/bots.rb +1 -0
- data/bin/commands/channels.rb +3 -1
- data/bin/commands/chat.rb +48 -9
- data/bin/commands/chat_scheduledMessages.rb +18 -0
- data/bin/commands/conversations.rb +4 -2
- data/bin/commands/dialog.rb +1 -0
- data/bin/commands/dnd.rb +4 -3
- data/bin/commands/emoji.rb +1 -0
- data/bin/commands/files.rb +4 -14
- data/bin/commands/files_comments.rb +1 -21
- data/bin/commands/files_remote.rb +78 -0
- data/bin/commands/groups.rb +2 -1
- data/bin/commands/im.rb +2 -1
- data/bin/commands/migration.rb +1 -0
- data/bin/commands/mpim.rb +2 -1
- data/bin/commands/oauth.rb +2 -1
- data/bin/commands/oauth_v2.rb +17 -0
- data/bin/commands/pins.rb +1 -2
- data/bin/commands/reactions.rb +2 -3
- data/bin/commands/reminders.rb +1 -0
- data/bin/commands/rtm.rb +1 -0
- data/bin/commands/search.rb +2 -1
- data/bin/commands/stars.rb +1 -0
- data/bin/commands/team.rb +2 -0
- data/bin/commands/team_profile.rb +1 -0
- data/bin/commands/usergroups.rb +2 -1
- data/bin/commands/usergroups_users.rb +1 -0
- data/bin/commands/users.rb +2 -2
- data/bin/commands/users_admin.rb +1 -0
- data/bin/commands/users_prefs.rb +1 -0
- data/bin/commands/users_profile.rb +1 -0
- data/bin/commands/views.rb +48 -0
- data/bin/slack +2 -3
- 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 +7 -0
- data/examples/hi_real_time_async_async/Procfile +2 -0
- data/examples/hi_real_time_async_async/hi.rb +41 -0
- 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 +8 -2
- data/lib/slack.rb +1 -0
- data/lib/slack/config.rb +1 -0
- data/lib/slack/events/config.rb +32 -0
- data/lib/slack/events/request.rb +66 -0
- data/lib/slack/logger.rb +6 -5
- data/lib/slack/messages/formatting.rb +1 -0
- data/lib/slack/messages/message.rb +1 -0
- 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 +97 -28
- data/lib/slack/real_time/concurrency.rb +2 -0
- data/lib/slack/real_time/concurrency/async.rb +142 -0
- data/lib/slack/real_time/concurrency/celluloid.rb +33 -9
- data/lib/slack/real_time/concurrency/eventmachine.rb +32 -7
- data/lib/slack/real_time/config.rb +7 -2
- data/lib/slack/real_time/models.rb +1 -0
- data/lib/slack/real_time/models/base.rb +1 -0
- 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 +42 -13
- data/lib/slack/real_time/stores.rb +1 -0
- data/lib/slack/real_time/stores/base.rb +1 -0
- data/lib/slack/real_time/stores/starter.rb +11 -0
- data/lib/slack/real_time/stores/store.rb +28 -25
- data/lib/slack/version.rb +2 -1
- data/lib/slack/web/api/endpoints.rb +41 -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_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_users.rb +163 -0
- data/lib/slack/web/api/endpoints/admin_users_session.rb +28 -0
- data/lib/slack/web/api/endpoints/api.rb +1 -0
- data/lib/slack/web/api/endpoints/apps.rb +27 -0
- data/lib/slack/web/api/endpoints/apps_permissions.rb +1 -0
- data/lib/slack/web/api/endpoints/apps_permissions_resources.rb +1 -0
- data/lib/slack/web/api/endpoints/apps_permissions_scopes.rb +1 -0
- data/lib/slack/web/api/endpoints/apps_permissions_users.rb +1 -0
- data/lib/slack/web/api/endpoints/auth.rb +1 -0
- data/lib/slack/web/api/endpoints/bots.rb +1 -0
- data/lib/slack/web/api/endpoints/channels.rb +3 -0
- data/lib/slack/web/api/endpoints/chat.rb +99 -12
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +38 -0
- data/lib/slack/web/api/endpoints/conversations.rb +4 -1
- data/lib/slack/web/api/endpoints/dialog.rb +1 -0
- data/lib/slack/web/api/endpoints/dnd.rb +3 -1
- data/lib/slack/web/api/endpoints/emoji.rb +1 -0
- data/lib/slack/web/api/endpoints/files.rb +4 -13
- data/lib/slack/web/api/endpoints/files_comments.rb +1 -33
- data/lib/slack/web/api/endpoints/files_remote.rb +127 -0
- data/lib/slack/web/api/endpoints/groups.rb +1 -0
- data/lib/slack/web/api/endpoints/im.rb +1 -0
- data/lib/slack/web/api/endpoints/migration.rb +1 -0
- data/lib/slack/web/api/endpoints/mpim.rb +1 -0
- data/lib/slack/web/api/endpoints/oauth.rb +2 -1
- data/lib/slack/web/api/endpoints/oauth_v2.rb +30 -0
- data/lib/slack/web/api/endpoints/pins.rb +2 -4
- data/lib/slack/web/api/endpoints/reactions.rb +5 -6
- data/lib/slack/web/api/endpoints/reminders.rb +1 -0
- data/lib/slack/web/api/endpoints/rtm.rb +1 -0
- data/lib/slack/web/api/endpoints/search.rb +1 -0
- data/lib/slack/web/api/endpoints/stars.rb +1 -0
- data/lib/slack/web/api/endpoints/team.rb +3 -0
- data/lib/slack/web/api/endpoints/team_profile.rb +1 -0
- data/lib/slack/web/api/endpoints/usergroups.rb +1 -0
- data/lib/slack/web/api/endpoints/usergroups_users.rb +1 -0
- data/lib/slack/web/api/endpoints/users.rb +1 -2
- 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 +1 -0
- 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 +566 -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 +1 -0
- data/lib/slack/web/api/mixins/channels.id.rb +1 -0
- data/lib/slack/web/api/mixins/groups.id.rb +1 -0
- data/lib/slack/web/api/mixins/ids.id.rb +4 -1
- 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.5.postEphemeral-text-or-attachments.patch +5 -3
- data/lib/slack/web/api/patches/chat.6.block-kit-support.patch +69 -0
- 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 +1 -0
- 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 +1 -0
- 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 +4 -0
- data/lib/slack_ruby_client.rb +1 -0
- data/lib/tasks/git.rake +1 -0
- data/lib/tasks/real_time.rake +15 -5
- data/lib/tasks/update.rake +1 -0
- data/lib/tasks/web.rake +28 -7
- data/screenshots/create-app.png +0 -0
- data/slack-ruby-client.gemspec +6 -2
- data/spec/fixtures/slack/web/views_open_error.yml +76 -0
- data/spec/integration/integration_spec.rb +116 -48
- data/spec/slack/config_spec.rb +2 -0
- data/spec/slack/events/config_spec.rb +33 -0
- data/spec/slack/events/request_spec.rb +179 -0
- 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 +212 -31
- data/spec/slack/real_time/concurrency/celluloid_spec.rb +15 -5
- data/spec/slack/real_time/concurrency/eventmachine_spec.rb +11 -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_spec.rb +13 -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_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 +16 -0
- data/spec/slack/web/api/endpoints/bots_spec.rb +1 -0
- data/spec/slack/web/api/endpoints/chat_scheduledMessages_spec.rb +8 -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 +2 -0
- data/spec/slack/web/api/endpoints/custom_specs/chat_spec.rb +112 -36
- 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 -19
- 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 -0
- 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 +6 -3
- 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/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 +45 -18
- data/spec/slack/web/faraday/response/raise_error_spec.rb +41 -7
- data/spec/spec_helper.rb +8 -1
- data/spec/support/queue_with_timeout.rb +5 -4
- 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 +149 -9
- data/screenshots/register-bot.png +0 -0
data/bin/commands/mpim.rb
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
|
-
desc '
|
|
4
|
+
desc 'Mpim methods.'
|
|
4
5
|
command 'mpim' do |g|
|
|
5
6
|
g.desc 'Closes a multiparty direct message channel.'
|
|
6
7
|
g.long_desc %( Closes a multiparty direct message channel. )
|
data/bin/commands/oauth.rb
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
desc 'Oauth methods.'
|
|
@@ -9,7 +10,7 @@ command 'oauth' do |g|
|
|
|
9
10
|
c.flag 'client_secret', desc: 'Issued when you created your application.'
|
|
10
11
|
c.flag 'code', desc: 'The code param returned via the OAuth callback.'
|
|
11
12
|
c.flag 'redirect_uri', desc: 'This must match the originally submitted URI (if one was sent).'
|
|
12
|
-
c.flag 'single_channel', desc: 'Request the user to add your app only to a single channel.'
|
|
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.'
|
|
13
14
|
c.action do |_global_options, options, _args|
|
|
14
15
|
puts JSON.dump($client.oauth_access(options))
|
|
15
16
|
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
|
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 'code', desc: 'The code param returned via the OAuth callback.'
|
|
10
|
+
c.flag 'client_id', desc: 'Issued when you created your application.'
|
|
11
|
+
c.flag 'client_secret', desc: 'Issued when you created your application.'
|
|
12
|
+
c.flag 'redirect_uri', desc: 'This must match the originally submitted URI (if one was sent).'
|
|
13
|
+
c.action do |_global_options, options, _args|
|
|
14
|
+
puts JSON.dump($client.oauth_v2_access(options))
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
data/bin/commands/pins.rb
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
desc 'Pins methods.'
|
|
@@ -6,8 +7,6 @@ command 'pins' do |g|
|
|
|
6
7
|
g.long_desc %( Pins an item to a channel. )
|
|
7
8
|
g.command 'add' do |c|
|
|
8
9
|
c.flag 'channel', desc: 'Channel to pin the item in.'
|
|
9
|
-
c.flag 'file', desc: 'File to pin.'
|
|
10
|
-
c.flag 'file_comment', desc: 'File comment to pin.'
|
|
11
10
|
c.flag 'timestamp', desc: 'Timestamp of the message to pin.'
|
|
12
11
|
c.action do |_global_options, options, _args|
|
|
13
12
|
puts JSON.dump($client.pins_add(options))
|
data/bin/commands/reactions.rb
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
desc 'Reactions methods.'
|
|
@@ -5,10 +6,8 @@ command 'reactions' do |g|
|
|
|
5
6
|
g.desc 'Adds a reaction to an item.'
|
|
6
7
|
g.long_desc %( Adds a reaction to an item. )
|
|
7
8
|
g.command 'add' do |c|
|
|
8
|
-
c.flag 'name', desc: 'Reaction (emoji) name.'
|
|
9
9
|
c.flag 'channel', desc: 'Channel where the message to add reaction to was posted.'
|
|
10
|
-
c.flag '
|
|
11
|
-
c.flag 'file_comment', desc: 'File comment to add reaction to.'
|
|
10
|
+
c.flag 'name', desc: 'Reaction (emoji) name.'
|
|
12
11
|
c.flag 'timestamp', desc: 'Timestamp of the message to add reaction to.'
|
|
13
12
|
c.action do |_global_options, options, _args|
|
|
14
13
|
puts JSON.dump($client.reactions_add(options))
|
data/bin/commands/reminders.rb
CHANGED
data/bin/commands/rtm.rb
CHANGED
data/bin/commands/search.rb
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
|
-
desc
|
|
4
|
+
desc 'Search methods.'
|
|
4
5
|
command 'search' do |g|
|
|
5
6
|
g.desc 'Searches for messages and files matching a query.'
|
|
6
7
|
g.long_desc %( Searches for messages and files matching a query. )
|
data/bin/commands/stars.rb
CHANGED
data/bin/commands/team.rb
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
4
|
desc 'Team methods.'
|
|
@@ -23,6 +24,7 @@ command 'team' do |g|
|
|
|
23
24
|
g.desc 'Gets information about the current team.'
|
|
24
25
|
g.long_desc %( Gets information about the current team. )
|
|
25
26
|
g.command 'info' do |c|
|
|
27
|
+
c.flag 'team', desc: 'Team to get info on, if omitted, will return information about the current team. Will only return team that the authenticated token is allowed to see through external shared channels.'
|
|
26
28
|
c.action do |_global_options, options, _args|
|
|
27
29
|
puts JSON.dump($client.team_info(options))
|
|
28
30
|
end
|
data/bin/commands/usergroups.rb
CHANGED
data/bin/commands/users.rb
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
# This file was auto-generated by lib/tasks/web.rake
|
|
2
3
|
|
|
3
|
-
desc '
|
|
4
|
+
desc 'Users methods.'
|
|
4
5
|
command 'users' do |g|
|
|
5
6
|
g.desc 'List conversations the calling user may access.'
|
|
6
7
|
g.long_desc %( List conversations the calling user may access. )
|
|
@@ -65,7 +66,6 @@ command 'users' do |g|
|
|
|
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.'
|
|
67
68
|
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 users list hasn't been reached."
|
|
68
|
-
c.flag 'presence', desc: 'Deprecated. Whether to include presence data in the output. Defaults to false. Setting this to true reduces performance, especially with large teams.'
|
|
69
69
|
c.action do |_global_options, options, _args|
|
|
70
70
|
puts JSON.dump($client.users_list(options))
|
|
71
71
|
end
|
data/bin/commands/users_admin.rb
CHANGED
data/bin/commands/users_prefs.rb
CHANGED
|
@@ -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
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
|
-
|
|
3
2
|
require 'gli'
|
|
4
|
-
require '
|
|
3
|
+
require 'slack_ruby_client'
|
|
5
4
|
|
|
6
5
|
include GLI::App
|
|
7
6
|
|
|
@@ -46,7 +45,7 @@ pre do |global_options, _command, options, _args|
|
|
|
46
45
|
true
|
|
47
46
|
end
|
|
48
47
|
|
|
49
|
-
$LOAD_PATH.push File.expand_path(
|
|
48
|
+
$LOAD_PATH.push File.expand_path(__dir__)
|
|
50
49
|
require 'commands'
|
|
51
50
|
|
|
52
51
|
exit run(ARGV)
|
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
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require 'slack-ruby-client'
|
|
3
|
+
require 'async'
|
|
4
|
+
|
|
5
|
+
raise 'Missing ENV[SLACK_API_TOKENS]!' unless ENV.key?('SLACK_API_TOKENS')
|
|
6
|
+
|
|
7
|
+
$stdout.sync = true
|
|
8
|
+
logger = Logger.new($stdout)
|
|
9
|
+
logger.level = Logger::DEBUG
|
|
10
|
+
|
|
11
|
+
threads = []
|
|
12
|
+
|
|
13
|
+
ENV['SLACK_API_TOKENS'].split.each do |token|
|
|
14
|
+
logger.info "Starting #{token[0..12]} ..."
|
|
15
|
+
|
|
16
|
+
client = Slack::RealTime::Client.new(token: token)
|
|
17
|
+
|
|
18
|
+
client.on :hello do
|
|
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
|
+
)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
client.on :message do |data|
|
|
26
|
+
logger.info data
|
|
27
|
+
|
|
28
|
+
client.typing channel: data.channel
|
|
29
|
+
|
|
30
|
+
case data.text
|
|
31
|
+
when /hi/
|
|
32
|
+
client.message channel: data.channel, text: "Hi <@#{data.user}>!"
|
|
33
|
+
else
|
|
34
|
+
client.message channel: data.channel, text: "Sorry <@#{data.user}>, what?"
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
threads << client.start_async
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
threads.each(&:join)
|
|
@@ -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