def initialize(bot, server, source, target, message)
super(bot, server, source, target, message)
@target = target
@private = false
@plugin = nil
@ctcp = false
@action = false
if target == @bot.myself
@private = true
@address = true
@channel = nil
@replyto = source
else
@replyto = @target
@channel = @target
end
bot.config['core.address_prefix'].each {|mprefix|
if @message.gsub!(/^#{Regexp.escape(mprefix)}\s*/, "")
@address = true
break
end
}
if @message.gsub!(/^\s*#{Regexp.escape(bot.nick)}\s*([:;,>]|\s)\s*/i, "")
@address = true
end
if(@message =~ /^\001(\S+)(\s(.+))?\001/)
@ctcp = $1
@message = $3 || String.new
@action = @ctcp == 'ACTION'
debug "Received CTCP command #{@ctcp} with options #{@message} (action? #{@action})"
@logmessage = @message.dup
@plainmessage = BasicUserMessage.strip_formatting(@message)
@message = BasicUserMessage.strip_initial_formatting(@message)
end
@params = @message.dup
if @params.gsub!(/\A\s*(\S+)[\s$]*/m, "")
@plugin = $1.downcase
@params = nil unless @params.length > 0
end
end