Module: Slack::Web::Api::Endpoints::Users

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

Instance Method Summary collapse

Instance Method Details

#users_conversations(options = {}) ⇒ Object

As part of the Conversations API, this method's required scopes depend on the type of channel-like object you're working with. For classic Slack apps, a corresponding channels: scope is required when working with public channels, groups: for private channels, also the same rules are applied for im: and mpim:. For workspace apps, a conversations: scope is all that's needed.

Parameters:

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

    a customizable set of options

Options Hash (options):

  • :cursor (Object)

    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.

  • :exclude_archived (Object)

    Set to true to exclude archived channels from the list.

  • :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. Must be an integer no larger than 1000.

  • :types (Object)

    Mix and match channel types by providing a comma-separated list of any combination of public_channel, private_channel, mpim, im.

  • :user (user)

    Browse conversations by a specific user ID's membership. Non-public channels are restricted to those where the calling user shares membership.

See Also:


23
24
25
26
27
28
29
30
31
32
# File 'lib/slack/web/api/endpoints/users.rb', line 23

def users_conversations(options = {})
  options = options.merge(user: users_id(options)['user']['id']) if options[:user]
  if block_given?
    Pagination::Cursor.new(self, :users_conversations, options).each do |page|
      yield page
    end
  else
    post('users.conversations', options)
  end
end

#users_deletePhoto(options = {}) ⇒ Object

This method allows the user to delete their profile image. It will clear whatever image is currently set.


39
40
41
# File 'lib/slack/web/api/endpoints/users.rb', line 39

def users_deletePhoto(options = {})
  post('users.deletePhoto', options)
end

#users_getPresence(options = {}) ⇒ Object

This method lets you find out information about a user's presence. Consult the presence documentation for more details.

Parameters:

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

    a customizable set of options

Options Hash (options):

  • :user (user)

    User to get presence info on. Defaults to the authed user.

See Also:


51
52
53
54
55
# File 'lib/slack/web/api/endpoints/users.rb', line 51

def users_getPresence(options = {})
  throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
  options = options.merge(user: users_id(options)['user']['id']) if options[:user]
  post('users.getPresence', options)
end

#users_identity(options = {}) ⇒ Object

After your Slack app is awarded an identity token through Sign in with Slack, use this method to retrieve a user's identity.


62
63
64
# File 'lib/slack/web/api/endpoints/users.rb', line 62

def users_identity(options = {})
  post('users.identity', options)
end

#users_info(options = {}) ⇒ Object

This method returns information about a member of a workspace.

Parameters:

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

    a customizable set of options

Options Hash (options):

  • :user (user)

    User to get info on.

  • :include_locale (Object)

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

See Also:


75
76
77
78
79
# File 'lib/slack/web/api/endpoints/users.rb', line 75

def users_info(options = {})
  throw ArgumentError.new('Required arguments :user missing') if options[:user].nil?
  options = options.merge(user: users_id(options)['user']['id']) if options[:user]
  post('users.info', options)
end

#users_list(options = {}) ⇒ Object

This method returns a list of all users in the workspace. This includes deleted/deactivated users.

Parameters:

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

    a customizable set of options

Options Hash (options):

  • :cursor (Object)

    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.

  • :include_locale (Object)

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

  • :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 users list hasn't been reached.

See Also:


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

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

#users_lookupByEmail(options = {}) ⇒ Object

Retrieve a single user by looking them up by their registered email address. Requires users:read.email.

Parameters:

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

    a customizable set of options

Options Hash (options):

  • :email (Object)

    An email address belonging to a user in the workspace.

See Also:


109
110
111
112
# File 'lib/slack/web/api/endpoints/users.rb', line 109

def users_lookupByEmail(options = {})
  throw ArgumentError.new('Required arguments :email missing') if options[:email].nil?
  post('users.lookupByEmail', options)
end

#users_setActive(options = {}) ⇒ Object

This method is no longer functional and the behavior it controlled is no longer offered. The method will no longer exist beginning May 8, 2018.


119
120
121
# File 'lib/slack/web/api/endpoints/users.rb', line 119

def users_setActive(options = {})
  post('users.setActive', options)
end

#users_setPhoto(options = {}) ⇒ Object

This method allows the user to set their profile image. The caller can pass image data via image.

Parameters:

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

    a customizable set of options

Options Hash (options):

  • :image (Object)

    File contents via multipart/form-data.

  • :crop_w (Object)

    Width/height of crop box (always square).

  • :crop_x (Object)

    X coordinate of top-left corner of crop box.

  • :crop_y (Object)

    Y coordinate of top-left corner of crop box.

See Also:


136
137
138
139
# File 'lib/slack/web/api/endpoints/users.rb', line 136

def users_setPhoto(options = {})
  throw ArgumentError.new('Required arguments :image missing') if options[:image].nil?
  post('users.setPhoto', options)
end

#users_setPresence(options = {}) ⇒ Object

This method lets you set the calling user's manual presence. Consult the presence documentation for more details.

Parameters:

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

    a customizable set of options

Options Hash (options):

  • :presence (Object)

    Either auto or away.

See Also:


149
150
151
152
# File 'lib/slack/web/api/endpoints/users.rb', line 149

def users_setPresence(options = {})
  throw ArgumentError.new('Required arguments :presence missing') if options[:presence].nil?
  post('users.setPresence', options)
end