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.

  • :latest (timestamp)

    End of time range of messages to include in results.

  • :oldest (timestamp)

    Start of time range of messages to include in results.

  • :inclusive (Object)

    Include messages with latest or oldest timestamp 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

This method returns a list of all im channels that the user has.



49
50
51
# File 'lib/slack/web/api/endpoints/im.rb', line 49

def im_list(options = {})
  post('im.list', options)
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:



62
63
64
65
66
67
# File 'lib/slack/web/api/endpoints/im.rb', line 62

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.

  • :return_im (Object)

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

See Also:



78
79
80
81
82
# File 'lib/slack/web/api/endpoints/im.rb', line 78

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:



93
94
95
96
97
98
# File 'lib/slack/web/api/endpoints/im.rb', line 93

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