lib/robut/plugin/say.rb in robut-0.2.1 vs lib/robut/plugin/say.rb in robut-0.3.0

- old
+ new

@@ -1,20 +1,29 @@ - # This is a simple plugin the envokes the "say" command on whatever is passed # Example: # # @robut say that was awesome! # # *Requires that the "say" command is installed and in the path # -class Robut::Plugin::Say < Robut::Plugin::Base +class Robut::Plugin::Say + include Robut::Plugin + # Returns a description of how to use this plugin + def usage + "#{at_nick} say <words> - uses Mac OS X's 'say' command to speak <words>" + end + # Pipes +message+ through the +say+ command def handle(time, sender_nick, message) words = words(message) if sent_to_me?(message) && words.first == "say" - phrase = words[1..-1].join(' ') + phrase = clean(words[1..-1].join(' ')) system("say #{phrase}") end end - + + def clean(str) + str.gsub("'", "").gsub(/[^A-Za-z0-9\s]+/, " ").gsub(/\s+/, ' ').strip + end + end