mIRC Home    About    Download    Register    News    Help

Topic Options
#265331 - 02/04/19 04:59 PM Cannot join channel (+r)
wirednights Offline
Mostly harmless

Registered: 02/04/19
Posts: 1
Ever since Freenode changed their rules about a year ago, I have had problems getting in rooms.

This is the message I get from the server:
"Cannot join channel (+r) - you need to be identified with services - see https://freenode.net/kb/answer/registration"

I have mIRC set up to sign me in automatically. I can't find this setting in the Options screen, it might be a script I copied and pasted. It works fine if I open the program fresh. The problem is whenever I put my computer to sleep and wake back up, all my rooms are disconnected and don't automatically reconnect.

The rooms all say: * Attempting to rejoin channel #roomname

How do I make mIRC log me back in automatically?

#265333 - 02/04/19 06:21 PM Re: Cannot join channel (+r) [Re: wirednights]
maroon Offline
Hoopy frood

Registered: 12/01/04
Posts: 1151
What do you mean by "sign me in automatically"? If it means you're using SASL, then you're doing something wrong, because SASL logs into nickserv before trying to join the channels, so that should work.

Where these instructions say "username", they really mean your freenode accountname.


#265355 - 04/04/19 03:15 AM Re: Cannot join channel (+r) [Re: wirednights]
Erasimus Offline
Babel fish

Registered: 26/04/18
Posts: 74
Are you possibly refering to tools, options, IRC and the tick box named 'rejoin channels on connect' ?

I have that unticked in my installation and let my script control all that.

If you are using a connect script, then you would probably be better waiting for user mode +r being applied before doing your (re-)joins.

#265372 - 08/04/19 03:25 AM Re: Cannot join channel (+r) [Re: wirednights]
Erasimus Offline
Babel fish

Registered: 26/04/18
Posts: 74
I've thought a bit more about this. The issue is that you are doing things all wrong. You should quit mIRC before you put your computer to sleep.

IRC servers send ping messages to each client and expect a reply (pong message) from them. If it doesn't get replies then it assumes that your connection has gone dead, as it has - PC in sleep mode.

On PC wake up it is probably set to reconnect on disconnect (Options, Connect, Options, Reconnect on disconect - you probably also have Connect on Startup set as well).

You might want to look in the Perform section (click on the perform button) and see what is in the perform commands box. That is the most likely place for people who are not scripters to put the login/authentication lines and then any join commands (which might not be required given the above rejoin tick box).

If there is nothing in the perform box or the Enable Perform on connect is unticked, then you have to star tlooking through any scripts files you have loaded - see the script editor (button on toolbar or Tools, Scripts editor).

What I don't understand is that this works if machine is started up but doesn't on wake-up after sleep mode, but as I said, sleep mode can case all manner of upsets for applications.

Basically what is happening is that your nickname is NOT being authenticated (/Nickserv Identify <password). One other point to be considered here is to make sure that you are using your nickname and not your alternate nickname (set in Tools, Option, Connect).

Have a look at the nickname in use, it will be displayed on the title bar of the status window straight after 'Status:'.

Once you have figured out why you are not being authenticated then you fix that and the rest should work.

The user mode +r will be set by the server once you have authenticated (identified) and you can re-join the channels. Once it is set you will see the + and 'r' within square brackets just after the nickname in the title bar of the status window.

One final thing if you are in fact being autheticated correctly, then it is possible that you are not using script lines to re-join the channels in which case the 'Rejoin channels on connect' (see my previous message) is causing the rejoin attempt(s) to happen BEFORE you have (re-)authenticated, which would result in the 'you need to ..' message. mIRC is trying to re-join the channels BEFORE +r usermode has been set.

This is the main reason that I don't normally use the perform box: people try to make it do actions 1,2,3 on connecting and hope it works. More often you have to code lines in a scipt because they are event driven. In other words they wait for something to happen, and when it does they do something - like waiting for +r to be set and only then (re-)join the channels.

I do hope this provides some clarity and helps you sort things out.