# File lib/rbot/timer.rb, line 103 def run(now = Time.now) raise 'inappropriate time to run()' unless self.next && self.next <= now self.next = nil begin @block.call(*@args) rescue Exception => e error "Timer action #{self.inspect}: block #{@block.inspect} failed!" error e.pretty_inspect debug e.backtrace.join("\n") end if @repeat && @period > 0 self.next = now + @period end return self.next end