# $EPIC: dcc_chat.txt,v 1.3 2007/02/02 23:28:03 jnelson Exp $
dcc chat <nick> [-p <port>]
DCC CHAT offers to another user, or accepts an offer from another user, for a direct connection between your clients. This direct connection allows you to talk to that person without the messages passing through any irc network.
Because the messages are not sent over irc, they are both less prone to snooping by others on irc, and they are delivered faster and have guaranteed delivery (which irc does not guarantee because of netsplits).
Because the messages are not sent over irc, it requires that the other peer know your IP address. This may be undesirable if your hostname is spoofed on the network. Do not offer (or accept) dcc connections with those who you do not want to know your ip address.
To send a message across a DCC CHAT connection, use the MSG command as you normally would, but prefix the other person's <nick> with an equals-sign ('='). The <nick> is the one that you gave to the original DCC CHAT command. Even if they change their nickname on irc, you must still refer to them by the nickname you gave to DCC CHAT. You can change the <nick> with DCC RENAME.
You can send a CTCP command across a DCC CHAT connection (allowing you to initiate a DCC SEND, for example), if the remote client supports CTCP-over-DCC. EPIC clients will work; others may or may not.
If you offer a DCC CHAT connection and the other person does not accept it, you can re-tender the offer by using DCC CHAT again. This will send a duplicate CTCP message to the other peer, to let them know that you are still offering the connection.
If the -p flag is present you may specify the port that the client should use for the connection.
All the usual caveats about using dcc behind a NAT router apply.
/dcc chat bob Offer a DCC CHAT connection to "bob" on the current network. /msg =bob Hi there bob! Send a message to "bob" over DCC CHAT after bob has accepted the connection. If bob changes his nickname on irc, you would still use "=bob" to send him a DCC CHAT message.