From ad14a3807eef4faa0690c269646142e24934afd0 Mon Sep 17 00:00:00 2001 From: Jokler Date: Tue, 20 Mar 2018 20:06:04 +0100 Subject: Add sleep to factoids --- src/plugins/factoids/mod.rs | 2 +- src/plugins/factoids/sandbox.lua | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/plugins/factoids/mod.rs b/src/plugins/factoids/mod.rs index 2f3690f..d09313c 100644 --- a/src/plugins/factoids/mod.rs +++ b/src/plugins/factoids/mod.rs @@ -179,7 +179,7 @@ impl Factoids { } else { match self.run_lua(&name, &content, &command) { Ok(v) => v, - Err(e) => format!("\"{}\"", e), + Err(e) => format!("{}", e), } } } else { diff --git a/src/plugins/factoids/sandbox.lua b/src/plugins/factoids/sandbox.lua index 3fc74cd..6fcabef 100644 --- a/src/plugins/factoids/sandbox.lua +++ b/src/plugins/factoids/sandbox.lua @@ -17,6 +17,7 @@ local sandbox_env = { print = send, println = sendln, eval = nil, + sleep = nil, args = args, input = input, user = user, @@ -60,7 +61,18 @@ function eval(code) end end +-- Only sleeps for 1 second at a time +-- This ensures that the timeout check can still run +function safesleep(dur) + while dur > 1000 do + dur = dur - 1000 + sleep(1000) + end + sleep(dur) +end + sandbox_env.eval = eval +sandbox_env.sleep = safesleep -- Check if the factoid timed out function checktime(event, line) -- cgit v1.2.3-70-g09d2