Class: BotBaseModuleAlias

Inherits:
Object
  • Object
show all
Defined in:
lib/botbase-module-alias.rb

Instance Method Summary collapse

Constructor Details

#initialize(aliases: nil, callback: nil) ⇒ BotBaseModuleAlias

Returns a new instance of BotBaseModuleAlias.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/botbase-module-alias.rb', line 15

def initialize(aliases: nil, callback: nil)
  
  if aliases.nil? then
    raise BotBaseModuleAliasException, 'aliases must be provided' 
  end
  
  @bot = callback    
  
  s, _ = RXFHelper.read aliases
  @dx = Dynarex.new
  @dx.import aliases

  
end

Instance Method Details

#query(s, mode: :textchat, echo_node: 'node1') ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/botbase-module-alias.rb', line 30

def query(s, mode: :textchat, echo_node: 'node1')
             
  a = @dx.all.inject([]) do |r, x|
  
    found = s.match(/#{x.title}/i)
    found ? r << [x, found] : r

  end
  
  if a.any? then
         
    msg=a[0][0].aliasname
    notice msg
    
    @bot.received(msg, mode: mode, echo_node: echo_node)
         
  else
    ''
  end
         
end