Class: Driftwood::Plugin::Netserv

Inherits:
Driftwood::Plugin show all
Defined in:
lib/driftwood/plugin/netserv.rb

Instance Attribute Summary

Attributes inherited from Driftwood::Plugin

#about, #name, #usage

Instance Method Summary collapse

Constructor Details

#initialize(config = nil, slack = nil, bigquery = nil) ⇒ Netserv

Returns a new instance of Netserv.



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/driftwood/plugin/netserv.rb', line 3

def initialize(config=nil, slack=nil, bigquery=nil)
  super(config, slack, bigquery)
  @about   = 'Provides basic network services, like ping, echo, version.'
  @usage   = 'Available commands: hello, ping, echo <message>, version.'

  @slack.register_handler('message') do |team_id, event_data|
    next unless @slack.to_me?(event_data)

    user = event_data['user']
    text = event_data['text']

    case text
    when /^hello/i
      @slack.send_response(team_id, user, "Hi there, #{@slack.real_name(team_id, user)}!")
    when /^ping$/i
      @slack.send_response(team_id, user, "Pong")
    when /^echo (.*)/i
      @slack.send_response(team_id, user, "Echo response: #{$1}")
    when /^version$/i
      @slack.send_response(team_id, user, "Driftwood v#{Driftwood::VERSION}")
    end
  end

end