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.

| improve this answer | |
  • 1
    Yes, I'm talking about FreeNode, and I have set the 'NickServ' password correctly, and I get this issue. I tried removing that, and putting my password in the 'server password' field, and that didn't identify me at all. – Rory Oct 12 '10 at 16:11
  • 1
    the :<username> <password> trick worked for me on XChat package for Ubuntu 13.04 – pepper_chico Sep 10 '13 at 3:16
  • What's the difference between the NickServ password and server password fields? – Utkarsh Sinha Sep 18 '15 at 22:24
  • There is no difference. – Oli Sep 18 '15 at 22:36

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

| improve this answer | |
  • 2
    That has never worked for me. I raised a bug here during the development stages of Maverick, but no word back yet. bugs.launchpad.net/ubuntu/+source/xchat/+bug/647633 – ibuclaw Oct 12 '10 at 9:00
  • Then I would say it is impossible. Let's hope the bug is resolved soon. I might take a look at it this weekend, see what I can hack up. – evgeny Oct 12 '10 at 9:28
  • So as you can tell from the bug report, I tested it on Freenode and a few other networks. irc_join_delay seems to be functioning. – evgeny Oct 15 '10 at 10:27
  • 1
    This solution works for me on Ubuntu 12.04LTS, xchat 2.8.8 – memilanuk May 16 '12 at 18:41

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.

A script for XChat is available here in Python or Perl. To quote the README:

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.

| improve this answer | |

put :<username> <password> in your ~/xchat2 file:

P=:nick password

after that the channels for autojoin.

set delay on 20

I changed the following line in ~/.xchat2/xchat.conf

irc_join_delay = 10

| improve this answer | |

For X-Chat you'll want /server not /connect.

Using /connect will give this slightly confusing response; "* Permission Denied - You're not an IRC operator". This is because if X-Chat gets an unknown command it passes it through to the server.

| improve this answer | |

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...

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.