calzoneman / sync

Node.JS Server and JavaScript/HTML Client for synchronizing online media
Other
1.47k stars 232 forks source link

IRC Integration #44

Closed ghost closed 11 years ago

ghost commented 11 years ago

Each channel could be connected with the IRC Server via bot, let's say syncbot which would forward messages to and from #sync-channel_name. In the SynchTube era many sat in rooms just to talk with friends on the chat. Low priority.

calzoneman commented 11 years ago

You're welcome to fork it and add this feature, however currently the chances of this getting implemented anytime soon are very close to 0.

czaks commented 11 years ago

Actually, I conceived this idea from the moment I came across this software. This is not a high priority thing, nevertheless it can help in building communities very much. I may work on this feature, but not in the close future, anyway there are some ways to implement and I'm not really sure which way to take. If someone is interested in it, we can work on it together.

  1. Act as one client: a very flexible solution, would work on every network, even without IRCOp permissions. Downside is that we won't be able to implement private messages etc.
  2. Act as many clients: every synchtube user is another IRC client, would work on every network, but would need to raise client limit on IRC — an IRCOp priviledge would be needed.
  3. Act as a server link — would require IRCOp permissions and s2s is differing from one ircd software to another, so we may just prepare it for just one ircd, namely inspircd, because we use this package.
  4. Act as an IRC server: sorta easy to implement, would be very tightly coupled with CyTube, and if someone wants to link it with his own IRC network, he may use Janus Internetwork channel linker (this used to be sorta unstable, but haven't checked it out recently). No need to create a network when someone wants to use it.
calzoneman commented 11 years ago

(1) can be easily done by partially implementing the client protocol for CyTube on an IRC bot. Looking at https://github.com/calzoneman/sync/blob/master/www/assets/js/callbacks.js and the relevant function calls from https://github.com/calzoneman/sync/blob/master/www/assets/js/functions.js (and actually, this reminds me I should probably break out the callbacks into their own functions) should give you an idea of the data format, and I'd be glad to answer questions (I was actually considering writing up the protocol specification for my own benefit as well).

This should be doable with minimal work, depending on which language you use. I was able to make a Python IRC<->Socket.IO bridge fairly easily for a different software.

EDIT: Speaking of PMs, I might add that to the CyTube chat... I've been a bit busy recently and my TODO list is ever growing, but I'll get around to doing things.

calzoneman commented 11 years ago

Closing this for now. If you have questions about the client protocol drop me a line.