forked from slack-ruby/slack-ruby-client
-
Notifications
You must be signed in to change notification settings - Fork 0
/
hi.rb
41 lines (32 loc) · 938 Bytes
/
hi.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
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
# frozen_string_literal: true
require 'slack-ruby-client'
Slack.configure do |config|
config.token = ENV['SLACK_API_TOKEN']
config.logger = Logger.new(STDOUT)
config.logger.level = Logger::INFO
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
client.typing channel: data.channel
case data.text
when 'bot hi'
client.message channel: data.channel, text: "Hi <@#{data.user}>!"
when /^bot/
client.message channel: data.channel, text: "Sorry <@#{data.user}>, what?"
end
end
client.on :close do |_data|
puts 'Connection closing, exiting.'
end
client.on :closed do |_data|
puts 'Connection has been disconnected.'
end
client.start!