ChatOps

Is Ruby dead? No

Bot en tiempo real

require 'slack-ruby-client'

token = 'xoxb-123123-456456-abcdefgabcdefgabcdefg'

client = Slack::RealTime::Client.new(token: token)

client.on :message do |data|
  case data.text
  when /hi/
    client.message channel: data.channel,
                   text: "Hi <@#{data.user}>!"
  end
end

client.start!
require 'slack-ruby-client'

token = ''

Slack.configure do |config|
  config.token = ENV['SLACK_BOT_TOKEN'] || token
  config.raise 'Missing token' unless config.token
end

client = Slack::RealTime::Client.new

client.on :message do |data|
  case data.text
  when /hi/
    client.web_client.chat_postMessage channel: data.channel,
                                       text: "Hi <@#{data.user}>"!
  end
end

client.start!

Mejoras rĂ¡pidas

require 'slack-ruby-client'
require_relative 'useful_feature'

token = 'xoxb-123123-456456-abcdefgabcdefgabcdefg'

client = Slack::RealTime::Client.new(token: token)

client.on :message do |data|
  text = case data.text
         when /hi/
            UsefulFeature.salute(data.text)
         end
  
  client.message channel: data.channel,
                 text: text unless text.empty? || text.nil?
end

client.start!
# A useful function for something
module UsefulFeature
  def self.salute(text)
  	if salute == 'holi'
      'Holiwis'
    else
      'holiwis'
    end
  end
end

Desventajas

Input

Output

Useful feature

# A Functional AI

ChatOps with Ruby

By Luciano Adonis

ChatOps with Ruby

There are at least two lies on that title.

  • 85