module Slack::Web::Api::Mixins::Channels

Public Instance Methods

channels_id(options = {}) click to toggle source

This method returns a channel ID given a channel name.

@option options [channel] :channel

Channel to get ID for, prefixed with #.
# File lib/slack/web/api/mixins/channels.id.rb, line 11
def channels_id(options = {})
  name = options[:channel]
  throw ArgumentError.new('Required arguments :channel missing') if name.nil?
  return { 'ok' => true, 'channel' => { 'id' => name } } unless name[0] == '#'
  channels_list.tap do |list|
    list['channels'].each do |channel|
      return { 'ok' => true, 'channel' => { 'id' => channel['id'] } } if channel['name'] == name[1..-1]
    end
  end
  fail Slack::Web::Api::Error, 'channel_not_found'
end