]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - data/rbot/plugins/figlet.rb
webhook: typo preventing unwatch
[user/henk/code/ruby/rbot.git] / data / rbot / plugins / figlet.rb
index 64be496c683ecc17de52cc7b2e0ec3f05cf1f283..700730f416b6621177c45cceda4d50167bdfecea 100644 (file)
@@ -58,10 +58,10 @@ class FigletPlugin < Plugin
 
   def test_figlet
     #check that figlet is present
-    @has[:figlet] = !!(Utils.safe_exec("#{figlet_path} -v") ; $?)
+    @has[:figlet] = Utils.try_exec("#{figlet_path} -v")
 
     # check that figlet actually has the font installed
-    @has[:figlet_font] = !!(Utils.safe_exec("#{figlet_path} -f #{figlet_font} test test test") ; $?)
+    @has[:figlet_font] = Utils.try_exec("#{figlet_path} -f #{figlet_font} test test test")
 
     # set the commandline params
     @params[:figlet] = ['-k', '-w', MAX_WIDTH.to_s, '-C', 'utf8']
@@ -72,10 +72,10 @@ class FigletPlugin < Plugin
 
   def test_toilet
     #check that toilet is present
-    @has[:toilet] = !!(Utils.safe_exec("#{toilet_path} -v") ; $?)
+    @has[:toilet] = Utils.try_exec("#{toilet_path} -v")
 
     # check that toilet actually has the font installed
-    @has[:toilet_font] = !!(Utils.safe_exec("#{toilet_path} -f #{toilet_font} test test test") ; $?)
+    @has[:toilet_font] = Utils.try_exec("#{toilet_path} -f #{toilet_font} test test test")
 
     # set the commandline params
     @params[:toilet] = ['-k', '-w', MAX_WIDTH.to_s, '-E', 'utf8', '--irc']
@@ -122,10 +122,16 @@ class FigletPlugin < Plugin
     exec_params = [send(:"#{key}_path")] + @params[key] + [message]
 
     # run the program
-    m.reply Utils.safe_exec(*exec_params), :max_lines => 0
+    m.reply strip_first_last_empty_line(Utils.safe_exec(*exec_params)), :max_lines => 0, :nick => false
   end
   alias :toilet :figlet
 
+  private
+
+  def strip_first_last_empty_line(txt)
+    txt.gsub(/\A(?:^\s*\r?\n)+/m,'').rstrip
+  end
+
 end
 
 plugin = FigletPlugin.new