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
15
# 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
  { channel: @channel, user: @user, text: @text }
end

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



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

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
  { channel: @responce_channel, user: @responce_user, text: @responce_text }
end

#startObject



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

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



27
28
29
30
# File 'lib/simple_slack/botter.rb', line 27

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