Module: Slack::Web::Api::Endpoints::Groups

Included in:
Slack::Web::Api::Endpoints
Defined in:
lib/slack/web/api/endpoints/groups.rb

Instance Method Summary collapse

Instance Method Details

#groups_archive(options = {}) ⇒ Object

This method archives a private channel.

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :channel (group)

    Private channel to archive.

See Also:



15
16
17
18
19
# File 'lib/slack/web/api/endpoints/groups.rb', line 15

def groups_archive(options = {})
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
  options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
  post('groups.archive', options)
end

#groups_create(options = {}) ⇒ Object

This method creates a private channel.

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :name (Object)

    Name of private channel to create.

  • :validate (Object)

    Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.

See Also:



30
31
32
33
# File 'lib/slack/web/api/endpoints/groups.rb', line 30

def groups_create(options = {})
  throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
  post('groups.create', options)
end

#groups_createChild(options = {}) ⇒ Object

This method takes an existing private channel and performs the following steps:

  • Renames the existing private channel (from “example” to “example-archived”).

  • Archives the existing private channel.

  • Creates a new private channel with the name of the existing private channel.

  • Adds all members of the existing private channel to the new private channel.

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :channel (group)

    Private channel to clone and archive.

See Also:



46
47
48
49
50
# File 'lib/slack/web/api/endpoints/groups.rb', line 46

def groups_createChild(options = {})
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
  options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
  post('groups.createChild', options)
end

#groups_history(options = {}) ⇒ Object

This method returns a portion of messages/events from the specified private channel. To read the entire history for a private channel, call the method with no latest or oldest arguments, and then continue paging using the instructions below.

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :channel (group)

    Private channel to fetch history for.

  • :inclusive (Object)

    Include messages with latest or oldest timestamp in results.

  • :latest (timestamp)

    End of time range of messages to include in results.

  • :oldest (timestamp)

    Start of time range of messages to include in results.

  • :unreads (Object)

    Include unread_count_display in the output?.

See Also:



69
70
71
72
73
# File 'lib/slack/web/api/endpoints/groups.rb', line 69

def groups_history(options = {})
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
  options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
  post('groups.history', options)
end

#groups_info(options = {}) ⇒ Object

Don’t use this method. Use conversations.info instead.

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :channel (group)

    Private channel to get info on.

  • :include_locale (Object)

    Set this to true to receive the locale for this group. Defaults to false.

See Also:



84
85
86
87
88
# File 'lib/slack/web/api/endpoints/groups.rb', line 84

def groups_info(options = {})
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
  options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
  post('groups.info', options)
end

#groups_invite(options = {}) ⇒ Object

This method is used to invite a user to a private channel. The calling user must be a member of the private channel.

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :channel (group)

    Private channel to invite user to.

  • :user (user)

    User to invite.

See Also:



99
100
101
102
103
104
105
# File 'lib/slack/web/api/endpoints/groups.rb', line 99

def groups_invite(options = {})
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
  throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
  options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
  options = options.merge(user: users_id(options)['user']['id']) if options[:user]
  post('groups.invite', options)
end

#groups_kick(options = {}) ⇒ Object

This method allows a user to remove another member from a private channel.

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :channel (group)

    Private channel to remove user from.

  • :user (user)

    User to remove from private channel.

See Also:



116
117
118
119
120
121
122
# File 'lib/slack/web/api/endpoints/groups.rb', line 116

def groups_kick(options = {})
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
  throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
  options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
  options = options.merge(user: users_id(options)['user']['id']) if options[:user]
  post('groups.kick', options)
end

#groups_leave(options = {}) ⇒ Object

This method is used to leave a private channel.

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :channel (group)

    Private channel to leave.

See Also:



131
132
133
134
135
# File 'lib/slack/web/api/endpoints/groups.rb', line 131

def groups_leave(options = {})
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
  options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
  post('groups.leave', options)
end

#groups_list(options = {}) ⇒ Object

Don’t use this method. Use conversations.list instead.

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :cursor (Object)

    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.

  • :exclude_archived (Object)

    Don’t return archived private channels.

  • :exclude_members (Object)

    Exclude the members from each group.

  • :limit (Object)

    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.

See Also:



150
151
152
153
154
155
156
157
158
# File 'lib/slack/web/api/endpoints/groups.rb', line 150

def groups_list(options = {})
  if block_given?
    Pagination::Cursor.new(self, :groups_list, options).each do |page|
      yield page
    end
  else
    post('groups.list', options)
  end
end

#groups_mark(options = {}) ⇒ Object

This method moves the read cursor in a private channel.

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :channel (group)

    Private channel to set reading cursor in.

  • :ts (timestamp)

    Timestamp of the most recently seen message.

See Also:



169
170
171
172
173
174
# File 'lib/slack/web/api/endpoints/groups.rb', line 169

def groups_mark(options = {})
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
  throw ArgumentError.new('Required arguments :ts missing') if options[:ts].nil?
  options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
  post('groups.mark', options)
end

#groups_open(options = {}) ⇒ Object

This method opens a private channel.

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :channel (group)

    Private channel to open.

See Also:



183
184
185
186
187
# File 'lib/slack/web/api/endpoints/groups.rb', line 183

def groups_open(options = {})
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
  options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
  post('groups.open', options)
end

#groups_rename(options = {}) ⇒ Object

This method renames a private channel.

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :channel (group)

    Private channel to rename.

  • :name (Object)

    New name for private channel.

  • :validate (Object)

    Whether to return errors on invalid channel name instead of modifying it to meet the specified criteria.

See Also:



200
201
202
203
204
205
# File 'lib/slack/web/api/endpoints/groups.rb', line 200

def groups_rename(options = {})
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
  throw ArgumentError.new('Required arguments :name missing') if options[:name].nil?
  options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
  post('groups.rename', options)
end

#groups_replies(options = {}) ⇒ Object

This method returns an entire thread (a message plus all the messages in reply to it).

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :channel (group)

    Private channel to fetch thread from.

  • :thread_ts (Object)

    Unique identifier of a thread’s parent message.

See Also:



216
217
218
219
220
221
# File 'lib/slack/web/api/endpoints/groups.rb', line 216

def groups_replies(options = {})
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
  throw ArgumentError.new('Required arguments :thread_ts missing') if options[:thread_ts].nil?
  options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
  post('groups.replies', options)
end

#groups_setPurpose(options = {}) ⇒ Object

This method is used to change the purpose of a private channel. The calling user must be a member of the private channel.

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :channel (group)

    Private channel to set the purpose of.

  • :purpose (Object)

    The new purpose.

See Also:



232
233
234
235
236
237
# File 'lib/slack/web/api/endpoints/groups.rb', line 232

def groups_setPurpose(options = {})
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
  throw ArgumentError.new('Required arguments :purpose missing') if options[:purpose].nil?
  options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
  post('groups.setPurpose', options)
end

#groups_setTopic(options = {}) ⇒ Object

This method is used to change the topic of a private channel. The calling user must be a member of the private channel.

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :channel (group)

    Private channel to set the topic of.

  • :topic (Object)

    The new topic.

See Also:



248
249
250
251
252
253
# File 'lib/slack/web/api/endpoints/groups.rb', line 248

def groups_setTopic(options = {})
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
  throw ArgumentError.new('Required arguments :topic missing') if options[:topic].nil?
  options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
  post('groups.setTopic', options)
end

#groups_unarchive(options = {}) ⇒ Object

This method unarchives a private channel.

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :channel (group)

    Private channel to unarchive.

See Also:



262
263
264
265
266
# File 'lib/slack/web/api/endpoints/groups.rb', line 262

def groups_unarchive(options = {})
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
  options = options.merge(channel: groups_id(options)['group']['id']) if options[:channel]
  post('groups.unarchive', options)
end