#
# This is free software, see COPYING for licensing details
-$VERBOSE=true
-
require 'etc'
require 'getoptlong'
require 'fileutils'
-$version ||= '0.9.13'
+$version ||= '0.9.15'
$version_timestamp ||= 0
$opts = Hash.new
["--version", "-v", GetoptLong::NO_ARGUMENT]
)
-$debug = $DEBUG
$daemonize = false
opts.each {|opt, arg|
- $debug = true if(opt == "--debug")
$daemonize = true if(opt == "--background")
$opts[opt.sub(/^-+/, "")] = arg
}
-$cl_loglevel = $opts["loglevel"].to_i if $opts["loglevel"]
-
if ($opts["trace"])
set_trace_func proc { |event, file, line, id, binding, classname|
if classname.to_s == $opts["trace"]
$:.unshift defaultlib
end
end
-
+
begin
+ Encoding.default_internal = Encoding::UTF_8
+ Encoding.default_external = Encoding::UTF_8
require 'rbot/ircbot'
rescue LoadError => e
puts "Error: couldn't find the rbot/ircbot module (or one of its dependencies)\n"
exit 0
end
+# setup logger based on command line arguments
+loglevel = $opts['loglevel'] ? $opts['loglevel'].to_i : nil
+loglevel = $opts['debug'] ? 0 : loglevel
+if loglevel
+ Irc::Bot::LoggerManager.instance.set_level(loglevel)
+end
+
if(bot = Irc::Bot.new(ARGV.shift, :argv => orig_opts))
# just run the bot
bot.mainloop
end
+Irc::Bot::LoggerManager.instance.flush
+Irc::Bot::LoggerManager.instance.halt_logger