'Initiate a Direct Client Connection
@param user: The hostmask of the user/client.
@type user: L{bytes}
@param channel: The name of the IRC channel.
@type channel: L{bytes}
@param data: The DCC request message.
@type data: L{bytes}'

def ctcpQuery_DCC(self, user, channel, data):

    if (not data):
        return
    dcctype = data.split(None, 1)[0].upper()
    handler = getattr(self, ('dcc_' + dcctype), None)
    if handler:
        if (self.dcc_sessions is None):
            self.dcc_sessions = []
        data = data[(len(dcctype) + 1):]
        handler(user, channel, data)
    else:
        nick = user.split('!')[0]
        self.ctcpMakeReply(nick, [('ERRMSG', ("DCC    %s    :Unknown    DCC    type    '%s'" % (data, dcctype)))])
        self.quirkyMessage(('%s    offered    unknown    DCC    type    %s' % (user, dcctype)))
