module Slack::Web::Api::Endpoints::Users

Public Instance Methods

users_conversations(options = {}) { |page| ... } click to toggle source

List conversations the calling user may access.

@option options [Object] :cursor

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.

@option options [Object] :exclude_archived

Set to true to exclude archived channels from the list.

@option options [Object] :limit

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.

@option options [Object] :team_id

encoded team id to list conversations in, required if org token is used.

@option options [Object] :types

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

@option options [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 api.slack.com/methods/users.conversations @see github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.conversations.json

# File lib/slack/web/api/endpoints/users.rb, line 26
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 = {}) click to toggle source

Delete the user profile photo

@see api.slack.com/methods/users.deletePhoto @see github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.deletePhoto.json

# File lib/slack/web/api/endpoints/users.rb, line 42
def users_deletePhoto(options = {})
  post('users.deletePhoto', options)
end
users_getPresence(options = {}) click to toggle source

Gets user presence information.

@option options [user] :user

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

@see api.slack.com/methods/users.getPresence @see github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.getPresence.json

# File lib/slack/web/api/endpoints/users.rb, line 53
def users_getPresence(options = {})
  options = options.merge(user: users_id(options)['user']['id']) if options[:user]
  post('users.getPresence', options)
end
users_identity(options = {}) click to toggle source

Get a user's identity.

@see api.slack.com/methods/users.identity @see github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.identity.json

# File lib/slack/web/api/endpoints/users.rb, line 63
def users_identity(options = {})
  post('users.identity', options)
end
users_info(options = {}) click to toggle source

Gets information about a user.

@option options [user] :user

User to get info on.

@option options [Object] :include_locale

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

@see api.slack.com/methods/users.info @see github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.info.json

# File lib/slack/web/api/endpoints/users.rb, line 76
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 = {}) { |page| ... } click to toggle source

Lists all users in a Slack team.

@option options [Object] :cursor

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.

@option options [Object] :include_locale

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

@option options [Object] :limit

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. Providing no limit value will result in Slack attempting to deliver you the entire result set. If the collection is too large you may experience limit_required or HTTP 500 errors.

@option options [Object] :team_id

encoded team id to list users in, required if org token is used.

@see api.slack.com/methods/users.list @see github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.list.json

# File lib/slack/web/api/endpoints/users.rb, line 95
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 = {}) click to toggle source

Find a user with an email address.

@option options [Object] :email

An email address belonging to a user in the workspace.

@see api.slack.com/methods/users.lookupByEmail @see github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.lookupByEmail.json

# File lib/slack/web/api/endpoints/users.rb, line 112
def users_lookupByEmail(options = {})
  throw ArgumentError.new('Required arguments :email missing') if options[:email].nil?
  post('users.lookupByEmail', options)
end
users_setActive(options = {}) click to toggle source

Marked a user as active. Deprecated and non-functional.

@see api.slack.com/methods/users.setActive @see github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.setActive.json

# File lib/slack/web/api/endpoints/users.rb, line 122
def users_setActive(options = {})
  post('users.setActive', options)
end
users_setPhoto(options = {}) click to toggle source

Set the user profile photo

@option options [Object] :crop_w

Width/height of crop box (always square).

@option options [Object] :crop_x

X coordinate of top-left corner of crop box.

@option options [Object] :crop_y

Y coordinate of top-left corner of crop box.

@option options [Object] :image

File contents via multipart/form-data.

@see api.slack.com/methods/users.setPhoto @see github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.setPhoto.json

# File lib/slack/web/api/endpoints/users.rb, line 139
def users_setPhoto(options = {})
  post('users.setPhoto', options)
end
users_setPresence(options = {}) click to toggle source

Manually sets user presence.

@option options [Object] :presence

Either auto or away.

@see api.slack.com/methods/users.setPresence @see github.com/slack-ruby/slack-api-ref/blob/master/methods/users/users.setPresence.json

# File lib/slack/web/api/endpoints/users.rb, line 150
def users_setPresence(options = {})
  throw ArgumentError.new('Required arguments :presence missing') if options[:presence].nil?
  post('users.setPresence', options)
end