butler 1.8.3 → 1.9.0

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 (89) hide show
  1. data/CHANGELOG.txt +293 -37
  2. data/README.txt +10 -0
  3. data/Rakefile +24 -13
  4. data/bin/botcontrol +6 -5
  5. data/data/butler/dialogs/create.rb +21 -6
  6. data/data/butler/dialogs/create_config.rb +5 -2
  7. data/data/butler/dialogs/en/create.yaml +6 -3
  8. data/data/butler/dialogs/en/create_config.yaml +1 -0
  9. data/data/butler/dialogs/en/quickcreate.yaml +1 -1
  10. data/data/butler/dialogs/en/sync.yaml +7 -0
  11. data/data/butler/dialogs/en/username.yaml +2 -0
  12. data/data/butler/dialogs/quickcreate.rb +6 -2
  13. data/data/butler/dialogs/sync.rb +83 -0
  14. data/data/butler/dialogs/username.rb +1 -0
  15. data/data/butler/plugins/core/ping.rb +22 -0
  16. data/data/butler/plugins/core/remote.rb +38 -0
  17. data/data/butler/plugins/dev/eval.rb +6 -4
  18. data/data/butler/plugins/dev/onhandlers.rb +93 -0
  19. data/data/butler/plugins/dev/rawlog.rb +109 -45
  20. data/data/butler/plugins/games/countdown.rb +23 -14
  21. data/data/butler/plugins/games/eightball.rb +21 -13
  22. data/data/butler/plugins/games/roll.rb +12 -12
  23. data/data/butler/plugins/irc/join.rb +2 -2
  24. data/data/butler/plugins/irc/notice.rb +10 -10
  25. data/data/butler/plugins/irc/part.rb +12 -12
  26. data/data/butler/plugins/irc/privmsg.rb +10 -10
  27. data/data/butler/plugins/irc/quit.rb +12 -12
  28. data/data/butler/plugins/operator/devoice.rb +1 -1
  29. data/data/butler/plugins/public/help.rb +10 -4
  30. data/data/butler/plugins/{util → service}/calculator.rb +0 -0
  31. data/data/butler/plugins/service/define.rb +16 -13
  32. data/data/butler/plugins/service/log.rb +85 -0
  33. data/data/butler/plugins/service/seen.rb +64 -0
  34. data/data/butler/plugins/service/svn.rb +6 -5
  35. data/data/butler/plugins/util/load.rb +3 -1
  36. data/data/butler/services/org.rubyforge.butler/calculator/1/service.rb +96 -0
  37. data/data/butler/services/org.rubyforge.butler/log/1/service.rb +148 -68
  38. data/lib/access/admin.rb +5 -0
  39. data/lib/blank.rb +32 -0
  40. data/lib/butler.rb +4 -4
  41. data/lib/butler/bot.rb +118 -33
  42. data/lib/butler/control.rb +5 -4
  43. data/lib/butler/debuglog.rb +12 -4
  44. data/lib/butler/dialog.rb +1 -1
  45. data/lib/butler/initialvalues.rb +1 -1
  46. data/lib/butler/irc/client.rb +31 -12
  47. data/lib/butler/irc/message.rb +32 -13
  48. data/lib/butler/irc/parser.rb +67 -30
  49. data/lib/butler/irc/parser/{commands.rb → command.rb} +0 -38
  50. data/lib/butler/irc/parser/generic.rb +9 -12
  51. data/lib/butler/irc/parser/rfc2812.rb +40 -2
  52. data/lib/butler/irc/socket.rb +66 -41
  53. data/lib/butler/irc/string.rb +1 -5
  54. data/lib/butler/plugin.rb +56 -23
  55. data/lib/butler/plugin/configproxy.rb +1 -0
  56. data/lib/butler/plugin/more.rb +2 -2
  57. data/lib/butler/plugins.rb +7 -1
  58. data/lib/butler/remote/connection.rb +113 -0
  59. data/lib/butler/remote/message.rb +157 -0
  60. data/lib/butler/remote/server.rb +85 -0
  61. data/lib/butler/remote/user.rb +46 -0
  62. data/lib/butler/service.rb +2 -1
  63. data/lib/butler/services.rb +2 -2
  64. data/lib/butler/version.rb +2 -2
  65. data/lib/configuration.rb +13 -16
  66. data/lib/ostructfixed.rb +0 -6
  67. data/lib/ruby/array/random.rb +2 -1
  68. data/lib/scriptfile.rb +63 -14
  69. data/lib/timingoutresource.rb +54 -0
  70. data/test/test_scriptfile.rb +51 -0
  71. metadata +63 -61
  72. data/data/butler/dialogs/en/sync_plugins.yaml +0 -3
  73. data/data/butler/dialogs/sync_plugins.rb +0 -30
  74. data/data/butler/services/org.rubyforge.butler/calculator/1/calculator.rb +0 -68
  75. data/lib/log/splitter.rb +0 -30
  76. data/test/test_access/privilege/banners.statistics.yaml +0 -3
  77. data/test/test_access/privilege/banners.yaml +0 -3
  78. data/test/test_access/privilege/news.create.yaml +0 -3
  79. data/test/test_access/privilege/news.delete.yaml +0 -3
  80. data/test/test_access/privilege/news.edit.yaml +0 -3
  81. data/test/test_access/privilege/news.read.yaml +0 -3
  82. data/test/test_access/privilege/news.yaml +0 -3
  83. data/test/test_access/privilege/paid_content.yaml +0 -3
  84. data/test/test_access/privilege/statistics.ftp.yaml +0 -3
  85. data/test/test_access/privilege/statistics.web.yaml +0 -3
  86. data/test/test_access/privilege/statistics.yaml +0 -3
  87. data/test/test_access/role/chiefeditor.yaml +0 -7
  88. data/test/test_access/role/editor.yaml +0 -9
  89. data/test/test_access/user/test.yaml +0 -12
@@ -1,5 +1,261 @@
1
1
  = Butler2
2
2
 
3
+ === 31st Dec, 2007
4
+ * Butler 1.9.0 (rev #645)
5
+ * bin/botcontrol
6
+ * sync_plugins is now sync, in preparation of services syncing
7
+ * botcontrol without command brings up help dialog
8
+ * dev/logupdate.rb
9
+ * Added, updates logs created by log service introduced in svn after 1.8.3.
10
+ * data/butler/dialogs
11
+ * create
12
+ * Added question for 'invocation'.
13
+ * create and quickcreate
14
+ * Added some comments
15
+ * Fixed language question in create and quickcreate.
16
+ * Fixed language choice regexp
17
+ * Removed question for quicksetup.
18
+ * create_config
19
+ * Added a little diagnostic output.
20
+ * sync
21
+ * Obsoletes sync_plugins.
22
+ * Now syncs services too.
23
+ * Patch to provide more info on failure.
24
+ * sync_plugins
25
+ * Replaced by sync.
26
+ * username
27
+ * Added
28
+ * data/butler/plugins
29
+ * General
30
+ * Cleaned up plugins (use metadata instead of trigger method and clean up metadata)
31
+ * core/ping
32
+ * Added, temporary(?) workaround for the "cork effect" (see bugtracker).
33
+ * core/remote
34
+ * Added, provides minimal control for remote server.
35
+ * core/user
36
+ * Obsoleted by core/access.
37
+ * dev/eval
38
+ * Uses 'more...' now.
39
+ * Outputs the whole backtrace in case of an exception.
40
+ * Pass on Interrupts.
41
+ * dev/onhandlers
42
+ * Fixed on_part handler.
43
+ * Incremented revision so it can be synced.
44
+ * dev/rawlog
45
+ * Fixed a string.
46
+ * Fixed output of incomming messages.
47
+ * games/eightball
48
+ * Translated to german.
49
+ * games/countdown
50
+ * Added.
51
+ * operator/devoice
52
+ * Fixed method name typo
53
+ * Fixed answer string name typo
54
+ * public/help
55
+ * Fixed to correctly display help topics, updated the help text
56
+ * service/log
57
+ * Overhauled to use log service.
58
+ * service/calculator
59
+ * Added
60
+ * service/define
61
+ * Improved behaviour on empty results.
62
+ * Updated for new answer method with integrated 'more'.
63
+ * service/seen
64
+ * Added
65
+ * service/svn
66
+ * Updated documentation
67
+ * util/load
68
+ * Changed output format.
69
+ * Pass on Interrupts.
70
+ * data/butler/services/org.rubyforge.butler
71
+ * log/1/service.rb
72
+ * IMPORTANT: the old database format is incompatible, use dev/logupdate.rb to update your db before using the new service.
73
+ * Added #find_first, #find_last
74
+ * Added 'identified' field
75
+ * Added #logged_channels
76
+ * Logs the select statement as debug
77
+ * Fixed #sub_where
78
+ * Added initialization of $swig_runtime_data_type_pointer2 because the sqlite people failed to.
79
+ * Fixed #find_first and #find_last to accept the limitation parameter as single argument.
80
+ * QUIT messages of course don't have a channel.
81
+ * Fixed a few bugs regarding selects/finds.
82
+ * Now also logs :NICK and :TOPIC.
83
+ * Fixed init of $swig_runtime_data_type_pointer2 to respect its read-onliness.
84
+ * calculator/1/service.rb
85
+ * Added.
86
+ * lib
87
+ * General
88
+ * Added ISUPPORT support.
89
+ * Added PASS patch supplied by scoopr.
90
+ * Added support for single-char prefix command calls.
91
+ * access/admin
92
+ * Added Admin#admin?.
93
+ * blank.rb
94
+ * Added.
95
+ * butler.rb:
96
+ * Append to logfiles rather than truncate and write.
97
+ * Thread.abort_on_exceptions is only set to true if $DEBUG is set
98
+ * Only quits in the ensure if connected
99
+ * butler/bot.rb:
100
+ * Fixed ghosting (no longer tries to ghost itself)
101
+ * Added use of Butler::Remote::Server
102
+ * Added some docs
103
+ * Removed selftest
104
+ * Replaced sleep with a proper wait when waiting for ghost to take effect on login
105
+ * Added Message#formatted_arguments
106
+ * Improved Message#arguments
107
+ * Message#post_arguments no longer strips color information and keeps spacing as original
108
+ * Fixed sanitizing last argument in #arguments, #post_arguments and #formatted_arguments.
109
+ * Added #connected?
110
+ * Rescues Errno::ECONNREFUSED and retries.
111
+ * butler/control.rb
112
+ * Make use of the new username question.
113
+ * The struct returned by #user_config now includes service_repository.
114
+ * Corrected comment.
115
+ * lib/butler/debuglog.rb
116
+ * Added $stderr default for @raw_log
117
+ * Improved docs
118
+ * butler/initialvalues.rb
119
+ * Configuration now uses plugins instead of plugin as path.
120
+ * butler/irc/client.rb
121
+ * Added auto-capab (CAPAB will be activated automatically).
122
+ * #dispatch is now a separate method to allow message injection.
123
+ * Fixed #thread_read so reconnect can work properly.
124
+ * #wait_for now accepts a callback argument to run after starting to listen and before blocking.
125
+ * Fixed #initialize, used Socket#write instead of #write_with_eol.
126
+ * butler/irc/message.rb
127
+ * Message's hash equality is now object-identity.
128
+ * Added a bit documentation.
129
+ * Fixed #answer to work with other messages than just :PRIVMSG and :NOTICE and to raise on unsupported messages.
130
+ * Corrected supported messages by #answer
131
+ * Improved docs
132
+ * butler/irc/parser.rb
133
+ * Added #alter_expression.
134
+ * Added #same_nick? as it is connection/parser dependent.
135
+ * butler/irc/parser/commands.rb
136
+ * Obsoleted.
137
+ * butler/irc/parser/generic.rb
138
+ * Added command 410.
139
+ * Fixed erroneous CAPAB detection.
140
+ * Expression for nickname uses isupports nicklen value.
141
+ * butler/irc/parser/rfc2812.rb
142
+ * Added public? and private? to more commands.
143
+ * Fixed expression for nickname (8 chars max).
144
+ * butler/irc/socket.rb
145
+ * Updated diagnostics (informs about start of connection).
146
+ * Added #log_out to log outgoing messages.
147
+ * #read sets #connected? now.
148
+ * Pass on Interrupts.
149
+ * Renamed #write to #write_with_eol
150
+ * Added #connected?
151
+ * Added #multiple_modes
152
+ * Mode commands now split on too many targets
153
+ * butler/irc/string.rb
154
+ * Removed a comment.
155
+ * Removed #same_nick?, it's now in Butler::IRC::Parser.
156
+ * butler/plugin.rb
157
+ * Added #say
158
+ * Fixed #answer_with_lead.
159
+ * #answer* got optimizations for remote messages.
160
+ * Uses the full base path of the plugin as template for the config path.
161
+ * Aligned plugin_accessor to plugin_attribute - second arg is now default value.
162
+ * ::plugin_attribute now accepts a default value.
163
+ * butler/plugin/configproxy.rb
164
+ * Creates the path to the directory of the proxy.
165
+ * butler/plugin/more.rb
166
+ * Increased length of parts to 500 chars.
167
+ * Removed ',' before "[more...]".
168
+ * butler/plugins.rb
169
+ * Pass on Interrupts.
170
+ * Plugin is unloaded before calling ::on_unload now.
171
+ * butler/remote/*
172
+ * Added.
173
+ * butler/service.rb
174
+ * Fixed an attr_reader (forgot to change its name).
175
+ * Added an info-level output for loading a service.
176
+ * butler/services.rb
177
+ * Fixed a copy & paste error.
178
+ * configuration.rb
179
+ * Added more characters to escape
180
+ * Fixed loading files without keys.
181
+ * Moved #encode_filename to ::escape and #decode_filename to ::unescape.
182
+ * Removed String#config_key
183
+ * ruby/array/random.rb
184
+ * Fixed Array#random(n) with argument (would only pick from the first n elements).
185
+ * scriptfile.rb:
186
+ * No longer opens files always in r+ mode
187
+ * Doesn't automatically append __END__
188
+ * timingoutresource.rb
189
+ * Added.
190
+ * test
191
+ * test_scriptfile.rb
192
+ * Added groundwork for scriptfile tests.
193
+ * test_access.rb
194
+ * Updated for new access.
195
+ * Rakefile:
196
+ * Added warning for rake install
197
+ * Fixed tarball installation
198
+
199
+ === 6th Dec, 2007
200
+ * Butler 1.8.3 (rev #485)
201
+ * bin/botcontrol: Fixed call of uninstall dialog.
202
+ * data/butler/dialogs
203
+ * create_config.rb
204
+ * Fixed a bug where setup via su for another user wouldn't work.
205
+ * quickcreate.rb:
206
+ * Fixed a 'say'.
207
+ * uninstall.rb:
208
+ * Fixed.
209
+ * data/butler/plugins
210
+ * operator/*:
211
+ * Translation to spanish, thanks to Rafael George.
212
+ * dev/bleakhouse.rb:
213
+ * Disables itself if $BLEAK_HOUSE is not defined or true.
214
+ * data/butler/services:
215
+ * org.rubyforge.butler/log:
216
+ * Added
217
+ * org.rubyforge.butler/strings:
218
+ * Added
219
+ * lib
220
+ * access:
221
+ * Updated, adapted access plugin and quickcreate to the changes.
222
+ * butler.rb:
223
+ * Added creation of service directory for new bots.
224
+ * butler/bot.rb:
225
+ * Added support for services
226
+ * Added #services
227
+ * butler/bot.rb:
228
+ * Adapted for updated access framework.
229
+ * butler/control.rb
230
+ * Added support for services.
231
+ * butler/initialvalues.rb
232
+ * Removed Strings and added Services from bot-skeleton.
233
+ * butler/plugin.rb: Fixed a bug (Exception::Detail instead of the correct Exception::Detailed).
234
+ * Added #service.
235
+ * Added ::plugin_attribute and ::plugin_accessor.
236
+ * butler/plugins.rb:
237
+ * Uses now ruby/string/camelcase instead of inline definition
238
+ * Sets its @logger
239
+ * butler/service.rb
240
+ * Added.
241
+ * butler/services.rb:
242
+ * Added.
243
+ * butler/irc/client.rb
244
+ * Added support for CAPAB IDENTIFY-MSG.
245
+ * butler/irc/message.rb:
246
+ * Added #identified? (uses CAPAB IDENTIFY-MSG).
247
+ * butler/irc/parser.rb:
248
+ * Added support for CAPAB IDENTIFY-MSG.
249
+ * butler/irc/parser/generic.rb:
250
+ * Added support for CAPAB IDENTIFY-MSG.
251
+ * butler/irc/parser/rfc2812.rb:
252
+ * Added support for CAPAB IDENTIFY-MSG.
253
+ * ruby/string/camelcase.rb:
254
+ * Added.
255
+ * ruby/array/random.rb
256
+ * Added.
257
+
258
+
3
259
  === 28th Nov, 2007
4
260
  * Butler 1.8.2 (rev #436)
5
261
  * bin/botcontrol:
@@ -170,43 +426,43 @@
170
426
 
171
427
  === 27th Oct, 2007
172
428
  * Butler 1.8.1 (rev #328)
173
- * botcontrol
174
- * New flag -l (lowercased L) overrides config and connects locally.
175
- * Setup now allows to set botcontrol up for another user
176
- * Fixed permissions of directories created for a user
177
- * Log now uses logger instead of log_device, changes due to that in:
178
- * lib/butler.rb
179
- * lib/butler/bot.rb
180
- * lib/butler/irc/socket.rb
181
- * lib/butler/plugin.rb
182
- * lib/irc/client.rb
183
- * lib/log/comfort.rb
184
- * lib/butler/irc/client.rb:
185
- * Adapted to new Commands requiring specification of command-sets
186
- * Added #load_command_set
187
- * lib/butler/irc/parser/rfc2812.rb: Added, moved rfc2812 commands to it.
188
- * lib/butler/irc/parser/generic.rb:
189
- * moved rfc2812 commands to rfc2812.rb
190
- * Added 396 RPL_HIDDENHOST
191
- * lib/butler/irc/parser/commands.rb:
192
- * Now loads only command-sets as specified
193
- * Added #load, to post-load command-sets
194
- * Added logging
195
- * Added a warning if matching of a message fails
196
- * lib/butler/irc/user.rb: Added #force_update.
197
- * lib/butler/irc/parser.rb:
198
- * Fixed logging of ParseErrors (forgot to initialize_details)
199
- * Adapted to new Commands requiring specification of command-sets
200
- * lib/configuration.rb: Changed separator from . to / to increase consistence.
201
- * lib/log.rb: More documentation.
202
- * lib/log/comfort.rb: Added #log_origin
203
- * lib/log/entry.rb: Supports origin now.
204
- * lib/butler.rb: Fixed a bug (::start wouldn't pass on the options param)
205
- * lib/irc/client.rb: Now uses options[:server] if available
206
- * lib/ruby/exception/detailed.rb: Hardened against misuse.
207
- * lib/butler/irc/client.rb: Fixed a bug (forgot to include Log::Comfort)
208
- * Rakefile: Added :website_docs task.
209
- * README: updated.
429
+ * botcontrol
430
+ * New flag -l (lowercased L) overrides config and connects locally.
431
+ * Setup now allows to set botcontrol up for another user
432
+ * Fixed permissions of directories created for a user
433
+ * Log now uses logger instead of log_device, changes due to that in:
434
+ * lib/butler.rb
435
+ * lib/butler/bot.rb
436
+ * lib/butler/irc/socket.rb
437
+ * lib/butler/plugin.rb
438
+ * lib/irc/client.rb
439
+ * lib/log/comfort.rb
440
+ * lib/butler/irc/client.rb:
441
+ * Adapted to new Commands requiring specification of command-sets
442
+ * Added #load_command_set
443
+ * lib/butler/irc/parser/rfc2812.rb: Added, moved rfc2812 commands to it.
444
+ * lib/butler/irc/parser/generic.rb:
445
+ * moved rfc2812 commands to rfc2812.rb
446
+ * Added 396 RPL_HIDDENHOST
447
+ * lib/butler/irc/parser/commands.rb:
448
+ * Now loads only command-sets as specified
449
+ * Added #load, to post-load command-sets
450
+ * Added logging
451
+ * Added a warning if matching of a message fails
452
+ * lib/butler/irc/user.rb: Added #force_update.
453
+ * lib/butler/irc/parser.rb:
454
+ * Fixed logging of ParseErrors (forgot to initialize_details)
455
+ * Adapted to new Commands requiring specification of command-sets
456
+ * lib/configuration.rb: Changed separator from . to / to increase consistence.
457
+ * lib/log.rb: More documentation.
458
+ * lib/log/comfort.rb: Added #log_origin
459
+ * lib/log/entry.rb: Supports origin now.
460
+ * lib/butler.rb: Fixed a bug (::start wouldn't pass on the options param)
461
+ * lib/irc/client.rb: Now uses options[:server] if available
462
+ * lib/ruby/exception/detailed.rb: Hardened against misuse.
463
+ * lib/butler/irc/client.rb: Fixed a bug (forgot to include Log::Comfort)
464
+ * Rakefile: Added :website_docs task.
465
+ * README: updated.
210
466
 
211
467
  === 7th Oct, 2007
212
468
  * Initial release of Butler2. Butler 1.8.x series is the alpha series of Butler2.
data/README.txt CHANGED
@@ -14,8 +14,18 @@ authorization system, a remote login server and thorough localization support.
14
14
  gem install butler
15
15
  sudo botcontrol setup
16
16
 
17
+ === From SVN
18
+ svn checkout svn://rubyforge.org/var/svn/butler/trunk
19
+ cd trunk
20
+ sudo rake install_gem
21
+ sudo botcontrol setup
22
+ Notice, if checkout fails, try a few minutes later. Rubyforge drops anonymous svn connections on
23
+ higher load.
24
+
17
25
  === From Tarball
18
26
  Download the latest release from http://rubyforge.org/frs/?group_id=1349&release_id=15267
27
+ Note that Tarball installation is currently discouraged as there's no automatic way to remove
28
+ the installed libs.
19
29
  cd butler*
20
30
  sudo rake install
21
31
 
data/Rakefile CHANGED
@@ -16,10 +16,6 @@ require 'rake/packagetask'
16
16
  require 'rake/gempackagetask'
17
17
  require 'rake/rdoctask'
18
18
  require 'rake/contrib/rubyforgepublisher'
19
- require 'fileutils'
20
- require 'scriptfile'
21
- require 'yaml'
22
- require 'pp'
23
19
 
24
20
  include FileUtils
25
21
  require File.join(File.dirname(__FILE__), 'lib', 'butler', 'version')
@@ -62,7 +58,7 @@ LOCAL_PATHS['plugins'] = "#{LOCAL_PATHS['data']}/plugins"
62
58
  #LOCAL_PATHS['config'] = "#{Config::CONFIG['sysconfdir']}/butler"
63
59
  LOCAL_PATHS['pids'] = "#{Config::CONFIG['localstatedir']}/run/butler"
64
60
  CHANGES = "See CHANGELOG.txt"
65
- DESC = "Butler 1.8.3, 4th alpha release of butler2."
61
+ DESC = "Butler 1.9.0, 1st beta release of butler2."
66
62
 
67
63
  GemSpec = Gem::Specification.new do |s|
68
64
  s.homepage = HOMEPATH
@@ -116,6 +112,19 @@ desc "Default task, will install butler from tarball"
116
112
 
117
113
  desc 'Install butler from tarball'
118
114
  task :install do
115
+ puts "\e[41m\e[1m WARNING \e[0m"
116
+ puts "Tarball installation currently provides no way to uninstall the libraries."
117
+ puts "Since libraries installed via tarball have priority over gems,"
118
+ puts "you will have to delete all libraries manually before eventually installing"
119
+ puts "it as a gem."
120
+ puts "It is strongly recommended to use 'sudo rake install_gem' instead."
121
+ puts
122
+ print "Continue? [y/N]: "
123
+ abort("Nothing installed, terminating.") unless $stdin.gets =~ /^y(?:es?)?$/i
124
+ puts
125
+ puts "Installing..."
126
+ puts
127
+
119
128
  path = OpenStruct.new(
120
129
  :bin => Config::CONFIG["bindir"],
121
130
  :lib => Config::CONFIG["sitedir"],
@@ -123,9 +132,10 @@ task :install do
123
132
  :data => Config::CONFIG["datadir"]+'/butler',
124
133
  :man => Config::CONFIG["mandir"]+'/butler'
125
134
  )
126
- path.dialogs = path.data+'/dialogs'
127
- path.plugins = path.data+'/plugins'
128
- path.strings = path.data+'/strings'
135
+ path.dialogs = path.data+'/dialogs'
136
+ path.services = path.data+'/services'
137
+ path.plugins = path.data+'/plugins'
138
+ path.strings = path.data+'/strings'
129
139
 
130
140
  install = [
131
141
  ["src/bin/botcontrol", path.bin, "Installing Executable..."],
@@ -137,10 +147,11 @@ task :install do
137
147
  ]
138
148
  replace = [
139
149
  [path.lib+'/butler/control.rb', {
140
- '%CONFIG_DIR%' => path.etc.inspect,
141
- '%DIALOGS_DIR%' => path.dialogs.inspect,
142
- '%PLUGINS_DIR%' => path.plugins.inspect,
143
- '%STRINGS_DIR%' => path.strings.inspect,
150
+ '%CONFIG_DIR%' => path.etc.inspect,
151
+ '%DIALOGS_DIR%' => path.dialogs.inspect,
152
+ '%PLUGINS_DIR%' => path.plugins.inspect,
153
+ '%SERVICES_DIR%' => path.services.inspect,
154
+ '%STRINGS_DIR%' => path.strings.inspect,
144
155
  }]
145
156
  ]
146
157
  config = {
@@ -280,4 +291,4 @@ task :check_version do
280
291
  puts "Please update your version.rb to match the release version, currently #{VERS}"
281
292
  exit
282
293
  end
283
- end
294
+ end
@@ -85,7 +85,7 @@ options["start"] = CLOptions.new("[botname]") {
85
85
  }
86
86
  options["setup"] = CLOptions.new("[user]")
87
87
  options["stop"] = CLOptions.new("[botname]")
88
- options["sync_plugins"] = CLOptions.new("[botname] [user]")
88
+ options["sync"] = CLOptions.new("[botname] [user]")
89
89
  options.each { |name, opt| opt.application_name "#{File.basename($0)} #{name}" }
90
90
 
91
91
  command = (ARGV.shift || "interactive").downcase
@@ -130,8 +130,9 @@ case command
130
130
  botcontrol.discuss("info", false, :user => opt.argv.user)
131
131
 
132
132
  when "interactive"
133
- botcontrol.discuss("create_config", false, :user => nil)
134
- botcontrol.discuss("interactive")
133
+ botcontrol.discuss("help", false, :command => nil)
134
+ #botcontrol.discuss("create_config", false, :user => nil)
135
+ #botcontrol.discuss("interactive")
135
136
 
136
137
  when "log"
137
138
  botcontrol.discuss("create_config", false, :user => nil)
@@ -240,9 +241,9 @@ case command
240
241
  botname = opt.argv.botname || botcontrol.discuss(:selectbot, false)[:botname]
241
242
  Butler.stop(nil, botname)
242
243
 
243
- when "sync_plugins"
244
+ when "sync"
244
245
  botcontrol.discuss("create_config", false, :user => opt.argv.user)
245
- botcontrol.discuss("sync_plugins", false,
246
+ botcontrol.discuss("sync", false,
246
247
  :user => opt.argv.user,
247
248
  :path => botcontrol.user_config(opt.argv.user),
248
249
  :botname => opt.argv.botname