]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/commitdiff
lart plugin: listlart and listpraise commands
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Thu, 1 Nov 2007 00:31:01 +0000 (00:31 +0000)
committerGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Thu, 1 Nov 2007 00:31:01 +0000 (00:31 +0000)
data/rbot/plugins/lart.rb

index fbc1f9e429f052768adf4410560ba431352cfd91..a70c67b858542491ee89417cf524eed180588b85 100644 (file)
@@ -136,6 +136,16 @@ class LartPlugin < Plugin
     m.okay
   end
 
+  def handle_listlart(m, params)
+    rx = Regexp.new(params[:lart].to_s, true)
+    list = @larts.grep(rx)
+    if list
+      m.reply list.join(" | "), :split_at => /\s+\|\s+/
+    else
+      m.reply "no lart found matching #{params[:lart]}"
+    end
+  end
+
   def handle_addpraise(m, params)
     @praises << params[:praise].to_s
     @changed = true
@@ -148,6 +158,16 @@ class LartPlugin < Plugin
     m.okay
   end
 
+  def handle_listpraise(m, params)
+    rx = Regexp.new(params[:praise].to_s, true)
+    list = @praises.grep(rx)
+    if list
+      m.reply list.join(" | "), :split_at => /\s+\|\s+/
+    else
+      m.reply "no praise found matching #{params[:praise]}"
+    end
+  end
+
   #  The following are utils for larts/praises
   def replace_who(msg, nick)
     msg.gsub(/<who>/i, "#{nick}")
@@ -169,3 +189,6 @@ plugin.map "addpraise *praise", :action => :handle_addpraise
 
 plugin.map "rmlart *lart", :action => :handle_rmlart
 plugin.map "rmpraise *praise", :action => :handle_rmpraise
+
+plugin.map "listlart *lart", :action => :handle_listlart
+plugin.map "listpraise *praise", :action => :handle_listpraise