X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=data%2Frbot%2Fplugins%2Flinkbot.rb;h=360735e918803ce6cb1cb6170f04c00710c9fc19;hb=ff37e0e505811e14a203d8bf9213e8a5d0343acc;hp=b50027ec5e914ba4f0dc0617fab7b356b5b06d82;hpb=8a3ef5e5aaf5cb8305728f3bcd407ac17fc23138;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git diff --git a/data/rbot/plugins/linkbot.rb b/data/rbot/plugins/linkbot.rb index b50027ec..360735e9 100644 --- a/data/rbot/plugins/linkbot.rb +++ b/data/rbot/plugins/linkbot.rb @@ -61,24 +61,12 @@ class LinkBot < Plugin # person's highlight new_nick.gsub!(/[#{Bold}#{Underline}#{Reverse}#{Italic}#{NormalText}]/, '') debug "#{m.sourcenick} reports that #{new_nick} said #{message.inspect} on #{network}" - # One way to pass the new message back to the bot is to create a PrivMessage - # and delegate it to the plugins - new_m = PrivMessage.new(@bot, m.server, m.server.user(new_nick), m.target, message) - @bot.plugins.delegate "listen", new_m - @bot.plugins.delegate "message", new_m - @bot.plugins.privmsg(new_m) if new_m.address? - - ## Another way is to create a data Hash with source, target and message keys - ## and then letting the bot client :privmsg handler handle it - ## Note that this will also create irclog entries for the fake PRIVMSG - ## TODO we could probably add a :no_irc_log entry to the data passed to the - ## @bot.client handlers, or something like that - # data = { - # :source => m.server.user(new_nick) - # :target => m.target - # :message => message - # } - # @bot.client[:privmsg].call(data) + begin + # Pass the new message back to the bot + fake_message(message, :from => m, :source => m.server.user(new_nick)) + rescue RecurseTooDeep => e + error e + end end end end