alexyoung / ircd.js

A Node ircd (IRC daemon)
GNU General Public License v3.0
528 stars 90 forks source link

Would like to use ircdjs as a library; thoughts? #85

Open ghost opened 9 years ago

ghost commented 9 years ago

Hi there! I just stepped up as a collaborator on irc.js and we are looking for an easy way to test that library. "Hey, let's look for an ircd written in node!" I thought, and I found ircdjs. Unfortunately, it doesn't appear that it was written with library usage in mind--there are no callbacks, there's no support for interacting with clients programmatically. I would like to extend ircdjs to support these use cases so we can test our code. If you'll accept pull reqs for this, I'm fine writing patches that do what I need. Thoughts?

sespindola commented 9 years ago

Hi, The only way that I can think of testing node-irc with ircd.js is by using ircd.js as a server to help test new node-irc functionality.
ircd.js was created as a (mostly) standards compliant ircd, so it can't be used programatically.

Can you give me an example of what are you trying to accomplish?

ghost commented 9 years ago

On Jan 7, 2015, at 19:06, Sebastian A. Espindola notifications@github.com wrote:

Hi, The only way that I can think of testing node-irc with ircd.js is by using ircd.js as a server to help test new node-irc functionality.

That is what I had in mind, yes.

ircd.js was created as a (mostly) standards compliant ircd, so it can't be used programatically.

:(

Can you give me an example of what are you trying to accomplish?

I’d like to, for example, have a callback for when the client connects or, really, does anything, to verify that what I’m telling node-irc to do actually happens. But it sounds like this isn’t something that you’d be interested in supporting, unless I’m misreading?

sonnyp commented 9 years ago

I'm interested in using ircd as a library. I know nothing about IRC, @sespindola why is a standard compliant ircd incompatible with being used programmatically?

ghost commented 9 years ago

@sonnyp I don't think the point was that a standards compliant ircd is incompatible with programmatic use, but rather that ircd.js wasn't designed that way and thus doesn't support it.

sonnyp commented 9 years ago

@apeiron got it, thanks

dfyx commented 9 years ago

Using ircd as a library would be pretty cool for adding IRC support for existing chat systems such as let's chat. Some websites like Ustream and I think Twitch allow IRC clients to access their chat and it's pretty useful.

Another usecase are custom server extensions in similar to ChanServ.

node-xmpp-server is a pretty similar project that supports being used as a library maybe you could adapt some of their project structure.