module Slack::Web::Api::Endpoints::Im

Public Instance Methods

im_close(options = {}) click to toggle source

Close a direct message channel.

@option options [im] :channel

Direct message channel to close.

@see api.slack.com/methods/im.close @see github.com/slack-ruby/slack-api-ref/blob/master/methods/im/im.close.json

# 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 = {}) click to toggle source

Fetches history of messages and events from direct message channel.

@option options [im] :channel

Direct message channel to fetch history for.

@option options [Object] :inclusive

Include messages with latest or oldest timestamp in results.

@option options [timestamp] :latest

End of time range of messages to include in results.

@option options [timestamp] :oldest

Start of time range of messages to include in results.

@option options [Object] :unreads

Include unread_count_display in the output?.

@see api.slack.com/methods/im.history @see github.com/slack-ruby/slack-api-ref/blob/master/methods/im/im.history.json

# 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 = {}) { |page| ... } click to toggle source

Lists direct message channels for the calling user.

@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] :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.

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

# 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 = {}) click to toggle source

Sets the read cursor in a direct message channel.

@option options [im] :channel

Direct message channel to set reading cursor in.

@option options [timestamp] :ts

Timestamp of the most recently seen message.

@see api.slack.com/methods/im.mark @see github.com/slack-ruby/slack-api-ref/blob/master/methods/im/im.mark.json

# 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 = {}) click to toggle source

Opens a direct message channel.

@option options [user] :user

User to open a direct message channel with.

@option options [Object] :include_locale

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

@option options [Object] :return_im

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

@see api.slack.com/methods/im.open @see github.com/slack-ruby/slack-api-ref/blob/master/methods/im/im.open.json

# 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 = {}) click to toggle source

Retrieve a thread of messages posted to a direct message conversation

@option options [im] :channel

Direct message channel to fetch thread from.

@option options [Object] :thread_ts

Unique identifier of a thread's parent message.

@see api.slack.com/methods/im.replies @see github.com/slack-ruby/slack-api-ref/blob/master/methods/im/im.replies.json

# 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