I use XChat for IRC. Some of the automatic channels I want to join require that I be identified with services. I have set xchat to autologin with nickserv when i start up, but sometimes there is a delay, it will try to join certain channels (and fail), before I am authenticated. Is there some way to tell xchat to delay trying to join some channels until after I am authenticated?
If we're talking about freenode (this may apply to others) you can authenticate at the same time as you connect. Just set the server password as your nick's password and you'll auto-login.
You can use nick-grouping and other various cleverness to auto-ghost your old user and take it back.
Or you can auth connecting with any nick by using a slightly more obtuse connect string:
/connect irc.freenode.net 6667 :<username> <password>
In xchat, this means you put
:<username> <password> into the server password box.
There is /set irc_join_delay $SECONDS. Default is 2.
Set it to 20 or any good number (determine it experimentally), and that should do the trick.
Stolen from http://forum.xchat.org/viewtopic.php?f=3&t=3966
As mentioned on the freenode faq, there are two additional methods you can try. If you have a cloak on freenode, there is a script that will prevent you from joining channels until your cloak has been applied (which requires that you are identified). This method will only work if you have a cloak. The second and better method is to use SASL.
SASL is a method of identifying during your connection, before anything else happens
You can view instructions and access scripts to enable SASL here.
Copy cap_sasl_xchat.py or cap_sasl_xchat.pl to your .xchat/ directory, so that it auto-loads. Once loaded, use the /SASL command to add or remove SASL settings per network -- its help text describes the syntax.
Along with all these other great answers I'd recommend you put your nickserv password in the "Server Password" Field, instead of "Nickserv Password" this will cause you to identify to the server right away, instead of having some ident lag that has ya join, then quit to auth then rejoin. You don't notice that process but others can so it does happen...do that and you should notice a difference...