Class: SimpleSlack::Botter

Inherits:
Object
  • Object
show all
Defined in:
lib/simple_slack/botter.rb

Instance Method Summary collapse

Constructor Details

#initialize(token, client) ⇒ Botter

Returns a new instance of Botter.



2
3
4
5
6
7
8
# File 'lib/simple_slack/botter.rb', line 2

def initialize(token, client)
  Slack.configure {|c| c.token = token }
  @r_client = Slack.realtime
  @client   = client
  @channel, @text, @user = ["all"] * 3
  @responce_channel, @responce_text, @responce_user = nil, nil, "slacker"
end

Instance Method Details

#set_condition(channel: nil, text: nil, user: nil) ⇒ Object



10
11
12
13
14
# File 'lib/simple_slack/botter.rb', line 10

def set_condition(channel: nil, text: nil, user: nil)
  @channel = set_condition_channel(channel) if channel
  @user    = set_condition_user(user)       if user
  @text    = set_condition_text(text)       if text
end

#set_responce(channel: nil, text: nil, user: nil) ⇒ Object



16
17
18
19
20
21
22
23
# File 'lib/simple_slack/botter.rb', line 16

def set_responce(channel: nil , text: nil, user: nil)
  @responce_channel = channel  if channel
  @responce_text    = text     if text
  @responce_user    = user     if user
  if block_given?
    @responce_block = Proc.new(&yield)
  end
end

#startObject



30
31
32
33
34
35
36
37
38
39
# File 'lib/simple_slack/botter.rb', line 30

def start
  return p "not set params. need set_responce(channel: , text: , user: )" unless valid_params
  @r_client.on :message do |data|
    if fit_condition?(data)
      send_responce(data)
    end
  end
  puts "client start!"
  @r_client.start
end

#statusObject



25
26
27
28
# File 'lib/simple_slack/botter.rb', line 25

def status
  variables = instance_variables.map {|v| v.to_s }
  variables.map {|v| { v.to_s => instance_variable_get(v) } }
end