Simon Wistow simon at
Thu Jan 12 14:24:44 GMT 2006

It would useful to me to be able to have 1 program that could 
communicate to people on multiple IM networks with the minimum of fuss 
to the user.

At first I wondered if it might be possible using Jabber and its network
proxies but to be honest I don't know enough about that. 
Otherwise there's Net::ICQ, Net::Msmgr, Net::YMSG and, confusingly,          
Net::YahooMessenger all of which have a similar APIs. It shouldn't be        
too hard to write a generic Net::AnyIM wrapper that dispatches to the        
correct plugin based on the recipient.

I imagine something like this

	use Net::AnyIM;

	my $im = Net::AnyIM->new();

 	$im->login("simon", "msn","msnpassword"); 
	$im->login("muttley at", "jabber", "jabberpassword");
	# etc etc

	$im->send("myfriend", "msn", "Hello!");
	$im->send("myotherfriend at", "jabber", "Hello too!");

	while (my $reply = $im->receive()) {
		print "Reply from ".$reply->sender;
		my $message = $reply->message;


		# or equivalently
		$im->send($reply->sender, $reply->network, uc($message));

It would be nice to do dispatching to plugin based on the hostname part
of a username but the problem is that you can run a jabber server on any

Am I duplicating effort? Might this be useful for anyone else? Would it 
be better as a POE component?


More information about the mailing list