botbase 0.1.5 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (6) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +3 -2
  3. data.tar.gz.sig +0 -0
  4. data/lib/botbase.rb +29 -11
  5. metadata +18 -18
  6. metadata.gz.sig +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 42925559bf87853906139d784dac282989f92e23
4
- data.tar.gz: d34b8c7a78104b567e4f0fd854f344d0913c718e
3
+ metadata.gz: ff6c3b0ea464e7839677611732bb1389551737a8
4
+ data.tar.gz: 1ad5c911800819f41a64ee43ecb6cbee28973923
5
5
  SHA512:
6
- metadata.gz: e311320b1ffd1504b15f85af4a002558dbe611fbda3be282e9d053c2fa84d8dd4de4ab0d44cfda62bfb6aa3e6408764227bdf7c016c3d696b761b7881db40c12
7
- data.tar.gz: 8a0f1a91dec90e789c9a9676137c6647d5f1df8ccff3de1567edd0a18bbf917bfbef441ddc0b7455e716e7ff67c4f443a8b1fba105cf2e293edeed8546547a3c
6
+ metadata.gz: 13c7599d1d80812e1c19affcc5d0f7537552025aee3bef8acf106c9deb222d3b15fb0c1f1825f924c22174392e8d39496ebe09c7606df67c2f0b070f460a7936
7
+ data.tar.gz: 7a6b77d09ddfcc2e1e7cbbe21d634b51e56c2e3e22fc05ed37cc425b45c30ddd8cb01ab2261a57184a0759677962b821c5c3f46a8102d662811d473e527c784c
@@ -1,2 +1,3 @@
1
- R���7n�@�j���+�����Oٮ`��v��q׽,��Q���uW��Rz�^�+��9�%� X��Bp��)�oBU:��V�]�\/�hm �E/��r2�<�����Ϫ���&�[{|�T4���Zvի'���™�w����5�Zۏ�����/8Z�
2
- �%��� ;#��3,�ӕ���+l�\ ��I��-)�I
1
+ ���!fD]��\x� |��׋�9B��Q1�yH� ��zA����UKJh��6x᪟�&�
2
+ ��5�¿������Eu�� <��Q@.���z���"6��pl�hrX��) �����xu:#�����<2H�P�C4�j���݊�����}K��?�h�X�a�R�#CJ ��c*��k����{H����D�l�xg<+eP��v9��H,���"WZ���*�Z⳰Q���f�)�a
3
+ Z�:g�%k^��bpqg��
data.tar.gz.sig CHANGED
Binary file
@@ -9,23 +9,35 @@ require 'simple-config'
9
9
 
10
10
  class BotBase
11
11
 
12
- def initialize(config=nil, botname: 'Nicole', notifier: nil)
12
+ def initialize(config=nil, botname: 'Nicole', notifier: nil, debug: false)
13
13
 
14
14
  @h = nil
15
15
 
16
+ @botname, @notifier, @debug = botname, notifier, debug
17
+
16
18
  if config then
17
19
 
18
20
  @h = SimpleConfig.new(config).to_h
19
-
21
+ puts 'j:' + @h.inspect
20
22
  # load the service modules
21
23
  @modules = initialize_modules(@h[:modules])
22
24
 
23
25
  end
24
-
25
- @botname, @notifier = botname, notifier
26
26
 
27
27
  end
28
28
 
29
+ # used for display debug messages from modules
30
+ #
31
+ def debug(msg)
32
+ notice 'botbase/debug: ' + msg if @debug
33
+ end
34
+
35
+ # used for display debug messages from modules
36
+ #
37
+ def notice(msg)
38
+ @notifier.notice msg if @notifier
39
+ end
40
+
29
41
  def received(sender='user01', msg, mode: :voicechat, echo_node: 'node1')
30
42
 
31
43
  msg.rstrip!
@@ -33,13 +45,16 @@ class BotBase
33
45
 
34
46
  r = nil
35
47
 
36
- msg_recognised = @modules.detect do |m|
37
- r = m.query(msg, mode: mode, echo_node: echo_node); r and r.length > 0
48
+ detected = @modules.detect do |m|
49
+ r = m.query(msg, mode: mode, echo_node: echo_node)
50
+ r and r.length > 0
38
51
  end
39
52
 
40
- return r if msg_recognised
41
-
42
- ''
53
+ if detected then
54
+ r
55
+ else
56
+ ''
57
+ end
43
58
 
44
59
  end
45
60
 
@@ -47,7 +62,7 @@ class BotBase
47
62
 
48
63
  puts 'restarting ...'
49
64
  @modules = initialize_modules(@h[:modules]) if @h
50
- @notifier.notice "echo: #{@botname} is now ready" if @notifier
65
+ notice "echo: #{@botname} is now ready"
51
66
 
52
67
  end
53
68
 
@@ -58,10 +73,13 @@ class BotBase
58
73
  modules.inject([]) do |r, m|
59
74
 
60
75
  name, settings = m
76
+
77
+ debug 'initialising botbase-module-' + name.to_s
61
78
 
62
79
  klass_name = 'BotBaseModule' + name.to_s
63
80
 
64
- r << Kernel.const_get(klass_name).new(settings)
81
+
82
+ r << Kernel.const_get(klass_name).new(settings.merge({callback: self}))
65
83
 
66
84
  end
67
85
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: botbase
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -12,26 +12,26 @@ cert_chain:
12
12
  -----BEGIN CERTIFICATE-----
13
13
  MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
14
  YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
- 8ixkARkWAmV1MB4XDTE2MDcyNzE5MTcxM1oXDTE3MDcyNzE5MTcxM1owSDESMBAG
15
+ 8ixkARkWAmV1MB4XDTE3MTAxNDE2NDUzNVoXDTE4MTAxNDE2NDUzNVowSDESMBAG
16
16
  A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
17
  EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBALsbRjK2W7TcQnYBg/D9iycp31/xi/zAY2vd7FeX6antxPKUnA076arWoImS
19
- XhkWVU1UbNUUrD5TSISg9K3wVE/lMSQkE8BxTzWvf4xJwb8TguhCQ0K+pelKSWh6
20
- dzgecLarVD7KVSnh/JlR4+w1hu/6pAZ46+mnbeCjpF1hcuXmdFxBO1tyUJSoaqlS
21
- i8xLq9MLtwSTpGPK2pmSwJE9pVdC8TjD19Jq/5QApq5WSomirkj3OEdvv90HLaoe
22
- nhvYBleousRH8ydwvuEn2b/uIokILedGILKumjkFzjUP1bnkNp7o4iMAsnpjrUEG
23
- 6a33SCPWWjrX7VwKOfmfsIJQV8MCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
- DwQEAwIEsDAdBgNVHQ4EFgQU2FiJHsl84wPXGGheBObeA4Vab8YwJgYDVR0RBB8w
18
+ ggEBANRgsuAOAgt7b/Ss3HNTIZOuJE3zhRVN8Vm0GjNRHpazL61v3mCFMLQCdqX7
19
+ AVgM5KGcM2N11UntqBPcrm/ZoH7/QixzdPJ1B3Sm5vgA/XUSLIqFZgo6rmB9gCwj
20
+ KON+QTbiLNIsA8C0uhvXZrF+JUrMuo3j/b6NUQCLIpo1EYeyv+10s13FrT/7RT/E
21
+ rt86T1mu8CbJ6Nq9cxgKI0e/xFzydtlsNTOJubRjdHEO2XnkEF9WqODMvOUSWpVv
22
+ 3RcelYfRYl4wqBsinWXoVg4EwPorutq2URIWl1h5uVkDW2NPPnYr0gvLhXI7M3JC
23
+ hQx/k1hToaoMYA7PgtuyGklsNUkCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQU9gRQv5gXgRij7LYtMdAIWxKRNEkwJgYDVR0RBB8w
25
25
  HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAAMVEiDIF
27
- QH/f5KjMstNu7gnw2scRzUSQlonLTAGfUFX5TBAqp7gOsxMLFJnfBP7B90tyYhrW
28
- 55GRCWSAedRmHz92JIx9ViNN0KtXxnl7lRiU0QvOYRSJiVyBivBoudc8O+5rF+C4
29
- h50lZe0SCnznLMKAS8Skdx+PNiHDqxSoOLFCGJT/ZPIVo2/edArBGdpZidUm1wRi
30
- Xdj3LN7vmI+Eln+gl4aX5YnPQd/6xyBUOC1IRQoHczjZSaHIuJZhmSM0nRiWwKoX
31
- geqYGl52TQMJdtPalCLoH9OSisufD1RK2ECpfXLgoL0hUX9PWk72/FKyb49bB6j5
32
- hrQJg0Cu1Hrz3Q==
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAQJpWwGVk
27
+ ASO0cL97HjYQZah/Phy87+23hKGZ6rxvjCyP5txDNpW+/kLy/yjvPcU1dFL7ScoA
28
+ XDdPsZlb+1RnZXh/yICLJWUB6lj5koJpdsBwmgbQRS67rXb7Hh5mqTVSC6A8If93
29
+ /gtZaNximhmlzQNVR5lEPSM3qMRvMTIrotVMDnGg2QH1NOFeEr4+fmJRSGfwvs6U
30
+ FJM/wBh5G3mhQ3l8RRDx4Tm4uZkkFkpqDyipEqreMlfkXWq+3KZM0fPQwihFZMTn
31
+ YxZGLFY3TBqGLKUMyiOYlOa0oKBNAqnib62M7h9nxMt9pixyl6hKzikU6vwApKBU
32
+ hHWzzAMK8eZsvA==
33
33
  -----END CERTIFICATE-----
34
- date: 2017-07-17 00:00:00.000000000 Z
34
+ date: 2017-10-14 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: simple-config
@@ -80,7 +80,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
80
80
  version: '0'
81
81
  requirements: []
82
82
  rubyforge_project:
83
- rubygems_version: 2.6.8
83
+ rubygems_version: 2.6.13
84
84
  signing_key:
85
85
  specification_version: 4
86
86
  summary: Provides bot functionality primarily for use by the sps_bot gem.
metadata.gz.sig CHANGED
Binary file