Powered By:
Clearspace
BlatherSource: Because development won't keep quiet

Daniel Henninger's BlatherBlog

2 Posts tagged with the irc tag
25

IRC and XMPP

Posted by Daniel Henninger Sep 15, 2007

The other day I was thinking about some of the folk who had requested IRC support in the IM Gateway plugin for Openfire in the past, and how they were trying to migrate from a corporate IRC server to an XMPP server.  This is apparently no small task to encourage such a change and it got me pondering what could be done to make that transition smoother.  In my work with IRC support and with the Martyr IRC library, I've gained a strong knowledge of how IRC works and it occurred to me that it might not be that hard to provide an IRC server that sits on top of an XMPP server and just "translates" so to speak.  So instead of taking your XMPP server and having folk log in and connect to a remote IRC server, you could replace your IRC server entirely with this XMPP server that acted as both XMPP -and- IRC.  At that point you might even be able to lure some people over by saying "You know, if you simply went into pidgin and used XMPP instead of IRC for the corporate server, you'd gain a lot more cool features".

 

Would XMPP be hard to translate into IRC?  Without having written any code for it, my best gut feeling is no, not really.  You'd clearly have to sacrifice some functionality, but I think you could secretly tie the two together pretty well.  Log in with an IRC username and password, you're actually logging into an XMPP account on the backend with the same username and password.  MUC <-> IRC chatroom.  IRC WHOIS <-> XMPP vCard.  IRC ISON <-> XMPP presence check (probe?).  Lots of aspects map fairly well I think.

 

But I'm curious about interest.  I mean this seems fun and I might want to whip up a proof of concept, but what if no one wants it period?  I'd be wasting my time.  =)  So anyone listening . . . I'd love to hear your thoughts.

25 Comments 0 References Permalink
8

IRC Transports?

Posted by Daniel Henninger Nov 24, 2005

Ok, so am I the only one who would like to be able to be connected to an IRC server but not actually be in a channel?  Maybe I'm just not looking in the right places, but to date, I have yet to find a transport that offers this functionality.  Basically, all I'd like to do is to be able to connect to, say, irc.freenode.net, and sit there.  I don't really expect a transport to offer the functionality to actually auth using freenode's login bot or whatever it's called, but I'd at least like the opportunity to sit there.  Is there something wrong with that?  Gaim lets me do it.  I'm wondering if I should whip together a quick IRC transport using Twisted.  All of the stuff I need is right there.  I don't have to use ninja magic discovering how a 'closed' protocol works to do it.  I doubt it would take that long.  It would probably be fun.

 

But that would be yet another transport on my plate.  I definitely would not do that until I get PyAIM and PyICQ caught up a tad, if nothing else with each other, but this is definite functionality I want.  ejabbber's built in transport isn't particularly great.  jjigw seems good but doesn't appear to have this functionality yet.  Also, for some reason, I ran into a lot of problems getting it working in the past.  Something about perl modules I couldn't locate on CPAN or something.  shrug  I might be confusing it with something else though.  Either way, I'm to understand it does not support the functionality I want.  Though, I was told that the developers are quite helpful people and might even be interested in it if I talked with them.  There's also an irc transport inside xmpppy.  I haven't figured out what it supports really.  It went from "I'll try it right now" to "crap, I'll do it some other time" when I tried to run it and found it required some other "irclib" piece.  We shall see.

 

I know Twisted has good irc support in it.  It appears to be actively worked on too.

 

Bah...  decisions, decisions...

 

Well Happy Thanksgiving to anyone who celebrates and is reading.  Happy November 24th to those who don't.  =)  I have a goal of getting PyAIM released this weekend.  We shall see how time and that goal work out. 

8 Comments 0 References Permalink