]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - data/rbot/plugins/autorejoin.rb
script plugin: use m.okay
[user/henk/code/ruby/rbot.git] / data / rbot / plugins / autorejoin.rb
index aba46507b20e6c68b3ef3e6eb1411f6d8c506fed..14a2f29c77b0723ab19c96404815384ba7b3c4ba 100644 (file)
@@ -1,16 +1,26 @@
 class AutoRejoinPlugin < Plugin
+  Config.register Config::BooleanValue.new('rejoin.insult',
+    :default => true,
+    :desc => "Determines if the bot will insult whoever kicked it, after rejoin")
+
   def help(plugin, topic="")
     "performs an automatic rejoin if the bot is kicked from a channel"
   end
+
   def kick(m)
     if m.address?
-      @bot.timer.add_once(10, m) {|m|
-        @bot.join m.channel
-        @bot.say m.channel, @bot.lang.get("insult") % m.sourcenick
-      }
+      r = rand(10)
+      if r > 0
+       @bot.timer.add_once(r) {
+         @bot.join m.channel
+         @bot.say(m.channel, @bot.lang.get("insult") % m.sourcenick) if @bot.config['rejoin.insult']
+       }
+      else
+       @bot.join m.channel
+       @bot.say(m.channel, @bot.lang.get("insult") % m.sourcenick) if @bot.config['rejoin.insult']
+      end
     end
   end
 end
 
 plugin = AutoRejoinPlugin.new
-plugin.register("autorejoin")