Limnoria icon indicating copy to clipboard operation
Limnoria copied to clipboard

channel.join: '#channel,#channel2' is not a valid channel (RFC violation)

Open Mikaela opened this issue 9 years ago • 7 comments

I am unable to join the bot to multiple channels using join #channel,#channel2 as the bot replies Error: '#channel,#channel2' is not a valid channel.

This violates RFC 1459 and RFC 2812.

  • https://tools.ietf.org/html/rfc1459#section-4.2.1
  • https://tools.ietf.org/html/rfc2812#section-3.2.1

Mikaela avatar Apr 17 '15 09:04 Mikaela

How should the [<key>] argument be handled in this case? Does it apply for the first channel, all of them, or should it also be a comma-separated list corresponding to the channels?

jlu5 avatar May 18 '15 21:05 jlu5

!join #channel,#keyedchannel ,channel2password is the RFC format unless I entirely misunderstand. You might want to ask on #IRCv3…

Mikaela avatar May 19 '15 06:05 Mikaela

Hi, I have made some tests with [key] using InspIRCd-2.0 and HexChat 2.10.2. My test cases are as follows:

  • #lounge (channel has no key)
  • #notest (key=ok)
  • #testagain (key=notok)
  1. JOIN #lounge,#notest,#testagain ok notok
  • Can only join #lounge correctly.
  • Now talking in #lounge
  • #notest unable to join channel (need correct key)
  • #testagain unable to join channel (need correct key)
  1. JOIN #lounge,#notest,#testagain ok,notok
  • Can only join #lounge correctly.
  • Now talking in #lounge
  • #notest unable to join channel (need correct key)
  • #testagain unable to join channel (need correct key)
  1. JOIN #notest,#testagain,#lounge ok,notok
  • Can join #notest, #testagain and #lounge correctly.
  • Now talking in #notest
  • Now talking in #testagain
  • Now talking in #lounge
  1. JOIN #lounge,#notest ok
  • Edit: Can only join #lounge correctly.
  • ~~Can join #lounge and #notestcorrectly.~~
  • Now talking in #lounge
  • ~~Now talking in #notest~~
  • #notest unable to join channel (need correct key)
  1. JOIN #notest,#lounge ok
  • Can join #notest and #lounge correctly.
  • Now talking in #notest
  • Now talking in #lounge
  1. JOIN #lounge,#notest ,ok
  • Can join #lounge and #notestcorrectly.
  • Now talking in #lounge
  • Now talking in #notest
  1. JOIN #lounge,#notest,#testagain ,ok,notok
  • Can join #lounge, #notest and #testagain correctly.
  • Now talking in #lounge
  • Now talking in #notest
  • Now talking in #testagain
  1. JOIN #notest,#lounge,#testagain ok,,notok
  • Can join #notest, #lounge and #testagain correctly.
  • Now talking in #notest
  • Now talking in #lounge
  • Now talking in #testagain

dboyz avatar May 19 '15 07:05 dboyz

wow.

progval avatar May 19 '15 07:05 progval

@GLolol @Mikaela I think this is how you would send the raw message:

JOIN #NormalChannel,#KeyedChannel x,TheKey

If the channel doesn't have a key, then the key you pass is just ignored.

0xallie avatar Jun 20 '15 21:06 0xallie

@nyuszika7h: Eh? I shall try that when I switch to a new ISP.

dboyz avatar Jun 21 '15 12:06 dboyz

@dboyz According to RFC 2812, an empty key like you described (e.g. JOIN #foo,#bar ,barkey) is invalid, and it does not work on freenode (gives "Invalid key" for #bar). The x method should work everywhere, though.

0xallie avatar Jun 21 '15 14:06 0xallie