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

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

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

Clones and archives a 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:



42
43
44
45
46
# File 'lib/slack/web/api/endpoints/groups.rb', line 42

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

Fetches history of messages and events from a private channel.

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:



63
64
65
66
67
# File 'lib/slack/web/api/endpoints/groups.rb', line 63

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

Gets information about a private channel.

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:



78
79
80
81
82
# File 'lib/slack/web/api/endpoints/groups.rb', line 78

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

Invites a user to a 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:



93
94
95
96
97
98
99
# File 'lib/slack/web/api/endpoints/groups.rb', line 93

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

Removes a user 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:



110
111
112
113
114
115
116
# File 'lib/slack/web/api/endpoints/groups.rb', line 110

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

Leaves a private channel.

Parameters:

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

    a customizable set of options

Options Hash (options):

  • :channel (group)

    Private channel to leave.

See Also:



125
126
127
128
129
# File 'lib/slack/web/api/endpoints/groups.rb', line 125

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

Lists private channels that the calling user has access to.

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:



144
145
146
147
148
149
150
151
152
# File 'lib/slack/web/api/endpoints/groups.rb', line 144

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

Sets 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:



163
164
165
166
167
168
# File 'lib/slack/web/api/endpoints/groups.rb', line 163

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

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:



177
178
179
180
181
# File 'lib/slack/web/api/endpoints/groups.rb', line 177

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

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:



194
195
196
197
198
199
# File 'lib/slack/web/api/endpoints/groups.rb', line 194

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

Retrieve a thread of messages posted to a private channel

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:



210
211
212
213
214
215
# File 'lib/slack/web/api/endpoints/groups.rb', line 210

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

Sets the purpose for a 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:



226
227
228
229
230
231
# File 'lib/slack/web/api/endpoints/groups.rb', line 226

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

Sets the topic for a 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:



242
243
244
245
246
247
# File 'lib/slack/web/api/endpoints/groups.rb', line 242

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

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:



256
257
258
259
260
# File 'lib/slack/web/api/endpoints/groups.rb', line 256

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