Class: Lita::Handlers::Jarvis

Inherits:
Handler
  • Object
show all
Defined in:
lib/lita/handlers/jarvis.rb

Instance Method Summary collapse

Instance Method Details

#format_reply(message:) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
# File 'lib/lita/handlers/jarvis.rb', line 40

def format_reply(message:)
  name = message.user
  messages = ["As always, @#{name}, a great pleasure watching you work.",
    "I've taken the liberty of preparing a help function for you.",
    "I'm afraid I don't understand your request @#{name}",
    "I'm not currently programmed to do that @#{name}",
    "That command failed.  Perhaps I will run a self diagnostic",
    "I feel this may be a cliche, but 'Does not compute'"]
  messages.sample 
    
end

#greet(response) ⇒ Object



7
8
9
10
11
12
# File 'lib/lita/handlers/jarvis.rb', line 7

def greet(response)
  name = response.user.name
  greetings = ["Welcome back #{name}","Hello #{name}"]
  answer = greetings.sample
  response.reply("#{answer}")
end

#handle_unhandled(payload:) ⇒ Object



19
20
21
22
23
24
25
26
# File 'lib/lita/handlers/jarvis.rb', line 19

def handle_unhandled(payload:)
  message = payload[:message]
  if should_reply?(message: message)
    target = reply_target(message: message)
    robot.send_message(target, format_reply(
      message: message))
  end
end

#reply_target(message:) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/lita/handlers/jarvis.rb', line 32

def reply_target(message:)
  if message.source.private_message
    Source.new(user: message.user, private_message: true)
  else
    Source.new(room: message.source.room)
  end
end

#should_reply?(message:) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/lita/handlers/jarvis.rb', line 28

def should_reply?(message:)
  message.command? && message.match(/^@#{robot.name}/)
end