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

Close 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

Fetches history of messages and events from direct message channel.

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:



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

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

Lists direct message channels for the calling user.

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:



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

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

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



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

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

Opens a direct message channel.

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:



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

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

Retrieve a thread of messages posted to a direct message conversation

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:



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

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