MCMrARM / revolution-irc

A modern Android IRC client. #revolutionirc on Libera.chat
GNU General Public License v3.0
555 stars 62 forks source link

Auto joining channels triggers before NickServ authentication #142

Open 19lmyers opened 6 years ago

19lmyers commented 6 years ago

The app attempts to automatically join channels before it runs my user specified commands, which I use for NickServ auth. This prevents me from automatically joining channels, because the command needs to be run after NickServ auth.

Heufneutje commented 6 years ago

Joining channels before user commands is how most IRC clients work. Does the server you're trying this on support SASL? SASL is typically preferred over manually authenticating with NickServ. And SASL always runs before autojoin.

MCMrARM commented 6 years ago

I'm pretty sure custom commands do go before channel joining.You can do something like this with custom commands though:

/msg NickServ ...
/wait 2
/join #channels
jzabroski commented 5 years ago
/msg NickServ ...
/wait 2
/join #channels

This is incredibly obtuse.

I think fixing NickServ authentication in conjunction with auto join is a feature that should just work.

Simple test case is irc.FreeNode.net /join #Android-Dev - if you're not registered/identified with nickserv, you get forwarded from #android-dev to #android-unregistered

jzabroski commented 5 years ago

Joining channels before user commands is how most IRC clients work. Does the server you're trying this on support SASL? SASL is typically preferred over manually authenticating with NickServ. And SASL always runs before autojoin.

It's been about 7 years since I've used mIRC - can you explain this a bit more to me? I can't find SASL in Revolution IRC settings.

MCMrARM commented 5 years ago

NickServ is obscure on purpose, unless you are dealing with an obscure network you shouldn't even come near to touching it. And if you have to use it, you might want to consider switching networks. It's provided as a last-resort, obscure feature.

SASL is an authentication method found in the per-server edit menu, literally named that.

jzabroski commented 5 years ago

Thanks, that's helpful.

thomasrussellmurphy commented 4 years ago

I'm one of the obscure network users still using the classic NickServ+ChanServ setup. I'm working around this using the above-mentioned /wait 2 workaround.

In addition to the problem with channels requiring users to be +r from NickServ registration is channels being +i and requiring users be invited by other users or by requested invite from ChanServ. Possibly a separate issue is that Revolution doesn't seem to have an option to automatically accept the ChanServ invite, thus requiring the workaround with both a NickServ registration and ChanServ invite request before the wait.

MCMrARM commented 4 years ago

IRC is a weird protocol...

I don't think the /wait 2 workaround is going to away, and I don't think it's a terrible workaround. I don't think Revo is the only client that does that (but other clients just do that behind the scenes).

Please create a separate ticket for auto-accepting invites. While I accept it as an idea, I'm not sure about the implementation. The most dumb idea is to auto-accept all invites from ChanServ, but then what if there's a network when anyone can call themselves ChanServ and there's no ChanServ? Some detection for services would have to be added I guess.

ghost commented 4 years ago

give nickname in nickname field then in command field /msg nickserv identify password /wait 10 /join #bash /join ##linux /join ##thelounge & so on

Regards.

ValeZAA commented 1 year ago

Why do you need that? Just type in Server password, that will open NICKSERV.