]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - data/rbot/plugins/nickrecover.rb
grouphug: fix retrieval of spurious confessions
[user/henk/code/ruby/rbot.git] / data / rbot / plugins / nickrecover.rb
index 02def493f77c94e2ad7134d6d8683c521455aadb..ed3c8708fc560ebadabc68bef6f6f45040bfe556 100644 (file)
@@ -52,17 +52,25 @@ class NickRecoverPlugin < Plugin
   end
 
   def stop_recovery
-    @bot.timer.remove(@recovery) if @recovery
+    begin
+      @bot.timer.remove(@recovery) if @recovery
+    ensure
+      @recovery = nil
+    end
   end
 
   def start_recovery(time=self.poll_time)
     if @recovery
-      @bot.timer.reschedule(@recovery, poll_time)
-    else
-      @recovery = @bot.timer.add(time) do
-        has_nick? ? stop_recovery : recover
+      begin
+        @bot.timer.reschedule(@recovery, poll_time)
+        return
+      rescue
+        @recovery=nil
       end
     end
+    @recovery = @bot.timer.add(time) do
+      has_nick? ? stop_recovery : recover
+    end
   end
 
   def initialize