# 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'
require 'rbot/dbhash'
require 'rbot/registry'
require 'rbot/httputil'
+require 'rbot/rbotconfig'
module Irc
# create a new IrcBot with botclass +botclass+
def initialize(botclass)
+ unless FileTest.directory? Config::DATADIR
+ puts "no data directory '#{Config::DATADIR}' 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::DATADIR+'/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