# Main bot class, which manages the various components, receives messages,
# handles them or passes them to plugins, and contains core functionality.
class Bot
- COPYRIGHT_NOTICE = "(c) Tom Gilbert and the rbot development team"
+ COPYRIGHT_NOTICE = "(c) Giuseppe Bilotta and the rbot development team"
SOURCE_URL = "http://ruby-rbot.org"
# the bot's Auth data
attr_reader :auth
# loads and opens new registry databases, used by the plugins
attr_accessor :registry_factory
+ attr_accessor :webservice
+
# server we are connected to
# TODO multiserver
def server
end
end
- # call the save method for all of the botmodules
- def save
+ # call the save method for all or the specified botmodule
+ #
+ # :botmodule ::
+ # optional botmodule to save
+ def save(botmodule=nil)
@save_mutex.synchronize do
- @plugins.save
+ @plugins.save(botmodule)
end
end
- # call the rescan method for all of the botmodules
- def rescan
+ # call the rescan method for all or just the specified botmodule
+ #
+ # :botmodule ::
+ # instance of the botmodule to rescan
+ def rescan(botmodule=nil)
debug "\tstopping timer..."
@timer.stop
@save_mutex.synchronize do
- @lang.rescan
- @plugins.rescan
+ # @lang.rescan
+ @plugins.rescan(botmodule)
end
@timer.start
end