On Wed, Dec 04, 2002 at 12:28:30PM +0100, Marcus Rueckert wrote:
> On 2002-12-04 05:53:34 +0000, Etan Reisner wrote:
> > > I'm looking into MIT Zephyr support into irssi, by writing a plugin
> > > module, since my goal is to reduce the number of instant messaging
> > > clients that I have to run.
> >
> > I'm not sure if you're intentionally looking for a console method but I'd
> > suggest looking into gaim (http://gaim.sourceforge.net/) for a
> > multi-protocol IM client. You might also want to look into bitlbee
> > (http://www.lintux.cx/bitlbee.html), though I don't know anything about
> > that as I haven't used it.
No, I definitely want a console based program. Part of the problem is
that I hate the UI of all of the X based clients I've seen to date
(and this includes gaim). IRSSI is the first IM-style client I've
found whose interface hasn't sucked.
Also, I want to be able to run a single instance of a console-based
messaging client under screen, and then attach to it from multiple
locations (depending on whether I'm upstairs at my development
station, or downstairs at my laptop, etc.)
Your mention of Gaim brings up an interesting point, though. It would
be really cool we could reuse IM-protocol drivers from other clients;
I've often wondered why there hasn't been a standard ABI/API defined
so that multiple clients could dynamically load protocol modules.
Gaim does support an impressive number of protocols that I'm
interested in, including jabber. I wonder how hard it will be to write
a generic irssi plugin which interfaces with an gaim protocol module.
Hmm....
> but i think it shouldnt be this hard to add udp based protocols to
> irssi. see the icq plugin or irssiq.pl. both implement icq protocol
> which is mainly udp based. maybe the plugin source is a good starting
> point or is there a perl module for MIT Zephyr?
Errr... I started my work by passing it off the icq plugin, in the
absence of a "how to write your own protocol module" documentation, or
an example framework module which only had the irssi glue and had a
"drop in code to connext here". (Wishlist: having either would make
it a lot easier for developers to add support for new protocols).
However, having looked at the irssi-icq sources, it appears to have
implemented a TCP-based protocol, unless I'm completely misreading the
code. (There's not a single send/sendto/recv/recvfrom in the entire
source; it's calling net_connect(), and net_sendbuffer_send().)
- Ted