def initialize(options = {})
@me = ''
@nicknames = options[:nicknames]
@registered = false
@username = options[:username]
@realname = options[:realname]
@address = options[:address]
@port = options[:port] || 6667
@silent = options[:silent] || false
@loud = options[:loud] || false
@throttle_seconds = options[:throttle_seconds] || 1
@password = options[:server_password]
eventmap = "#{File.dirname(__FILE__)}/yail/eventmap.yml"
@event_number_lookup = File.open(eventmap) { |file| YAML::load(file) }.invert
@dead_socket = false
begin
@socket = TCPSocket.new(@address, @port)
rescue StandardError => boom
report "+++ERROR: Unable to open socket connection in Net::YAIL.initialize: #{boom.inspect}"
@dead_socket = true
end
@input_buffer = []
@input_buffer_mutex = Mutex.new
@privmsg_buffer = {}
@privmsg_buffer_mutex = Mutex.new
@next_message_time = Time.now
@handlers = Hash.new
setup_default_handlers
end