- # create a fake message containing the intended command
- new_msg = PrivMessage.new(@bot, m.server, m.server.user(m.source), m.target,
- command.gsub(/<(\w+)>/) {|arg| params[:"#{$1}"].to_s})
- # tag incremented depth on the message
- class << new_msg
- self
- end.send(:define_method, :depth) {current_depth + 1}
-
- @bot.plugins.privmsg(new_msg)
+ begin
+ # create a fake message containing the intended command
+ @bot.plugins.privmsg fake_message(command.gsub(/<(\w+)>/) {|arg| params[:"#{$1}"].to_s}, :from => m, :delegate => false)
+ rescue RecurseTooDeep
+ m.reply _('The alias seems to have caused infinite recursion. Please examine your alias definitions')
+ return
+ end