when :MODE
parse_mode(serverstring, argv, data)
handle(:mode, data)
+ when :ERROR
+ data[:message] = argv[1]
+ handle(:error, data)
else
warning "Unknown message #{serverstring.inspect}"
handle(:unknown, data)
data[:modes].last << arg
end
}
- else
+ when Channel
# array of indices in data[:modes] where parameters
# are needed
who_wants_params = []
getting_args = true unless who_wants_params.empty?
end
end
+ unless who_wants_params.empty?
+ warning "Unhandled malformed modeline #{data[:modestring]} (unexpected empty arguments)"
+ return
+ end
data[:modes].each { |mode|
set, key, val = mode
data[:target].mode[key].send(set)
end
}
+ else
+ warning "Ignoring #{data[:modestring]} for unrecognized target #{argv[0]} (#{data[:target].inspect})"
end
end
end