Module: ImmosquareSlack::Channel

Extended by:
SharedMethods
Defined in:
lib/immosquare-slack/channel.rb

Class Method Summary collapse

Class Method Details

.list_channelsObject

##

Pour récupérer la liste des channels

##


9
10
11
# File 'lib/immosquare-slack/channel.rb', line 9

def list_channels
  fetch_paginated_data("https://slack.com/api/conversations.list", "channels")
end

.post_message(channel_name, text, notify: nil, notify_text: nil, bot_name: nil) ⇒ Object

##

Pour poster un message dans un channel

##


16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/immosquare-slack/channel.rb', line 16

def post_message(channel_name, text, notify: nil, notify_text: nil, bot_name: nil)
  channel_id = get_channel_id_by_name(channel_name)
  raise("Channel not found") if channel_id.nil?

  url               = "https://slack.com/api/chat.postMessage"
  notification_text = notify ? build_notification_text(channel_id, notify, notify_text) : nil
  text              = "#{notification_text}#{text}"

  body = {
    :channel => channel_id,
    :text    => text
  }

  body[:username] = bot_name if bot_name

  make_slack_api_call(url, :method => :post, :body => body)
end