ekmartin / slack-irc

Connects Slack and IRC channels by sending messages back and forth.
MIT License
588 stars 157 forks source link

No way to set server password #106

Closed RoboMWM closed 8 years ago

RoboMWM commented 8 years ago

Seems there's no way to set the server password.

I'm connecting this to a ZNC hence the need for this.

ekmartin commented 8 years ago

Hi! You can add an ircOptions object to your config, which is then passed directly to node-irc. Setting password and userName here should do it:

[{
  ...rest of your config,
  "ircOptions": {
    "userName": "twitch-username",
    "password": "oauth:token-goes-here"
  }
}]

If you need SASL support you can add "sasl": true. Let me know if it doesn't work out, and I'll reopen the issue.

RoboMWM commented 8 years ago

Um, is this the nickserv password field? I tried this and had the same error. I need to input a server password, not nickserv password.

RoboMWM commented 8 years ago

Double-checked that I tried the password field, unfortunately no difference though, since I'm sure that password field is for nickserv/sasl authentication, not IRC server password.

error: Received error event from IRC prefix=irc.znc.in, server=irc.znc.in, command=err_passwdmismatch, rawCommand=464, c
ommandType=error, args=[zncusernamehere, Password required]
13 Apr 18:08:59 - ERROR: { prefix: 'irc.znc.in',
  server: 'irc.znc.in',
  command: 'err_passwdmismatch',
  rawCommand: '464',
  commandType: 'error',
  args: [ 'zncusernamehere', 'Password required' ] }
Someguy123 commented 8 years ago

@ekmartin This doesn't work over here, nor for @RoboMWM - seemingly I can't even get it to work for SASL either (works fine from any normal client). Using chat.freenode.net:6697 with secure:true

ekmartin commented 8 years ago

@RoboMWM got it working by removing the SASL option.

I guess when I was playing around with different ircOptions in attempts to get it to work I added the sasl option. Removing that seems to work now.

I.e. for server password:

"ircOptions": {
  "userName": "user",
  "password": "password"
}

for SASL you should be able to do the same, but with the sasl option added:

"ircOptions": {
  "userName": "user",
  "password": "password",
  "sasl": true
}
Someguy123 commented 8 years ago

@ekmartin Tried that, it doesn't seem to work at all. Adding a password (tried SASL, as well as plain password, and password = user:password) makes it just stick on this:

debug: Connecting to IRC and Slack
debug: Connected to Slack

It seems to still get the Slack messages while stuck here, but it doesn't connect to the network, which I can confirm from my actual IRC client

RoboMWM commented 8 years ago

@Someguy123 This was regarding server password, not nickserv password. I'd assume there's a separate option for that, but then again I haven't looked into it thoroughly.

For background, I was trying different options when it didn't work for me initially. I think I also had other issues when trying to fix this issue, and thus had added extra options when this was the final issue to take care of.

Someguy123 commented 8 years ago

@RoboMWM I'm not talking about NickServ password either (well I am, but I'm talking about authenticating to NickServ using Freenode's server password system, that has been available for a very long time). I'm talking about freenode's server password auth (in other IRC bots, I set the server password to username:password to auth before connection, preventing IP leak).

Seems I can't get this to work, even with SASL (but it works fine in other IRC bots, and IRC clients)

Someguy123 commented 8 years ago

Hmmm, now this is odd. It looks like the real culprit was "secure": true

I don't even understand how, because 6697 is an SSL port, and it somehow connects fine without secure...

EDIT: What. The password now works too. Seems something is seriously wrong with setting secure in the ircOptions, even though this is an SSL port.

RoboMWM commented 8 years ago

Hmm, not sure how freenode's server password auth works as I don't use it, but here's a snippet of my config:

"ircOptions": {
      "secure": true,
      "showErrors": true,
      "selfSigned": true,
      "certExpired": true
    }

Use showErrors to print error messages.

Someguy123 commented 8 years ago

UPDATE: actually it looks like it's not connecting to freenode via SSL like I thought. Activity monitor shows it's on 6667... sigh

UPDATE 2: looks like adding "selfSigned": true, and putting the port in ircOptions (originally had it in the top layer) works.

RoboMWM commented 8 years ago

Ah yea, I use port in options as well.