diff --git a/src/botscript.rs b/src/botscript.rs index e737ee7..761c53f 100644 --- a/src/botscript.rs +++ b/src/botscript.rs @@ -4,6 +4,7 @@ use std::collections::HashMap; use crate::db::raw_calls::RawCallError; use crate::db::{CallDB, DbError, DB}; use crate::utils::parcelable::{ParcelType, Parcelable, ParcelableError, ParcelableResult}; +use db::attach_db_obj; use futures::future::join_all; use itertools::Itertools; use quickjs_rusty::serde::from_js; @@ -615,6 +616,20 @@ impl Runner { Ok(Runner { context }) } + pub fn init_with_db(db: &mut DB) -> ScriptResult { + let context = Context::new(None)?; + let mut global = context.global()?; + attach_db_obj(&context, &mut global, db)?; + + context.add_callback("print", |a: String| { + print(a); + + None:: + })?; + + Ok(Runner { context }) + } + pub fn run_script(&self, content: &str) -> ScriptResult { let ctx = &self.context;