The following R code is based on the Baguley and Kaye (2010) R code for the Dienes (2008) calculator. I rewrote the code changing the likelihood function for the data from a Normal distribution to a t-distribution. 
This is a way of accounting for the variance of observations being unknown in advance of the data - thus no correction factor need be applied to the SE when this calculator is used. 

Bf<-function(sd, obtained, dfdata, uniform, lower=0, upper=1, meanoftheory=0, sdtheory=1, tail=2)
{
        area <- 0
        if(identical(uniform, 1)){
               theta <- lower
               range <- upper - lower
               incr <- range / 2000
               for (A in -1000:1000){
                       theta <- theta + incr
                       dist_theta <- 1 / range
                       height <- dist_theta * Bf<-function(sd, obtained = 66, dfdata = 36, uniform =1, lower=0, upper=28, meanoftheory=0, sdtheory=14, tail=1)
{
        area <- 0
        if(identical(uniform, 1)){
               theta <- lower
               range <- upper - lower
               incr <- range / 2000
               for (A in -1000:1000){
                       theta <- theta + incr
                       dist_theta <- 1 / range
                       height <- dist_theta * dt((obtained-theta)/sd, df=dfdata)
                       area <- area + height * incr
               }
        }else{
               theta <- meanoftheory - 5 * sdtheory
               incr <- sdtheory / 200
               for (A in -1000:1000){
                       theta <- theta + incr
                       dist_theta <- dnorm(theta, meanoftheory, sdtheory)
                       if(identical(tail, 1)){
                               if (theta <= 0){
                                      dist_theta <- 0
                               } else {
                                      dist_theta <- dist_theta * 2
                               }
                       }
               height <- dist_theta * dt((obtained-theta)/sd, df=dfdata)
                       area <- area + height * incr
               }
        }
        LikelihoodTheory <- area
        Likelihoodnull <- dt(obtained/sd, df = dfdata)
        BayesFactor <- LikelihoodTheory / Likelihoodnull
        ret <- list("LikelihoodTheory" = LikelihoodTheory, "Likelihoodnull" = Likelihoodnull, "BayesFactor" = BayesFactor)
        ret
}
                       area <- area + height * incr
               }
        }else{
               theta <- meanoftheory - 5 * sdtheory
               incr <- sdtheory / 200
               for (A in -1000:1000){
                       theta <- theta + incr
                       dist_theta <- dnorm(theta, meanoftheory, sdtheory)
                       if(identical(tail, 1)){
                               if (theta <= 0){
                                      dist_theta <- 0
                               } else {
                                      dist_theta <- dist_theta * 2
                               }
                       }
               height <- dist_theta * dt((obtained-theta)/sd, df=dfdata)
                       area <- area + height * incr
               }
        }
        LikelihoodTheory <- area
        Likelihoodnull <- dt(obtained/sd, df = dfdata)
        BayesFactor <- LikelihoodTheory / Likelihoodnull
        ret <- list("LikelihoodTheory" = LikelihoodTheory, "Likelihoodnull" = Likelihoodnull, "BayesFactor" = BayesFactor)
        ret
}