sdelements / lets-chat

Self-hosted chat app for small teams
http://sdelements.github.io/lets-chat
MIT License
9.76k stars 1.58k forks source link

IRC backend #246

Open f-f opened 9 years ago

f-f commented 9 years ago

It would be a great feature if Let's Chat implemented also an IRC backend (Slack-like). This would include a basic IRC implementation (which I think is the easy part) and maybe a bouncer (to support XMPP integration).

It would be a killer feature for lots of teams (since there are many people who already use IRC in their daily workflow)

Putr commented 9 years ago

+1

hhaidar commented 9 years ago

We probably won't implement this since there is no immediate benefit for our team. That being said, if anyone wishes to provide a PR with this, we're 100% for it :)

dfyx commented 9 years ago

ircd.js might be an option but sadly it currently isn't meant for being used as a library.

geoffwhittington commented 9 years ago

A bandaid solution might be to use http://www.bitlbee.org/

Edit: I gave bitlbee a whirl and it might appear that Lets Chat doesn't handle a certain request (the one in red). If people can work through this then bitlbee might be a viable stop-gap until someone sends us a PR for native IRC:

bitlbee

JohnTheodore commented 9 years ago

There are ways to have your irc client, like irssi connect to xmpp. http://cybione.org/~irssi-xmpp/

Also pidgin and adium support irc and xmpp at the same time. In fact there are lots of clients using libpurple that support gobs of protocols all in a unified UI experience ( https://developer.pidgin.im/wiki/WhatIsLibpurple ).

esseks commented 9 years ago

@JohnTheodore I'm afraid neither Pidgin nor Adium nor any purple client is good at IRC. They implemented it so that they could add a tick in the support checklist, but the usability is pretty dreadful and most IRC features, like modes, several authentication methods, an option to change IRC real name and lists/op actions are missing.

geoffwhittington commented 9 years ago

@esseks based on your list above, I'm doubtful Lets Chat would even support all of those if we implemented IRC.

It appears you want a IRC server implementation not just support. Does Slack or HipChat give you all the features you list?

JohnTheodore commented 9 years ago

Slack irc has problems. It goes down fairly often. It does things like track if someone is 'active' or not, based on if they have a voice. So when someone goes from active to not, they get devoiced in all the channels they're in. and vice versa when they come back. There are ways to ignore this in say irssi. but slack irc is lacking in many areas.

asaladin commented 9 years ago

Hi,

We would need IRC integration too, in order to move away from our current system

dfyx commented 9 years ago

Another project that might be worth looking at is https://github.com/gitterHQ/irc-bridge

They implement a pretty simple IRC server to act as a bridge to gitter.im. There's not that much code so it might be possible to learn from it and write a pretty simple IRC implementation for Let's Chat.

bnvk commented 9 years ago

This would be a super duper transport IMHO. I've been using and experimenting with the Shout IRC client web client which is quite nice, but has a full interface similar to Let's Chat already.

However, Shout is based on top of Slate IRC which seems to be a lighter weight IRC lib in node.js... which might be the best component to build this feature with.

@hhaidar any pointers & tips you could lend that would jumpstart some experimenting? :smile:

dfyx commented 9 years ago

@bnvk I think you got it the wrong way around. This issue is about allowing IRC clients to connect to Let's Chat while Slate IRC is a library for building clients.

bnvk commented 9 years ago

@dfyx ah ok. I see what you mean, I might be thinking "my implementation needs" more than that of the project! Is that the same thing re: the Jabber integration that current exists? It's not so much a jabber client, as a Jabber server?

Perhaps editing the title of this issue would better reflect that?

dequis commented 9 years ago

Now that #390 is fixed, bitlbee can now be used to connect to let's chat!

geoffwhittington commented 9 years ago

@dequis Fantastic! Thanks for working through the issues with us

@sibartlett Thanks for making it all happen!