@httputil = Utils::HttpUtil.new(self)
- @lang = Language::Language.new(@config['core.language'])
+ @plugins = nil
+ @lang = Language::Language.new(self, @config['core.language'])
begin
@auth = Auth::authmanager
:on_change => Proc.new {|bot, v| bot.lang.set_language v},
:desc => "Which language file the bot should use")
- def initialize(language)
+ def initialize(bot, language)
+ @bot = bot
set_language language
end
+ attr_reader :language
def set_language(language)
file = Config::datadir + "/languages/#{language}.lang"
@language = language
@file = file
scan
+ return if @bot.plugins.nil?
+ @bot.plugins.core_modules.each { |p|
+ if p.respond_to?('set_language')
+ p.set_language(@language)
+ end
+ }
+ @bot.plugins.plugins.each { |p|
+ if p.respond_to?('set_language')
+ p.set_language(@language)
+ end
+ }
end
def scan
connect():: Called when a server is joined successfully, but
before autojoin channels are joined (no params)
+ set_language(String)::
+ Called when the user sets a new language
+ whose name is the given String
+
save:: Called when you are required to save your plugin's
state, if you maintain data between sessions
@registry = BotRegistryAccessor.new(@bot, self.class.to_s.gsub(/^.*::/, ""))
@manager.add_botmodule(self)
+ if self.respond_to?('set_language')
+ self.set_language(@bot.lang.language)
+ end
end
def botmodule_class