]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - data/rbot/plugins/script.rb
refactor: wordlist shouldn't use bot singleton #35
[user/henk/code/ruby/rbot.git] / data / rbot / plugins / script.rb
index 0923dd5dc15eeb59c40e770d15008c4fa241e7db..11aed3968d006ad81bee53c235285fc61c92a430 100644 (file)
@@ -60,7 +60,7 @@ class ScriptPlugin < Plugin
       auth_path = "script::run::#{name}".intern
       return unless @bot.auth.allow?(auth_path, m.source, m.replyto)
 
-      code = @commands[name].code.dup.untaint
+      code = @commands[name].code.dup
 
       # Convenience variables, can be accessed by scripts:
       args = m.message.split
@@ -68,9 +68,6 @@ class ScriptPlugin < Plugin
       user = args.empty? ? m.sourcenick : args.first
 
       Thread.start {
-        # TODO allow different safe levels for different botusers
-        $SAFE = 3
-
         begin
           eval( code )
         rescue Exception => e
@@ -103,9 +100,8 @@ class ScriptPlugin < Plugin
 
 
   def handle_eval( m, params )
-    code = params[:code].to_s.dup.untaint
+    code = params[:code].to_s.dup
     Thread.start {
-      # TODO allow different safe levels for different botusers
       begin
         eval( code )
       rescue Exception => e
@@ -117,9 +113,8 @@ class ScriptPlugin < Plugin
 
 
   def handle_echo( m, params )
-    code = params[:code].to_s.dup.untaint
+    code = params[:code].to_s.dup
     Thread.start {
-      # TODO allow different safe levels for different botusers
       begin
         m.reply eval( code ).to_s
       rescue Exception => e
@@ -200,6 +195,7 @@ plugin = ScriptPlugin.new
 plugin.default_auth( 'edit', false )
 plugin.default_auth( 'eval', false )
 plugin.default_auth( 'echo', false )
+plugin.default_auth( 'show', false )
 plugin.default_auth( 'run', true )
 
 plugin.map 'script add -f :name *code', :action => 'handle_add_force', :auth_path => 'edit'