All pastes #390599 Raw Edit

Anonymous

public ruby v1 · immutable
·published 2007-03-11 15:56 UTC
rendered paste body
Index: lib/rbot/ircbot.rb===================================================================--- lib/rbot/ircbot.rb  (revision 750)+++ lib/rbot/ircbot.rb  (working copy)@@ -440,15 +440,15 @@     @plugins = Plugins::pluginmanager     @plugins.bot_associate(self)     setup_plugins_path()++    @socket = IrcSocket.new(@config['server.name'], @config['server.port'], @config['server.bindhost'], @config['server.sendq_delay'], @config['server.sendq_burst'], :ssl => @config['server.ssl'])+    @client = Client.new+     @plugins.scan      Utils.set_safe_save_dir("#{botclass}/safe_save")     @httputil = Utils::HttpUtil.new(self) --    @socket = IrcSocket.new(@config['server.name'], @config['server.port'], @config['server.bindhost'], @config['server.sendq_delay'], @config['server.sendq_burst'], :ssl => @config['server.ssl'])-    @client = Client.new-     # Channels where we are quiet     # Array of channels names where the bot should be quiet     # '*' means all channelsIndex: lib/rbot/ircsocket.rb===================================================================--- lib/rbot/ircsocket.rb       (revision 750)+++ lib/rbot/ircsocket.rb       (working copy)@@ -258,6 +258,26 @@     # max lines to burst     attr_reader :sendq_burst +    # an optional filter object. we call @filter.in(data) for+    # all incoming data and @filter.out(data) for all outgoing data+    attr_reader :filter++    # default trivial filter class+    class IdentityFilter+        def in(x)+            x+        end++        def out(x)+            x+        end+    end++    # set filter to identity, not to nil+    def filter=(f)+        @filter = f || IdentityFilter.new+    end+     # server:: server to connect to     # port::   IRCd port     # host::   optional local host to bind to (ruby 1.7+ required)@@ -271,6 +291,7 @@       @port = port.to_i       @host = host       @sock = nil+      @filter = IdentityFilter.new       @spooler = false       @lines_sent = 0       @lines_received = 0@@ -380,7 +401,7 @@         return nil       end       begin-        reply = @sock.gets+        reply = @filter.in(@sock.gets)         @lines_received += 1         reply.strip! if reply         debug "RECV: #{reply.inspect}"@@ -483,7 +504,7 @@         if @sock.nil?           error "SEND attempted on closed socket"         else-          @sock.puts message+          @sock.puts(@filter.out(message))           @last_send = Time.new           @flood_send += message.irc_send_penalty if penalty           @lines_sent += 1