[1052] in BarnOwl Developers
[D-O-H] r1034 - trunk/owl/perl/modules/IRC/lib/BarnOwl/Module
daemon@ATHENA.MIT.EDU (geofft@MIT.EDU)
Thu Oct 29 18:12:31 2009
Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
X-Original-To: nelhage@nelhage.com
Date: Mon, 5 May 2008 14:56:52 -0400 (EDT)
To: dirty-owl-hackers@mit.edu
From: geofft@MIT.EDU
Reply-to: dirty-owl-hackers@MIT.EDU
Author: geofft
Date: 2008-05-05 14:56:52 -0400 (Mon, 05 May 2008)
New Revision: 1034
Modified:
trunk/owl/perl/modules/IRC/lib/BarnOwl/Module/IRC.pm
Log:
IRC: /list, /who, and /stats commands
Modified: trunk/owl/perl/modules/IRC/lib/BarnOwl/Module/IRC.pm
===================================================================
--- trunk/owl/perl/modules/IRC/lib/BarnOwl/Module/IRC.pm 2008-05-03 16:52:32 UTC (rev 1033)
+++ trunk/owl/perl/modules/IRC/lib/BarnOwl/Module/IRC.pm 2008-05-05 18:56:52 UTC (rev 1034)
@@ -113,6 +113,9 @@
BarnOwl::new_command('irc-names' => \&cmd_names);
BarnOwl::new_command('irc-whois' => \&cmd_whois);
BarnOwl::new_command('irc-motd' => \&cmd_motd);
+ BarnOwl::new_command('irc-list' => \&cmd_list);
+ BarnOwl::new_command('irc-who' => \&cmd_who);
+ BarnOwl::new_command('irc-stats' => \&cmd_stats);
}
$BarnOwl::Hooks::startup->add(\&startup);
@@ -145,14 +148,14 @@
);
$host = shift @ARGV or die("Usage: $cmd HOST\n");
if(!$alias) {
- if($host =~ /^(?:irc[.])?(\w+)[.]\w+$/) {
+ if($host =~ /^(?:irc[.])?([\w-]+)[.]\w+$/) {
$alias = $1;
} else {
$alias = $host;
}
}
- $port = shift @ARGV || 6667;
$ssl ||= 0;
+ $port = shift @ARGV || ($ssl ? 6697 : 6667);
}
if(exists $ircnets{$alias}) {
@@ -274,6 +277,29 @@
$conn->conn->motd;
}
+sub cmd_list {
+ my $cmd = shift;
+ my $message = BarnOwl::Style::boldify('Current IRC networks:') . "\n";
+ while (my ($alias, $conn) = each %ircnets) {
+ $message .= ' ' . $alias . ' => ' . $conn->nick . '@' . $conn->server . "\n";
+ }
+ BarnOwl::popless_ztext($message);
+}
+
+sub cmd_who {
+ my $cmd = shift;
+ my $conn = get_connection(\@_);
+ my $who = shift || die("Usage: $cmd <user>\n");
+ $conn->conn->who($who);
+}
+
+sub cmd_stats {
+ my $cmd = shift;
+ my $conn = get_connection(\@_);
+ my $type = shift || die("Usage: $cmd <chiklmouy> [server] \n");
+ $conn->conn->stats($type, @_);
+}
+
################################################################################
########################### Utilities/Helpers ##################################
################################################################################