def shutdown(message = nil)
debug "Shutting down ..."
message = @lang.get("quit") if (message.nil? || message.empty?)
if @socket.connected?
debug "Clearing socket"
@socket.clearq
debug "Sending quit message"
@socket.emergency_puts "QUIT :#{message}"
debug "Flushing socket"
@socket.flush
debug "Shutting down socket"
@socket.shutdown
end
debug "Logging quits"
@channels.each_value {|v|
irclog "@ quit (#{message})", v.name
}
debug "Saving"
save
debug "Cleaning up"
@plugins.cleanup
debug "Cleaning up the db environment"
DBTree.cleanup_env
log "rbot quit (#{message})"
end