diff --git a/plugins/eval.rb b/plugins/eval.rb new file mode 100644 index 0000000..769bc4d --- /dev/null +++ b/plugins/eval.rb @@ -0,0 +1,22 @@ +include EventMachine::IRC::Commands + +Client.register_trigger("PRIVMSG") { |msg| + message = msg[:params][1] + destination = msg[:params][0] + if message[0..5] == ":eval " then + prog = message[6..-1] + puts "will try to eval: #{prog}" + begin + retval = proc { + $SAFE = 4 + eval(prog) + }.call + + Client.privmsg(destination, String.try_convert(retval.to_s)) + rescue Exception => e + Client.privmsg(destination, e.inspect) + puts e.inspect + puts e.backtrace + end + end +}