Module: Slack::Web::Api::Endpoints::Im

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

Instance Method Summary collapse

Instance Method Details

#im_close(options = {}) ⇒ Object

This method closes a direct message channel.

Parameters:

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

    a customizable set of options

Options Hash (options):

  • :channel (im)

    Direct message channel to close.

See Also:


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

def im_close(options = {})
  throw ArgumentError.new('Required arguments :channel missing') if options[:channel].nil?
  options = options.merge(channel: channels_id(options)['channel']['id']) if options[:channel]
  post('im.close', options)
end

#im_history(options = {}) ⇒ Object

This method returns a portion of messages/events from the specified direct message channel. To read the entire history for a direct message 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 (im)

    Direct message 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:


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

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

#im_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)

    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.

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


53
54
55
56
57
58
59
60
61
# File 'lib/slack/web/api/endpoints/im.rb', line 53

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

#im_mark(options = {}) ⇒ Object

This method moves the read cursor in a direct message channel.

Parameters:

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

    a customizable set of options

Options Hash (options):

  • :channel (im)

    Direct message channel to set reading cursor in.

  • :ts (timestamp)

    Timestamp of the most recently seen message.

See Also:


72
73
74
75
76
77
# File 'lib/slack/web/api/endpoints/im.rb', line 72

def im_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: channels_id(options)['channel']['id']) if options[:channel]
  post('im.mark', options)
end

#im_open(options = {}) ⇒ Object

This method opens a direct message channel with another member of your Slack team.

Parameters:

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

    a customizable set of options

Options Hash (options):

  • :user (user)

    User to open a direct message channel with.

  • :include_locale (Object)

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

  • :return_im (Object)

    Boolean, indicates you want the full IM channel definition in the response.

See Also:


90
91
92
93
94
# File 'lib/slack/web/api/endpoints/im.rb', line 90

def im_open(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('im.open', options)
end

#im_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 (im)

    Direct message channel to fetch thread from.

  • :thread_ts (Object)

    Unique identifier of a thread's parent message.

See Also:


105
106
107
108
109
110
# File 'lib/slack/web/api/endpoints/im.rb', line 105

def im_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: channels_id(options)['channel']['id']) if options[:channel]
  post('im.replies', options)
end