Module: Slack

Defined in:
lib/enerbot.rb

Class Method Summary collapse

Class Method Details

.runObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/enerbot.rb', line 14

def self.run
  Slack.configure do |config|
    config.token = ENV['SLACK_API_TOKEN']
    config.raise 'Missing ENV[SLACK_API_TOKEN]!' unless config.token
  end

  client = Slack::RealTime::Client.new

  client.on :hello do
    puts "Successfully connected, welcome '#{client.self.name}' to the '#{client.team.name}' team at https://#{client.team.domain}.slack.com."
  end

  client.on :message do |data|
    puts data
    if 'DBDH58JJU'.include? data.channel
      case data.text
      when 'enerbot hola' then
        Fly.message(data, '¡Hola!', ':black_square:', 'ENERBOT')
      when /enerbot como va/ then
        Fly.message(data, 'Trabajo muy duro, como un esclavo... :musical_note:', ':black_square:', 'ENERBOT')
      when /enerbot un consejo/, /enerbot una pregunta/ then
        Fly.message(data, Quote.advice, ':black_square:', 'ENERBOT')
      when /enerbot beneficio/ then
        Fly.message(data, Quote.benefit, ':black_square:', 'ENERBOT')
      when 'enerbot las reglas', 'enerbot da rules', /enerbot the rules/ then
        Fly.message(data, Info.rules, ':black_square:', 'ENERBOT')
      when 'enerbot cuando pagan?'then
        Fly.message(data, Time_to.gardel, ':black_square:', 'ENERBOT')
      when 'enerbot cuanto para el 18'then
        Fly.message(data, Time_to.september, ':black_square:', 'ENERBOT')
      end
    else
      case data.text
      when /enerbot/ then
        Fly.message(data, Quote.advice, ':black_square:', 'ENERBOT')
      end
    end
  end
  client.start!
end