Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow joining password protected channels #64

Open
rretzbach opened this issue Mar 25, 2015 · 5 comments
Open

Allow joining password protected channels #64

rretzbach opened this issue Mar 25, 2015 · 5 comments

Comments

@rretzbach
Copy link

I have looked at the documentation and I don't see a way to configure a password for a password protected irc channel. So I'd like to see this enhancement in saxo.

According to RFC1459, 4.2.3.1 Channel modes you can set a password protected channel like:

/mode #mychannel +k mypassword

To solve this issue three things must be done imho:
I. configure password protected channels, for example

[client]
    nick = saxo67301
    channels = ##saxo #test #mychannel|mypassword
    prefix = .

II. let saxo join a channel by passing the password, see Wiki IRC_Commands for the irc command. I think irc.py needs to be changed

III. update the documentation to show how the configuration is done, probably in config.md

Tell me what you think about this.

@sbp
Copy link
Owner

sbp commented Mar 28, 2015

This is a great RFE, but I'm not sure about the config syntax. Do you have any other suggestions? Will have to think about this.

@rretzbach
Copy link
Author

Are you unsure about the password being parsed correctly? Or do you not like the proposed delimiter characters?

I can also imagine the following simple config syntaxes:

[client]
nick = saxo67301
channels = ##saxo, #test, #mychannel mypassword
prefix = .

or

[client]
nick = saxo67301
channels = ##saxo #test #mychannel<mypassword>
prefix = .

If you choose different delimiters you get more variations.

Another solution would be to use a different file format like json which supports tree like struktures.
Similar to an irssi config file.

@sbp
Copy link
Owner

sbp commented Mar 31, 2015

One problem with using |, <, or > as delimiters is that they are valid channel characters:

   Channels names are strings (beginning with a '&', '#', '+' or '!'
   character) of length up to fifty (50) characters.  Apart from the
   requirement that the first character is either '&', '#', '+' or '!',
   the only restriction on a channel name is that it SHALL NOT contain
   any spaces (' '), a control G (^G or ASCII 7), a comma (',').

RFC 2812, § 1.3

So only #mychannel,mypassword would work. Another possibility is:

[client]
nick = saxo67301
channels = ##saxo #test #mychannel
passwords = #mychannel mypassword
prefix = .

Using another parameter, passwords, and something a bit like an alist.

@jeff-bollinger
Copy link

Curious if anyone has made an update to support this feature? Still appears to be no way to allow a saxo bot so join a key/password protected IRC channel. Even with the 'join' command.

@jfdive
Copy link

jfdive commented Dec 17, 2015

Here is a patch that implement the channel,passwd.

I had to change the behavior within irc.py to use ":" quickly going trough the RFC, i think this is not needed, not intended for client irc code (not double checked). passwd channel access didn't worked with "JOIN: #channel password" but does with "JOIN #channel password". All seems to work happily with this patch for us.

saxo.channel.passwd.diff.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants