slack-ruby-client 0.14.6 → 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 +9 -2
- data/.rubocop_todo.yml +52 -12
- data/.travis.yml +0 -1
- data/CHANGELOG.md +10 -0
- data/CONTRIBUTING.md +24 -6
- data/Dangerfile +1 -1
- data/Gemfile +1 -2
- data/README.md +20 -1
- data/UPGRADING.md +6 -0
- data/bin/commands.rb +5 -0
- data/bin/commands/admin_conversations.rb +1 -1
- data/bin/commands/admin_conversations_restrictAccess.rb +37 -0
- data/bin/commands/admin_conversations_whitelist.rb +37 -0
- data/bin/commands/admin_usergroups.rb +48 -0
- data/bin/commands/calls.rb +52 -0
- data/bin/commands/calls_participants.rb +25 -0
- data/bin/commands/chat.rb +5 -5
- data/bin/commands/conversations.rb +0 -1
- data/lib/slack-ruby-client.rb +2 -4
- data/lib/slack/messages/message.rb +0 -4
- data/lib/slack/real_time/concurrency/async.rb +1 -3
- data/lib/slack/real_time/concurrency/eventmachine.rb +3 -3
- data/lib/slack/real_time/models/base.rb +0 -4
- data/lib/slack/real_time/socket.rb +2 -2
- data/lib/slack/real_time/stores/base.rb +3 -1
- data/lib/slack/version.rb +1 -1
- data/lib/slack/web/api/endpoints.rb +11 -0
- data/lib/slack/web/api/endpoints/admin_conversations.rb +1 -1
- 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_usergroups.rb +77 -0
- 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 +28 -13
- data/lib/slack/web/api/endpoints/chat.rb +12 -12
- data/lib/slack/web/api/endpoints/chat_scheduledMessages.rb +1 -1
- data/lib/slack/web/api/endpoints/conversations.rb +15 -17
- data/lib/slack/web/api/endpoints/files.rb +2 -2
- data/lib/slack/web/api/endpoints/files_remote.rb +1 -1
- data/lib/slack/web/api/endpoints/groups.rb +16 -0
- data/lib/slack/web/api/endpoints/im.rb +10 -4
- data/lib/slack/web/api/endpoints/mpim.rb +10 -4
- data/lib/slack/web/api/endpoints/oauth.rb +0 -3
- data/lib/slack/web/api/endpoints/pins.rb +3 -3
- data/lib/slack/web/api/endpoints/reactions.rb +3 -3
- data/lib/slack/web/api/endpoints/stars.rb +2 -2
- data/lib/slack/web/api/errors.rb +92 -2
- data/lib/slack/web/api/mixins.rb +1 -0
- data/lib/slack/web/api/mixins/conversations.id.rb +27 -0
- data/lib/slack/web/api/mixins/ids.id.rb +1 -3
- data/lib/slack/web/api/patches/{chat.6.block-kit-support.patch → chat.1.patch} +29 -26
- data/lib/slack/web/api/templates/method.erb +4 -1
- data/lib/slack/web/faraday/connection.rb +23 -20
- data/lib/slack/web/pagination/cursor.rb +2 -2
- data/slack-ruby-client.gemspec +5 -5
- data/spec/fixtures/slack/web/channels_info.yml +108 -15
- data/spec/slack/web/api/endpoints/admin_conversations_restrictAccess_spec.rb +32 -0
- data/spec/slack/web/api/endpoints/admin_conversations_whitelist_spec.rb +32 -0
- data/spec/slack/web/api/endpoints/admin_usergroups_spec.rb +37 -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/custom_specs/channels_spec.rb +3 -3
- data/spec/slack/web/api/endpoints/oauth_spec.rb +0 -11
- data/spec/slack/web/api/errors/service_unavailable_spec.rb +2 -2
- data/spec/slack/web/api/mixins/conversations_spec.rb +41 -0
- data/spec/slack/web/client_spec.rb +26 -0
- metadata +49 -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 -15
data/lib/slack/web/api/mixins.rb
CHANGED
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative 'ids.id'
|
3
|
+
|
4
|
+
module Slack
|
5
|
+
module Web
|
6
|
+
module Api
|
7
|
+
module Mixins
|
8
|
+
module Conversations
|
9
|
+
include Ids
|
10
|
+
#
|
11
|
+
# This method returns a channel ID given a channel name.
|
12
|
+
#
|
13
|
+
# @option options [channel] :channel
|
14
|
+
# Channel to get ID for, prefixed with #.
|
15
|
+
def conversations_id(options = {})
|
16
|
+
name = options[:channel]
|
17
|
+
throw ArgumentError.new('Required arguments :channel missing') if name.nil?
|
18
|
+
|
19
|
+
id_for(:channel, name, '#', :channels, 'channel_not_found') do
|
20
|
+
conversations_list
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -11,9 +11,7 @@ module Slack
|
|
11
11
|
|
12
12
|
yield.tap do |list|
|
13
13
|
list.public_send(list_method).each do |li|
|
14
|
-
if li.name == name[1..-1]
|
15
|
-
return Slack::Messages::Message.new('ok' => true, key.to_s => { 'id' => li.id })
|
16
|
-
end
|
14
|
+
return Slack::Messages::Message.new('ok' => true, key.to_s => { 'id' => li.id }) if li.name == name[1..-1]
|
17
15
|
end
|
18
16
|
end
|
19
17
|
|
@@ -1,20 +1,23 @@
|
|
1
1
|
diff --git a/lib/slack/web/api/endpoints/chat.rb b/lib/slack/web/api/endpoints/chat.rb
|
2
|
-
index
|
2
|
+
index 9de4aa9..8ed5625 100644
|
3
3
|
--- a/lib/slack/web/api/endpoints/chat.rb
|
4
4
|
+++ b/lib/slack/web/api/endpoints/chat.rb
|
5
|
-
@@ -
|
5
|
+
@@ -121,11 +121,22 @@ module Slack
|
6
|
+
# @see https://api.slack.com/methods/chat.postEphemeral
|
6
7
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/chat/chat.postEphemeral.json
|
7
8
|
def chat_postEphemeral(options = {})
|
9
|
+
- throw ArgumentError.new('Required arguments :attachments missing') if options[:attachments].nil?
|
8
10
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
9
|
-
- throw ArgumentError.new('Required arguments :text
|
11
|
+
- throw ArgumentError.new('Required arguments :text missing') if options[:text].nil?
|
10
12
|
+ throw ArgumentError.new('Required arguments :text, :attachments or :blocks missing') if options[:text].nil? && options[:attachments].nil? && options[:blocks].nil?
|
11
13
|
throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
|
12
14
|
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
+ # attachments must be passed as an encoded JSON string
|
16
|
+
+ if options.key?(:attachments)
|
17
|
+
+ attachments = options[:attachments]
|
18
|
+
+ attachments = JSON.dump(attachments) unless attachments.is_a?(String)
|
19
|
+
+ options = options.merge(attachments: attachments)
|
20
|
+
+ end
|
18
21
|
+ # blocks must be passed as an encoded JSON string
|
19
22
|
+ if options.key?(:blocks)
|
20
23
|
+ blocks = options[:blocks]
|
@@ -23,19 +26,19 @@ index 54a7db1..c535bb5 100644
|
|
23
26
|
+ end
|
24
27
|
post('chat.postEphemeral', options)
|
25
28
|
end
|
26
|
-
|
27
|
-
@@ -
|
29
|
+
|
30
|
+
@@ -166,7 +177,19 @@ module Slack
|
28
31
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/chat/chat.postMessage.json
|
29
32
|
def chat_postMessage(options = {})
|
30
33
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
31
|
-
- throw ArgumentError.new('Required arguments :text
|
34
|
+
- throw ArgumentError.new('Required arguments :text missing') if options[:text].nil?
|
32
35
|
+ throw ArgumentError.new('Required arguments :text, :attachments or :blocks missing') if options[:text].nil? && options[:attachments].nil? && options[:blocks].nil?
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
36
|
+
+ # attachments must be passed as an encoded JSON string
|
37
|
+
+ if options.key?(:attachments)
|
38
|
+
+ attachments = options[:attachments]
|
39
|
+
+ attachments = JSON.dump(attachments) unless attachments.is_a?(String)
|
40
|
+
+ options = options.merge(attachments: attachments)
|
41
|
+
+ end
|
39
42
|
+ # blocks must be passed as an encoded JSON string
|
40
43
|
+ if options.key?(:blocks)
|
41
44
|
+ blocks = options[:blocks]
|
@@ -44,20 +47,20 @@ index 54a7db1..c535bb5 100644
|
|
44
47
|
+ end
|
45
48
|
post('chat.postMessage', options)
|
46
49
|
end
|
47
|
-
|
48
|
-
@@ -
|
50
|
+
|
51
|
+
@@ -254,8 +277,21 @@ module Slack
|
49
52
|
# @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/chat/chat.update.json
|
50
53
|
def chat_update(options = {})
|
51
54
|
throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
|
52
|
-
- throw ArgumentError.new('Required arguments :text or :attachments missing') if options[:text].nil? && options[:attachments].nil?
|
53
55
|
+ throw ArgumentError.new('Required arguments :text, :attachments or :blocks missing') if options[:text].nil? && options[:attachments].nil? && options[:blocks].nil?
|
54
56
|
throw ArgumentError.new('Required arguments :ts missing') if options[:ts].nil?
|
55
|
-
options = options.merge(channel:
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
57
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
58
|
+
+ # attachments must be passed as an encoded JSON string
|
59
|
+
+ if options.key?(:attachments)
|
60
|
+
+ attachments = options[:attachments]
|
61
|
+
+ attachments = JSON.dump(attachments) unless attachments.is_a?(String)
|
62
|
+
+ options = options.merge(attachments: attachments)
|
63
|
+
+ end
|
61
64
|
+ # blocks must be passed as an encoded JSON string
|
62
65
|
+ if options.key?(:blocks)
|
63
66
|
+ blocks = options[:blocks]
|
@@ -40,7 +40,7 @@ module Slack
|
|
40
40
|
<% if data['group'] == 'groups' && data['args']['channel'] && !data['args']['channel']['desc'].include?('Can be an encoded ID, or a name.') %>
|
41
41
|
options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
|
42
42
|
<% elsif data['args']['channel'] && !data['args']['channel']['desc'].include?('Can be an encoded ID, or a name.') %>
|
43
|
-
options = options.merge(channel:
|
43
|
+
options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
|
44
44
|
<% end %>
|
45
45
|
<% if data['args']['user'] %>
|
46
46
|
options = options.merge(user: users_id(options)['user']['id']) if options[:user]
|
@@ -48,6 +48,9 @@ module Slack
|
|
48
48
|
<% if data['undocumented'] %>
|
49
49
|
logger.warn('The <%= group %>.<%= name %> method is undocumented.')
|
50
50
|
<% end %>
|
51
|
+
<% if data['deprecated'] %>
|
52
|
+
logger.warn('<%= group %>.<%= name %>: <%= data['deprecation']['deprecation_warning']%> Alternative methods: <%= data['deprecation']['alternative_methods'].join(', ')%>.')
|
53
|
+
<% end %>
|
51
54
|
<% if data['args'].keys.include?('cursor') %>
|
52
55
|
if block_given?
|
53
56
|
Pagination::Cursor.new(self, :<%= group.gsub(".", "_") %>_<%= name %>, options).each do |page|
|
@@ -6,29 +6,32 @@ module Slack
|
|
6
6
|
private
|
7
7
|
|
8
8
|
def connection
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
@connection ||=
|
10
|
+
begin
|
11
|
+
options = {
|
12
|
+
headers: { 'Accept' => 'application/json; charset=utf-8' }
|
13
|
+
}
|
12
14
|
|
13
|
-
|
14
|
-
|
15
|
-
|
15
|
+
options[:headers]['User-Agent'] = user_agent if user_agent
|
16
|
+
options[:proxy] = proxy if proxy
|
17
|
+
options[:ssl] = { ca_path: ca_path, ca_file: ca_file } if ca_path || ca_file
|
16
18
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
19
|
+
request_options = {}
|
20
|
+
request_options[:timeout] = timeout if timeout
|
21
|
+
request_options[:open_timeout] = open_timeout if open_timeout
|
22
|
+
options[:request] = request_options if request_options.any?
|
21
23
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
24
|
+
::Faraday::Connection.new(endpoint, options) do |connection|
|
25
|
+
connection.use ::Faraday::Request::Multipart
|
26
|
+
connection.use ::Faraday::Request::UrlEncoded
|
27
|
+
connection.use ::Faraday::Response::RaiseError
|
28
|
+
connection.use ::Slack::Web::Faraday::Response::RaiseError
|
29
|
+
connection.use ::FaradayMiddleware::Mashify, mash_class: Slack::Messages::Message
|
30
|
+
connection.use ::FaradayMiddleware::ParseJson
|
31
|
+
connection.response :logger, logger if logger
|
32
|
+
connection.adapter ::Faraday.default_adapter
|
33
|
+
end
|
34
|
+
end
|
32
35
|
end
|
33
36
|
end
|
34
37
|
end
|
@@ -32,14 +32,14 @@ module Slack
|
|
32
32
|
|
33
33
|
client.logger.debug("#{self.class}##{__method__}") { e.to_s }
|
34
34
|
retry_count += 1
|
35
|
-
sleep(e.retry_after
|
35
|
+
sleep(e.retry_after)
|
36
36
|
next
|
37
37
|
end
|
38
38
|
yield response
|
39
39
|
break unless response.response_metadata
|
40
40
|
|
41
41
|
next_cursor = response.response_metadata.next_cursor
|
42
|
-
break if next_cursor.
|
42
|
+
break if next_cursor.nil? || next_cursor == ''
|
43
43
|
|
44
44
|
retry_count = 0
|
45
45
|
sleep(sleep_interval) if sleep_interval
|
data/slack-ruby-client.gemspec
CHANGED
@@ -17,19 +17,19 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.homepage = 'http://github.com/slack-ruby/slack-ruby-client'
|
18
18
|
s.licenses = ['MIT']
|
19
19
|
s.summary = 'Slack Web and RealTime API client.'
|
20
|
-
s.add_dependency '
|
21
|
-
s.add_dependency 'faraday', '>= 0.9'
|
20
|
+
s.add_dependency 'faraday', '>= 1.0'
|
22
21
|
s.add_dependency 'faraday_middleware'
|
23
22
|
s.add_dependency 'gli'
|
24
23
|
s.add_dependency 'hashie'
|
25
24
|
s.add_dependency 'websocket-driver'
|
25
|
+
s.add_development_dependency 'activesupport'
|
26
26
|
s.add_development_dependency 'erubis'
|
27
27
|
s.add_development_dependency 'json-schema'
|
28
28
|
s.add_development_dependency 'rake', '~> 10'
|
29
29
|
s.add_development_dependency 'rspec'
|
30
|
-
s.add_development_dependency 'rubocop', '~> 0.
|
31
|
-
s.add_development_dependency 'rubocop-performance', '~> 1.
|
32
|
-
s.add_development_dependency 'rubocop-rspec', '~> 1.
|
30
|
+
s.add_development_dependency 'rubocop', '~> 0.82.0'
|
31
|
+
s.add_development_dependency 'rubocop-performance', '~> 1.5.2'
|
32
|
+
s.add_development_dependency 'rubocop-rspec', '~> 1.39.0'
|
33
33
|
s.add_development_dependency 'timecop'
|
34
34
|
s.add_development_dependency 'vcr'
|
35
35
|
s.add_development_dependency 'webmock'
|
@@ -2,45 +2,138 @@
|
|
2
2
|
http_interactions:
|
3
3
|
- request:
|
4
4
|
method: post
|
5
|
-
uri: https://slack.com/api/
|
5
|
+
uri: https://slack.com/api/conversations.list
|
6
6
|
body:
|
7
7
|
encoding: UTF-8
|
8
8
|
string: token=token
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- application/json; charset=utf-8
|
12
|
+
User-Agent:
|
13
|
+
- Slack Ruby Client/0.15.0
|
14
|
+
Content-Type:
|
15
|
+
- application/x-www-form-urlencoded
|
16
|
+
Accept-Encoding:
|
17
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
9
18
|
response:
|
10
19
|
status:
|
11
20
|
code: 200
|
12
21
|
message: OK
|
13
22
|
headers:
|
23
|
+
Date:
|
24
|
+
- Mon, 06 Jul 2020 14:21:41 GMT
|
25
|
+
Server:
|
26
|
+
- Apache
|
27
|
+
X-Slack-Req-Id:
|
28
|
+
- d6a36df98a9b67696d158d792698542b
|
29
|
+
X-Oauth-Scopes:
|
30
|
+
- channels:read
|
31
|
+
X-Accepted-Oauth-Scopes:
|
32
|
+
- channels:read,groups:read,mpim:read,im:read,read
|
33
|
+
Access-Control-Expose-Headers:
|
34
|
+
- x-slack-req-id, retry-after
|
35
|
+
X-Slack-Backend:
|
36
|
+
- r
|
37
|
+
X-Content-Type-Options:
|
38
|
+
- nosniff
|
39
|
+
Expires:
|
40
|
+
- Mon, 26 Jul 1997 05:00:00 GMT
|
41
|
+
Cache-Control:
|
42
|
+
- private, no-cache, no-store, must-revalidate
|
43
|
+
X-Xss-Protection:
|
44
|
+
- '0'
|
45
|
+
Vary:
|
46
|
+
- Accept-Encoding
|
47
|
+
Pragma:
|
48
|
+
- no-cache
|
49
|
+
Access-Control-Allow-Headers:
|
50
|
+
- slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid,
|
51
|
+
x-b3-sampled, x-b3-flags
|
52
|
+
Strict-Transport-Security:
|
53
|
+
- max-age=31536000; includeSubDomains; preload
|
54
|
+
Referrer-Policy:
|
55
|
+
- no-referrer
|
56
|
+
Access-Control-Allow-Origin:
|
57
|
+
- "*"
|
58
|
+
Content-Length:
|
59
|
+
- '616'
|
14
60
|
Content-Type:
|
15
61
|
- application/json; charset=utf-8
|
62
|
+
X-Via:
|
63
|
+
- haproxy-www-xvqc,haproxy-edge-sin-605a
|
16
64
|
body:
|
17
|
-
encoding:
|
18
|
-
string: '{"ok":true,"channels":[{"id":"
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
65
|
+
encoding: ASCII-8BIT
|
66
|
+
string: '{"ok":true,"channels":[{"id":"C016K3T7XK7","name":"random","is_channel":true,"is_group":false,"is_im":false,"created":1594044322,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"random","is_shared":false,"parent_conversation":null,"creator":"U016LEXAH5Y","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["T016DNSRF7G"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"Non-work
|
67
|
+
banter and water cooler conversation","creator":"U016LEXAH5Y","last_set":1594044322},"purpose":{"value":"A
|
68
|
+
place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber
|
69
|
+
you''d prefer to keep out of more focused work-related channels.","creator":"U016LEXAH5Y","last_set":1594044322},"previous_names":[],"num_members":1},{"id":"C016Z3VRSSV","name":"general","is_channel":true,"is_group":false,"is_im":false,"created":1594044322,"is_archived":false,"is_general":true,"unlinked":0,"name_normalized":"general","is_shared":false,"parent_conversation":null,"creator":"U016LEXAH5Y","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["T016DNSRF7G"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"Company-wide
|
70
|
+
announcements and work-based matters","creator":"U016LEXAH5Y","last_set":1594044322},"purpose":{"value":"This
|
71
|
+
channel is for workspace-wide communication and announcements. All members
|
72
|
+
are in this channel.","creator":"U016LEXAH5Y","last_set":1594044322},"previous_names":[],"num_members":1},{"id":"C017AA3CCDN","name":"slack-ruby-client","is_channel":true,"is_group":false,"is_im":false,"created":1594044322,"is_archived":false,"is_general":false,"unlinked":0,"name_normalized":"slack-ruby-client","is_shared":false,"parent_conversation":null,"creator":"U016LEXAH5Y","is_ext_shared":false,"is_org_shared":false,"shared_team_ids":["T016DNSRF7G"],"pending_shared":[],"pending_connected_team_ids":[],"is_pending_ext_shared":false,"is_member":false,"is_private":false,"is_mpim":false,"topic":{"value":"","creator":"","last_set":0},"purpose":{"value":"","creator":"","last_set":0},"previous_names":[],"num_members":1}],"response_metadata":{"next_cursor":""}}'
|
73
|
+
recorded_at: Mon, 06 Jul 2020 14:21:41 GMT
|
23
74
|
- request:
|
24
75
|
method: post
|
25
76
|
uri: https://slack.com/api/channels.info
|
26
77
|
body:
|
27
78
|
encoding: UTF-8
|
28
|
-
string: channel=
|
79
|
+
string: channel=C016Z3VRSSV&token=token
|
29
80
|
headers:
|
81
|
+
Accept:
|
82
|
+
- application/json; charset=utf-8
|
83
|
+
User-Agent:
|
84
|
+
- Slack Ruby Client/0.15.0
|
30
85
|
Content-Type:
|
31
86
|
- application/x-www-form-urlencoded
|
87
|
+
Accept-Encoding:
|
88
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
32
89
|
response:
|
33
90
|
status:
|
34
91
|
code: 200
|
35
92
|
message: OK
|
36
93
|
headers:
|
94
|
+
Date:
|
95
|
+
- Mon, 06 Jul 2020 14:21:42 GMT
|
96
|
+
Server:
|
97
|
+
- Apache
|
98
|
+
X-Content-Type-Options:
|
99
|
+
- nosniff
|
100
|
+
X-Slack-Req-Id:
|
101
|
+
- b7ad44601d7e0a60c5c68601e15c89c8
|
102
|
+
X-Oauth-Scopes:
|
103
|
+
- channels:read
|
104
|
+
Expires:
|
105
|
+
- Mon, 26 Jul 1997 05:00:00 GMT
|
106
|
+
Cache-Control:
|
107
|
+
- private, no-cache, no-store, must-revalidate
|
108
|
+
X-Xss-Protection:
|
109
|
+
- '0'
|
110
|
+
Vary:
|
111
|
+
- Accept-Encoding
|
112
|
+
Pragma:
|
113
|
+
- no-cache
|
114
|
+
Access-Control-Allow-Headers:
|
115
|
+
- slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid,
|
116
|
+
x-b3-sampled, x-b3-flags
|
117
|
+
Strict-Transport-Security:
|
118
|
+
- max-age=31536000; includeSubDomains; preload
|
119
|
+
Referrer-Policy:
|
120
|
+
- no-referrer
|
121
|
+
X-Slack-Backend:
|
122
|
+
- r
|
123
|
+
Access-Control-Expose-Headers:
|
124
|
+
- x-slack-req-id, retry-after
|
125
|
+
Access-Control-Allow-Origin:
|
126
|
+
- "*"
|
127
|
+
Content-Length:
|
128
|
+
- '222'
|
37
129
|
Content-Type:
|
38
130
|
- application/json; charset=utf-8
|
131
|
+
X-Via:
|
132
|
+
- haproxy-www-nu22,haproxy-edge-sin-p1t0
|
39
133
|
body:
|
40
|
-
encoding:
|
41
|
-
string: '{"ok":
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
recorded_with: VCR 3.0.1
|
134
|
+
encoding: ASCII-8BIT
|
135
|
+
string: '{"ok":false,"error":"method_deprecated","response_metadata":{"messages":["[ERROR]
|
136
|
+
This method is retired and can no longer be used. Please use conversations.info
|
137
|
+
instead. Learn more: https:\/\/api.slack.com\/changelog\/2020-01-deprecating-antecedents-to-the-conversations-api."]}}'
|
138
|
+
recorded_at: Mon, 06 Jul 2020 14:21:42 GMT
|
139
|
+
recorded_with: VCR 6.0.0
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
require 'spec_helper'
|
5
|
+
|
6
|
+
RSpec.describe Slack::Web::Api::Endpoints::AdminConversationsRestrictaccess do
|
7
|
+
let(:client) { Slack::Web::Client.new }
|
8
|
+
context 'admin.conversations.restrictAccess_addGroup' do
|
9
|
+
it 'requires channel_id' do
|
10
|
+
expect { client.admin_conversations_restrictAccess_addGroup(group_id: '') }.to raise_error ArgumentError, /Required arguments :channel_id missing/
|
11
|
+
end
|
12
|
+
it 'requires group_id' do
|
13
|
+
expect { client.admin_conversations_restrictAccess_addGroup(channel_id: '') }.to raise_error ArgumentError, /Required arguments :group_id missing/
|
14
|
+
end
|
15
|
+
end
|
16
|
+
context 'admin.conversations.restrictAccess_listGroups' do
|
17
|
+
it 'requires channel_id' do
|
18
|
+
expect { client.admin_conversations_restrictAccess_listGroups }.to raise_error ArgumentError, /Required arguments :channel_id missing/
|
19
|
+
end
|
20
|
+
end
|
21
|
+
context 'admin.conversations.restrictAccess_removeGroup' do
|
22
|
+
it 'requires channel_id' do
|
23
|
+
expect { client.admin_conversations_restrictAccess_removeGroup(group_id: '', team_id: '') }.to raise_error ArgumentError, /Required arguments :channel_id missing/
|
24
|
+
end
|
25
|
+
it 'requires group_id' do
|
26
|
+
expect { client.admin_conversations_restrictAccess_removeGroup(channel_id: '', team_id: '') }.to raise_error ArgumentError, /Required arguments :group_id missing/
|
27
|
+
end
|
28
|
+
it 'requires team_id' do
|
29
|
+
expect { client.admin_conversations_restrictAccess_removeGroup(channel_id: '', group_id: '') }.to raise_error ArgumentError, /Required arguments :team_id missing/
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This file was auto-generated by lib/tasks/web.rake
|
3
|
+
|
4
|
+
require 'spec_helper'
|
5
|
+
|
6
|
+
RSpec.describe Slack::Web::Api::Endpoints::AdminConversationsWhitelist do
|
7
|
+
let(:client) { Slack::Web::Client.new }
|
8
|
+
context 'admin.conversations.whitelist_add' do
|
9
|
+
it 'requires channel_id' do
|
10
|
+
expect { client.admin_conversations_whitelist_add(group_id: '') }.to raise_error ArgumentError, /Required arguments :channel_id missing/
|
11
|
+
end
|
12
|
+
it 'requires group_id' do
|
13
|
+
expect { client.admin_conversations_whitelist_add(channel_id: '') }.to raise_error ArgumentError, /Required arguments :group_id missing/
|
14
|
+
end
|
15
|
+
end
|
16
|
+
context 'admin.conversations.whitelist_listGroupsLinkedToChannel' do
|
17
|
+
it 'requires channel_id' do
|
18
|
+
expect { client.admin_conversations_whitelist_listGroupsLinkedToChannel }.to raise_error ArgumentError, /Required arguments :channel_id missing/
|
19
|
+
end
|
20
|
+
end
|
21
|
+
context 'admin.conversations.whitelist_remove' do
|
22
|
+
it 'requires channel_id' do
|
23
|
+
expect { client.admin_conversations_whitelist_remove(group_id: '', team_id: '') }.to raise_error ArgumentError, /Required arguments :channel_id missing/
|
24
|
+
end
|
25
|
+
it 'requires group_id' do
|
26
|
+
expect { client.admin_conversations_whitelist_remove(channel_id: '', team_id: '') }.to raise_error ArgumentError, /Required arguments :group_id missing/
|
27
|
+
end
|
28
|
+
it 'requires team_id' do
|
29
|
+
expect { client.admin_conversations_whitelist_remove(channel_id: '', group_id: '') }.to raise_error ArgumentError, /Required arguments :team_id missing/
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|