diff options
| author | Jokler <jokler.contact@gmail.com> | 2018-02-23 18:29:20 +0100 |
|---|---|---|
| committer | Jokler <jokler.contact@gmail.com> | 2018-02-23 18:29:20 +0100 |
| commit | 297ceaa0899a6228f47f1f14e4bd261ec4cc6619 (patch) | |
| tree | b97f3cc18306ceb4fe0a4fc2330f9f402c8c3f5c /src/plugins/factoids/mod.rs | |
| parent | 806614b5bf00581c9a564fcda4ecb760b6d27c6a (diff) | |
| download | frippy-297ceaa0899a6228f47f1f14e4bd261ec4cc6619.tar.gz frippy-297ceaa0899a6228f47f1f14e4bd261ec4cc6619.zip | |
Add possibly unsafe timeout hook to factoids
Diffstat (limited to 'src/plugins/factoids/mod.rs')
| -rw-r--r-- | src/plugins/factoids/mod.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/plugins/factoids/mod.rs b/src/plugins/factoids/mod.rs index 252ba83..08e8f12 100644 --- a/src/plugins/factoids/mod.rs +++ b/src/plugins/factoids/mod.rs @@ -15,7 +15,7 @@ pub mod database; use self::database::{Database, DbResponse}; mod utils; -use self::utils::download; +use self::utils::*; static LUA_SANDBOX: &'static str = include_str!("sandbox.lua"); @@ -247,16 +247,17 @@ impl<T: Database> Factoids<T> { .map(ToOwned::to_owned) .collect::<Vec<String>>(); - let lua = Lua::new(); + let lua = unsafe { Lua::new_with_debug() }; let globals = lua.globals(); globals.set("factoid", code)?; - globals.set("download", lua.create_function(download))?; + globals.set("download", lua.create_function(download)?)?; + globals.set("sleep", lua.create_function(sleep)?)?; globals.set("args", args)?; globals.set("input", command.tokens.join(" "))?; globals.set("user", command.source.clone())?; globals.set("channel", command.target.clone())?; - globals.set("output", lua.create_table())?; + globals.set("output", lua.create_table()?)?; lua.exec::<()>(LUA_SANDBOX, Some(name))?; let output: Vec<String> = globals.get::<_, Vec<String>>("output")?; |
