slack-ruby-client 0.16.0 → 0.17.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.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -3
  3. data/LICENSE.md +1 -1
  4. data/README.md +8 -8
  5. data/bin/commands.rb +0 -1
  6. data/bin/commands/admin_analytics.rb +2 -1
  7. data/bin/commands/admin_conversations.rb +0 -10
  8. data/bin/commands/admin_teams.rb +1 -1
  9. data/bin/commands/channels.rb +0 -157
  10. data/bin/commands/chat.rb +8 -6
  11. data/bin/commands/conversations.rb +2 -2
  12. data/bin/commands/dnd.rb +2 -0
  13. data/bin/commands/groups.rb +0 -163
  14. data/bin/commands/im.rb +0 -62
  15. data/bin/commands/mpim.rb +0 -60
  16. data/lib/slack/events/request.rb +2 -2
  17. data/lib/slack/real_time/config.rb +3 -13
  18. data/lib/slack/version.rb +1 -1
  19. data/lib/slack/web/api/endpoints.rb +0 -2
  20. data/lib/slack/web/api/endpoints/admin_analytics.rb +3 -1
  21. data/lib/slack/web/api/endpoints/admin_conversations.rb +0 -14
  22. data/lib/slack/web/api/endpoints/admin_teams.rb +1 -1
  23. data/lib/slack/web/api/endpoints/channels.rb +0 -265
  24. data/lib/slack/web/api/endpoints/chat.rb +11 -7
  25. data/lib/slack/web/api/endpoints/conversations.rb +2 -2
  26. data/lib/slack/web/api/endpoints/dnd.rb +4 -0
  27. data/lib/slack/web/api/endpoints/groups.rb +0 -273
  28. data/lib/slack/web/api/endpoints/im.rb +0 -107
  29. data/lib/slack/web/api/endpoints/mpim.rb +0 -102
  30. data/lib/slack/web/api/errors.rb +14 -16
  31. data/lib/slack/web/api/patches/chat.1.patch +5 -6
  32. data/lib/slack/web/faraday/connection.rb +1 -1
  33. data/lib/slack/web/faraday/response/raise_error.rb +0 -4
  34. data/lib/slack/web/faraday/response/wrap_error.rb +11 -5
  35. data/lib/tasks/web.rake +4 -0
  36. data/spec/fixtures/slack/web/{groups_info.yml → conversations_info.yml} +4 -4
  37. data/spec/slack/events/request_spec.rb +6 -5
  38. data/spec/slack/real_time/concurrency/with_concurrency_spec.rb +10 -0
  39. data/spec/slack/real_time/concurrency/without_concurrency_spec.rb +10 -0
  40. data/spec/slack/real_time/rtm_connect_spec.rb +1 -1
  41. data/spec/slack/real_time/rtm_start_spec.rb +1 -1
  42. data/spec/slack/web/api/endpoints/admin_conversations_spec.rb +0 -5
  43. data/spec/slack/web/api/endpoints/custom_specs/conversations_spec.rb +13 -0
  44. data/spec/slack/web/api/endpoints/im_spec.rb +0 -31
  45. data/spec/slack/web/api/endpoints/mpim_spec.rb +0 -31
  46. data/spec/slack/web/client_spec.rb +15 -20
  47. metadata +10 -12
  48. data/spec/slack/web/api/endpoints/admin_conversations_whitelist_spec.rb +0 -32
  49. data/spec/slack/web/api/endpoints/custom_specs/channels_spec.rb +0 -13
  50. data/spec/slack/web/api/endpoints/custom_specs/groups_spec.rb +0 -13
  51. data/spec/slack/web/api/endpoints/views_spec.rb +0 -29
data/bin/commands/im.rb CHANGED
@@ -3,66 +3,4 @@
3
3
 
4
4
  desc 'Get info on your direct messages.'
5
5
  command 'im' do |g|
6
- g.desc 'Close a direct message channel.'
7
- g.long_desc %( Close a direct message channel. )
8
- g.command 'close' do |c|
9
- c.flag 'channel', desc: 'Direct message channel to close.'
10
- c.action do |_global_options, options, _args|
11
- puts JSON.dump($client.im_close(options))
12
- end
13
- end
14
-
15
- g.desc 'Fetches history of messages and events from direct message channel.'
16
- g.long_desc %( Fetches history of messages and events from direct message channel. )
17
- g.command 'history' do |c|
18
- c.flag 'channel', desc: 'Direct message channel to fetch history for.'
19
- c.flag 'inclusive', desc: 'Include messages with latest or oldest timestamp in results.'
20
- c.flag 'latest', desc: 'End of time range of messages to include in results.'
21
- c.flag 'oldest', desc: 'Start of time range of messages to include in results.'
22
- c.flag 'unreads', desc: 'Include unread_count_display in the output?.'
23
- c.action do |_global_options, options, _args|
24
- puts JSON.dump($client.im_history(options))
25
- end
26
- end
27
-
28
- g.desc 'Lists direct message channels for the calling user.'
29
- g.long_desc %( Lists direct message channels for the calling user. )
30
- g.command 'list' do |c|
31
- 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."
32
- 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."
33
- c.action do |_global_options, options, _args|
34
- puts JSON.dump($client.im_list(options))
35
- end
36
- end
37
-
38
- g.desc 'Sets the read cursor in a direct message channel.'
39
- g.long_desc %( Sets the read cursor in a direct message channel. )
40
- g.command 'mark' do |c|
41
- c.flag 'channel', desc: 'Direct message channel to set reading cursor in.'
42
- c.flag 'ts', desc: 'Timestamp of the most recently seen message.'
43
- c.action do |_global_options, options, _args|
44
- puts JSON.dump($client.im_mark(options))
45
- end
46
- end
47
-
48
- g.desc 'Opens a direct message channel.'
49
- g.long_desc %( Opens a direct message channel. )
50
- g.command 'open' do |c|
51
- c.flag 'user', desc: 'User to open a direct message channel with.'
52
- c.flag 'include_locale', desc: 'Set this to true to receive the locale for this im. Defaults to false.'
53
- c.flag 'return_im', desc: 'Boolean, indicates you want the full IM channel definition in the response.'
54
- c.action do |_global_options, options, _args|
55
- puts JSON.dump($client.im_open(options))
56
- end
57
- end
58
-
59
- g.desc 'Retrieve a thread of messages posted to a direct message conversation'
60
- g.long_desc %( Retrieve a thread of messages posted to a direct message conversation )
61
- g.command 'replies' do |c|
62
- c.flag 'channel', desc: 'Direct message channel to fetch thread from.'
63
- c.flag 'thread_ts', desc: "Unique identifier of a thread's parent message."
64
- c.action do |_global_options, options, _args|
65
- puts JSON.dump($client.im_replies(options))
66
- end
67
- end
68
6
  end
data/bin/commands/mpim.rb CHANGED
@@ -3,64 +3,4 @@
3
3
 
4
4
  desc 'Get info on your multiparty direct messages.'
5
5
  command 'mpim' do |g|
6
- g.desc 'Closes a multiparty direct message channel.'
7
- g.long_desc %( Closes a multiparty direct message channel. )
8
- g.command 'close' do |c|
9
- c.flag 'channel', desc: 'MPIM to close.'
10
- c.action do |_global_options, options, _args|
11
- puts JSON.dump($client.mpim_close(options))
12
- end
13
- end
14
-
15
- g.desc 'Fetches history of messages and events from a multiparty direct message.'
16
- g.long_desc %( Fetches history of messages and events from a multiparty direct message. )
17
- g.command 'history' do |c|
18
- c.flag 'channel', desc: 'Multiparty direct message to fetch history for.'
19
- c.flag 'inclusive', desc: 'Include messages with latest or oldest timestamp in results.'
20
- c.flag 'latest', desc: 'End of time range of messages to include in results.'
21
- c.flag 'oldest', desc: 'Start of time range of messages to include in results.'
22
- c.flag 'unreads', desc: 'Include unread_count_display in the output?.'
23
- c.action do |_global_options, options, _args|
24
- puts JSON.dump($client.mpim_history(options))
25
- end
26
- end
27
-
28
- g.desc 'Lists multiparty direct message channels for the calling user.'
29
- g.long_desc %( Lists multiparty direct message channels for the calling user. )
30
- g.command 'list' do |c|
31
- c.flag 'cursor', desc: "Parameter for pagination. Set cursor equal to the next_cursor attribute returned by the previous request's response_metadata. This parameter is optional, but pagination is mandatory: the default value simply fetches the first 'page' of the collection. See pagination for more details."
32
- c.flag 'limit', desc: "The maximum number of items to return. Fewer than the requested number of items may be returned, even if the end of the list hasn't been reached."
33
- c.action do |_global_options, options, _args|
34
- puts JSON.dump($client.mpim_list(options))
35
- end
36
- end
37
-
38
- g.desc 'Sets the read cursor in a multiparty direct message channel.'
39
- g.long_desc %( Sets the read cursor in a multiparty direct message channel. )
40
- g.command 'mark' do |c|
41
- c.flag 'channel', desc: 'Channel or conversation to set the read cursor for.'
42
- c.flag 'ts', desc: 'Unique identifier of message you want marked as most recently seen in this conversation.'
43
- c.action do |_global_options, options, _args|
44
- puts JSON.dump($client.mpim_mark(options))
45
- end
46
- end
47
-
48
- g.desc 'This method opens a multiparty direct message.'
49
- g.long_desc %( This method opens a multiparty direct message. )
50
- g.command 'open' do |c|
51
- c.flag 'users', desc: 'Comma separated lists of users. The ordering of the users is preserved whenever a MPIM group is returned.'
52
- c.action do |_global_options, options, _args|
53
- puts JSON.dump($client.mpim_open(options))
54
- end
55
- end
56
-
57
- g.desc 'Retrieve a thread of messages posted to a direct message conversation from a multiparty direct message.'
58
- g.long_desc %( Retrieve a thread of messages posted to a direct message conversation from a multiparty direct message. )
59
- g.command 'replies' do |c|
60
- c.flag 'channel', desc: 'Multiparty direct message channel to fetch thread from.'
61
- c.flag 'thread_ts', desc: "Unique identifier of a thread's parent message."
62
- c.action do |_global_options, options, _args|
63
- puts JSON.dump($client.mpim_replies(options))
64
- end
65
- end
66
6
  end
@@ -19,13 +19,13 @@ module Slack
19
19
 
20
20
  # Request timestamp.
21
21
  def timestamp
22
- @timestamp ||= http_request.headers['X-Slack-Request-Timestamp']
22
+ @timestamp ||= http_request.get_header('HTTP_X_SLACK_REQUEST_TIMESTAMP')
23
23
  end
24
24
 
25
25
  # The signature is created by combining the signing secret with the body of the request
26
26
  # Slack is sending using a standard HMAC-SHA256 keyed hash.
27
27
  def signature
28
- @signature ||= http_request.headers['X-Slack-Signature']
28
+ @signature ||= http_request.get_header('HTTP_X_SLACK_SIGNATURE')
29
29
  end
30
30
 
31
31
  # Signature version.
@@ -38,19 +38,9 @@ module Slack
38
38
  private
39
39
 
40
40
  def detect_concurrency
41
- %i[Async].each do |concurrency|
42
- begin
43
- return Slack::RealTime::Concurrency.const_get(concurrency)
44
- rescue LoadError, NameError
45
- false # could not be loaded, missing dependencies
46
- end
47
- end
48
-
49
- raise(
50
- NoConcurrencyError,
51
- 'Missing concurrency. Add async-websocket or faye-websocket ' \
52
- 'to your Gemfile.'
53
- )
41
+ Slack::RealTime::Concurrency.const_get(:Async)
42
+ rescue LoadError, NameError
43
+ raise NoConcurrencyError, 'Missing concurrency. Add async-websocket to your Gemfile.'
54
44
  end
55
45
  end
56
46
 
data/lib/slack/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Slack
3
- VERSION = '0.16.0'
3
+ VERSION = '0.17.0'
4
4
  end
@@ -10,7 +10,6 @@ require_relative 'endpoints/admin_barriers'
10
10
  require_relative 'endpoints/admin_conversations'
11
11
  require_relative 'endpoints/admin_conversations_ekm'
12
12
  require_relative 'endpoints/admin_conversations_restrictAccess'
13
- require_relative 'endpoints/admin_conversations_whitelist'
14
13
  require_relative 'endpoints/admin_emoji'
15
14
  require_relative 'endpoints/admin_inviteRequests'
16
15
  require_relative 'endpoints/admin_inviteRequests_approved'
@@ -86,7 +85,6 @@ module Slack
86
85
  include AdminConversations
87
86
  include AdminConversationsEkm
88
87
  include AdminConversationsRestrictaccess
89
- include AdminConversationsWhitelist
90
88
  include AdminEmoji
91
89
  include AdminInviterequests
92
90
  include AdminInviterequestsApproved
@@ -10,9 +10,11 @@ module Slack
10
10
  # Retrieve analytics data for a given date, presented as a compressed JSON file
11
11
  #
12
12
  # @option options [Object] :type
13
- # The type of analytics to retrieve. The options are currently limited to member.
13
+ # The type of analytics to retrieve. The options are currently limited to member (for grid member analytics) and public_channel (for public channel analytics).
14
14
  # @option options [Object] :date
15
15
  # Date to retrieve the analytics data for, expressed as YYYY-MM-DD in UTC.
16
+ # @option options [Object] :metadata_only
17
+ # Retrieve metadata for the type of analytics indicated. Can be used only with type set to public_channel analytics. See detail below. Omit the date parameter when using this argument.
16
18
  # @see https://api.slack.com/methods/admin.analytics.getFile
17
19
  # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.analytics/admin.analytics.getFile.json
18
20
  def admin_analytics_getFile(options = {})
@@ -63,20 +63,6 @@ module Slack
63
63
  post('admin.conversations.delete', options)
64
64
  end
65
65
 
66
- #
67
- # Disconnect a connected channel from one or more workspaces.
68
- #
69
- # @option options [Object] :channel_id
70
- # The channel to be disconnected from some workspaces.
71
- # @option options [Object] :leaving_team_ids
72
- # The team to be removed from the channel. Currently only a single team id can be specified.
73
- # @see https://api.slack.com/methods/admin.conversations.disconnectShared
74
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/admin.conversations/admin.conversations.disconnectShared.json
75
- def admin_conversations_disconnectShared(options = {})
76
- throw ArgumentError.new('Required arguments :channel_id missing') if options[:channel_id].nil?
77
- post('admin.conversations.disconnectShared', options)
78
- end
79
-
80
66
  #
81
67
  # Get conversation preferences for a public or private channel.
82
68
  #
@@ -10,7 +10,7 @@ module Slack
10
10
  # Create an Enterprise team.
11
11
  #
12
12
  # @option options [Object] :team_domain
13
- # Team domain (for example, slacksoftballteam).
13
+ # Team domain (for example, slacksoftballteam). Domains are limited to 21 characters.
14
14
  # @option options [Object] :team_name
15
15
  # Team name (for example, Slack Softball Team).
16
16
  # @option options [Object] :team_description
@@ -6,37 +6,6 @@ module Slack
6
6
  module Api
7
7
  module Endpoints
8
8
  module Channels
9
- #
10
- # Archives a channel.
11
- #
12
- # @option options [channel] :channel
13
- # Channel to archive.
14
- # @see https://api.slack.com/methods/channels.archive
15
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/channels/channels.archive.json
16
- def channels_archive(options = {})
17
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
18
- options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
19
- logger.warn('channels.archive: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.archive.')
20
- post('channels.archive', options)
21
- end
22
-
23
- #
24
- # Creates a channel.
25
- #
26
- # @option options [Object] :name
27
- # Name of channel to create.
28
- # @option options [Object] :team_id
29
- # encoded team id to create the channel in, required if org token is used.
30
- # @option options [Object] :validate
31
- # Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.
32
- # @see https://api.slack.com/methods/channels.create
33
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/channels/channels.create.json
34
- def channels_create(options = {})
35
- throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
36
- logger.warn('channels.create: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.create.')
37
- post('channels.create', options)
38
- end
39
-
40
9
  #
41
10
  # Delete a channel (undocumented)
42
11
  #
@@ -49,240 +18,6 @@ module Slack
49
18
  logger.warn('The channels.delete method is undocumented.')
50
19
  post('channels.delete', options)
51
20
  end
52
-
53
- #
54
- # Fetches history of messages and events from a channel.
55
- #
56
- # @option options [channel] :channel
57
- # Channel to fetch history for.
58
- # @option options [Object] :inclusive
59
- # Include messages with latest or oldest timestamp in results.
60
- # @option options [timestamp] :latest
61
- # End of time range of messages to include in results.
62
- # @option options [timestamp] :oldest
63
- # Start of time range of messages to include in results.
64
- # @option options [Object] :unreads
65
- # Include unread_count_display in the output?.
66
- # @see https://api.slack.com/methods/channels.history
67
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/channels/channels.history.json
68
- def channels_history(options = {})
69
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
70
- options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
71
- logger.warn('channels.history: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.history.')
72
- post('channels.history', options)
73
- end
74
-
75
- #
76
- # Gets information about a channel.
77
- #
78
- # @option options [channel] :channel
79
- # Channel to get info on.
80
- # @option options [Object] :include_locale
81
- # Set this to true to receive the locale for this channel. Defaults to false.
82
- # @see https://api.slack.com/methods/channels.info
83
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/channels/channels.info.json
84
- def channels_info(options = {})
85
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
86
- options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
87
- logger.warn('channels.info: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.info.')
88
- post('channels.info', options)
89
- end
90
-
91
- #
92
- # Invites a user to a channel.
93
- #
94
- # @option options [channel] :channel
95
- # Channel to invite user to.
96
- # @option options [user] :user
97
- # User to invite to channel.
98
- # @see https://api.slack.com/methods/channels.invite
99
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/channels/channels.invite.json
100
- def channels_invite(options = {})
101
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
102
- throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
103
- options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
104
- options = options.merge(user: users_id(options)['user']['id']) if options[:user]
105
- logger.warn('channels.invite: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.invite.')
106
- post('channels.invite', options)
107
- end
108
-
109
- #
110
- # Joins a channel, creating it if needed.
111
- #
112
- # @option options [Object] :name
113
- # Name of channel to join.
114
- # @option options [Object] :team_id
115
- # encoded team id to list channels in, required if org token is used.
116
- # @option options [Object] :validate
117
- # Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.
118
- # @see https://api.slack.com/methods/channels.join
119
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/channels/channels.join.json
120
- def channels_join(options = {})
121
- throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
122
- logger.warn('channels.join: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.join.')
123
- post('channels.join', options)
124
- end
125
-
126
- #
127
- # Removes a user from a channel.
128
- #
129
- # @option options [channel] :channel
130
- # Channel to remove user from.
131
- # @option options [user] :user
132
- # User to remove from channel.
133
- # @see https://api.slack.com/methods/channels.kick
134
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/channels/channels.kick.json
135
- def channels_kick(options = {})
136
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
137
- throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
138
- options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
139
- options = options.merge(user: users_id(options)['user']['id']) if options[:user]
140
- logger.warn('channels.kick: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.kick.')
141
- post('channels.kick', options)
142
- end
143
-
144
- #
145
- # Leaves a channel.
146
- #
147
- # @option options [channel] :channel
148
- # Channel to leave.
149
- # @see https://api.slack.com/methods/channels.leave
150
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/channels/channels.leave.json
151
- def channels_leave(options = {})
152
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
153
- options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
154
- logger.warn('channels.leave: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.leave.')
155
- post('channels.leave', options)
156
- end
157
-
158
- #
159
- # Lists all channels in a Slack team.
160
- #
161
- # @option options [Object] :cursor
162
- # 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.
163
- # @option options [Object] :exclude_archived
164
- # Exclude archived channels from the list.
165
- # @option options [Object] :exclude_members
166
- # Exclude the members collection from each channel.
167
- # @option options [Object] :limit
168
- # 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.
169
- # @option options [Object] :team_id
170
- # encoded team id to list channels in, required if org token is used.
171
- # @see https://api.slack.com/methods/channels.list
172
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/channels/channels.list.json
173
- def channels_list(options = {})
174
- logger.warn('channels.list: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.list, users.conversations.')
175
- if block_given?
176
- Pagination::Cursor.new(self, :channels_list, options).each do |page|
177
- yield page
178
- end
179
- else
180
- post('channels.list', options)
181
- end
182
- end
183
-
184
- #
185
- # Sets the read cursor in a channel.
186
- #
187
- # @option options [channel] :channel
188
- # Channel or conversation to set the read cursor for.
189
- # @option options [timestamp] :ts
190
- # Unique identifier of message you want marked as most recently seen in this conversation.
191
- # @see https://api.slack.com/methods/channels.mark
192
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/channels/channels.mark.json
193
- def channels_mark(options = {})
194
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
195
- throw ArgumentError.new('Required arguments :ts missing') if options[:ts].nil?
196
- options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
197
- logger.warn('channels.mark: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.mark.')
198
- post('channels.mark', options)
199
- end
200
-
201
- #
202
- # Renames a channel.
203
- #
204
- # @option options [channel] :channel
205
- # Channel to rename.
206
- # @option options [Object] :name
207
- # New name for channel.
208
- # @option options [Object] :validate
209
- # Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.
210
- # @see https://api.slack.com/methods/channels.rename
211
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/channels/channels.rename.json
212
- def channels_rename(options = {})
213
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
214
- throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
215
- options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
216
- logger.warn('channels.rename: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.rename.')
217
- post('channels.rename', options)
218
- end
219
-
220
- #
221
- # Retrieve a thread of messages posted to a channel
222
- #
223
- # @option options [channel] :channel
224
- # Channel to fetch thread from.
225
- # @option options [Object] :thread_ts
226
- # Unique identifier of a thread's parent message.
227
- # @see https://api.slack.com/methods/channels.replies
228
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/channels/channels.replies.json
229
- def channels_replies(options = {})
230
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
231
- throw ArgumentError.new('Required arguments :thread_ts missing') if options[:thread_ts].nil?
232
- options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
233
- logger.warn('channels.replies: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.replies.')
234
- post('channels.replies', options)
235
- end
236
-
237
- #
238
- # Sets the purpose for a channel.
239
- #
240
- # @option options [channel] :channel
241
- # Channel to set the purpose of.
242
- # @option options [Object] :purpose
243
- # The new purpose.
244
- # @option options [Object] :name_tagging
245
- # if it is true, treat this like a message and not an unescaped thing.
246
- # @see https://api.slack.com/methods/channels.setPurpose
247
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/channels/channels.setPurpose.json
248
- def channels_setPurpose(options = {})
249
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
250
- throw ArgumentError.new('Required arguments :purpose missing') if options[:purpose].nil?
251
- options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
252
- logger.warn('channels.setPurpose: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.setPurpose.')
253
- post('channels.setPurpose', options)
254
- end
255
-
256
- #
257
- # Sets the topic for a channel.
258
- #
259
- # @option options [channel] :channel
260
- # Channel to set the topic of.
261
- # @option options [Object] :topic
262
- # The new topic.
263
- # @see https://api.slack.com/methods/channels.setTopic
264
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/channels/channels.setTopic.json
265
- def channels_setTopic(options = {})
266
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
267
- throw ArgumentError.new('Required arguments :topic missing') if options[:topic].nil?
268
- options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
269
- logger.warn('channels.setTopic: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.setTopic.')
270
- post('channels.setTopic', options)
271
- end
272
-
273
- #
274
- # Unarchives a channel.
275
- #
276
- # @option options [channel] :channel
277
- # Channel to unarchive.
278
- # @see https://api.slack.com/methods/channels.unarchive
279
- # @see https://github.com/slack-ruby/slack-api-ref/blob/master/methods/channels/channels.unarchive.json
280
- def channels_unarchive(options = {})
281
- throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
282
- options = options.merge(channel: conversations_id(options)['channel']['id']) if options[:channel]
283
- logger.warn('channels.unarchive: This method is deprecated. It will stop functioning in February 2021 and will not work with newly created apps after June 10th, 2020. Alternative methods: conversations.unarchive.')
284
- post('channels.unarchive', options)
285
- end
286
21
  end
287
22
  end
288
23
  end