diff options
author | Tom Gilbert <tom@linuxbrit.co.uk> | 2005-07-27 17:50:27 +0000 |
---|---|---|
committer | Tom Gilbert <tom@linuxbrit.co.uk> | 2005-07-27 17:50:27 +0000 |
commit | 67dc860e5fbcdac31ccdbc1d561a4e583dd5a084 (patch) | |
tree | ceba82a29ef8c7656a0ff8c0900393906a85aa9a /lib/rbot/ircbot.rb | |
parent | 20b78c45b2e514c9c022e25c7c1d6b0cb0f3769c (diff) |
more work on packaging, use Irc::Config module for storing configuration set
by install.rb
Diffstat (limited to 'lib/rbot/ircbot.rb')
-rw-r--r-- | lib/rbot/ircbot.rb | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/lib/rbot/ircbot.rb b/lib/rbot/ircbot.rb index 844231dd..89746af3 100644 --- a/lib/rbot/ircbot.rb +++ b/lib/rbot/ircbot.rb @@ -20,6 +20,8 @@ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. require 'thread' +require 'etc' +require 'fileutils' require 'rbot/rfc2812' require 'rbot/keywords' @@ -35,6 +37,7 @@ require 'rbot/language' require 'rbot/dbhash' require 'rbot/registry' require 'rbot/httputil' +require 'rbot/rbotconfig' module Irc @@ -77,12 +80,26 @@ class IrcBot # create a new IrcBot with botclass +botclass+ def initialize(botclass) + unless Config::DATA_DIR && FileTest.directory? Config::DATA_DIR + puts "no data directory '#{Config::DATA_DIR}' found, did you run install.rb?" + exit 2 + end + + botclass = "/home/#{Etc.getlogin}/.rbot" unless botclass @botclass = botclass.gsub(/\/$/, "") - @startup_time = Time.new + + unless FileTest.directory? botclass + puts "no #{botclass} directory found, creating from templates.." + if FileTest.exist? botclass + puts "Error: file #{botclass} exists but isn't a directory" + exit 2 + end + FileUtils.cp_r Config::DATA_DIR+'/templates', botclass + end - Dir.mkdir("#{botclass}") if(!File.exist?("#{botclass}")) Dir.mkdir("#{botclass}/logs") if(!File.exist?("#{botclass}/logs")) + @startup_time = Time.new @config = Irc::BotConfig.new(self) @timer = Timer::Timer.new @registry = BotRegistry.new self |