$log_queue.push qmsg
end
-def restart_logger(newlogger = false)
+def halt_logger
if $log_thread && $log_thread.alive?
$log_queue << nil
$log_thread.join
$log_thread = nil
end
+end
+
+END { halt_logger }
+
+def restart_logger(newlogger = false)
+ halt_logger
$logger = newlogger if newlogger
}
@client[:join] = proc {|data|
m = JoinMessage.new(self, server, data[:source], data[:channel], data[:message])
+ sendq("MODE #{data[:channel]}", nil, 0) if m.address?
@plugins.irc_delegate("join", m)
sendq("WHO #{data[:channel]}", data[:channel], 2) if m.address?
}
end
multi_line = original_message.to_s.gsub(/[\r\n]+/, "\n")
+
+ # if target is a channel with +c or +C modes, strip colours
+ if where.kind_of?(Channel) and where.mode.any?('c', 'C')
+ multi_line.replace(BasicUserMessage.stripcolour(multi_line).gsub(AttributeRx,''))
+ end
+
messages = Array.new
case opts[:newlines]
when :join