slack-ruby-client 0.14.6 → 0.15.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|