Changeset 8ba9313 for perl/modules/IRC/lib/BarnOwl/Module/IRC.pm
- Timestamp:
- Apr 3, 2011, 3:06:00 PM (13 years ago)
- Branches:
- master, release-1.10, release-1.8, release-1.9
- Children:
- 38d50c2
- Parents:
- fb96152
- git-author:
- Nelson Elhage <nelhage@nelhage.com> (02/24/11 22:14:37)
- git-committer:
- Nelson Elhage <nelhage@mit.edu> (04/03/11 15:06:00)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
perl/modules/IRC/lib/BarnOwl/Module/IRC.pm
r9620c8d r8ba9313 20 20 use BarnOwl::Module::IRC::Completion; 21 21 22 use Net::IRC;22 use AnyEvent::IRC; 23 23 use Getopt::Long; 24 24 use Encode; … … 70 70 71 71 register_commands(); 72 register_handlers();73 72 BarnOwl::filter(qw{irc type ^IRC$ or ( type ^admin$ and adminheader ^IRC$ )}); 74 73 } … … 76 75 sub shutdown { 77 76 for my $conn (values %ircnets) { 78 $conn->conn->disconnect( );77 $conn->conn->disconnect('Quitting'); 79 78 } 80 79 } … … 105 104 106 105 return $list; 107 }108 109 #sub mainloop_hook {110 # return unless defined $irc;111 # eval {112 # $irc->do_one_loop();113 # };114 # return;115 #}116 117 sub OwlProcess {118 return unless defined $irc;119 eval {120 $irc->do_one_loop();121 };122 return;123 }124 125 126 sub register_handlers {127 if(!$irc) {128 $irc = Net::IRC->new;129 $irc->timeout(0);130 }131 106 } 132 107 … … 406 381 } 407 382 408 my $conn = BarnOwl::Module::IRC::Connection->new($irc, $alias, 409 Nick => $nick, 410 Server => $host, 411 Port => $port, 412 Username => $username, 413 Ircname => $ircname, 414 Port => $port, 415 Password => $password, 416 SSL => $ssl 417 ); 418 419 if ($conn->conn->connected) { 420 $conn->connected("Connected to $alias as $nick"); 421 } else { 422 die("IRC::Connection->connect failed: $!"); 423 } 424 383 my $conn = BarnOwl::Module::IRC::Connection->new($alias, $host, $port, { 384 nick => $nick, 385 user => $username, 386 real => $ircname, 387 password => $password, 388 SSL => $ssl, 389 timeout => sub {0} 390 }); 425 391 return; 426 392 } … … 429 395 my $cmd = shift; 430 396 my $conn = shift; 431 if ($conn->conn-> connected) {432 $conn->conn->disconnect ;397 if ($conn->conn->is_connected) { 398 $conn->conn->disconnect("Goodbye!"); 433 399 } elsif ($reconnect{$conn->alias}) { 434 400 BarnOwl::admin_message('IRC', … … 463 429 for my $body (@msgs) { 464 430 if ($body =~ /^\/me (.*)/) { 465 $conn-> conn->me($to, Encode::encode('utf-8', $1));431 $conn->me($to, Encode::encode('utf-8', $1)); 466 432 $body = '* '.$conn->nick.' '.$1; 467 433 } else { 468 $conn->conn-> privmsg($to, Encode::encode('utf-8', $body));434 $conn->conn->send_msg('privmsg', $to, Encode::encode('utf-8', $body)); 469 435 } 470 436 my $msg = BarnOwl::Message->new( … … 491 457 my $target = shift; 492 458 $target ||= shift; 493 $conn->conn-> mode($target, @_);459 $conn->conn->send_msg(mode => $target, @_); 494 460 return; 495 461 } … … 501 467 $channels{$chan} ||= []; 502 468 push @{$channels{$chan}}, $conn; 503 $conn->conn-> join($chan, @_);469 $conn->conn->send_msg(join => $chan, @_); 504 470 return; 505 471 } … … 510 476 my $chan = shift; 511 477 $channels{$chan} = [grep {$_ ne $conn} @{$channels{$chan} || []}]; 512 $conn->conn-> part($chan);478 $conn->conn->send_msg(part => $chan); 513 479 return; 514 480 } … … 518 484 my $conn = shift; 519 485 my $nick = shift or die("Usage: $cmd <new nick>\n"); 520 $conn->conn-> nick($nick);486 $conn->conn->send_msg(nick => $nick); 521 487 return; 522 488 } … … 527 493 my $chan = shift; 528 494 $conn->names_tmp([]); 529 $conn->conn-> names($chan);495 $conn->conn->send_msg(names => $chan); 530 496 return; 531 497 } … … 535 501 my $conn = shift; 536 502 my $who = shift || die("Usage: $cmd <user>\n"); 537 $conn->conn-> whois($who);503 $conn->conn->send_msg(whois => $who); 538 504 return; 539 505 } … … 542 508 my $cmd = shift; 543 509 my $conn = shift; 544 $conn->conn-> motd;510 $conn->conn->send_msg('motd'); 545 511 return; 546 512 } … … 560 526 my $conn = shift; 561 527 my $who = shift || die("Usage: $cmd <user>\n"); 562 BarnOwl::error("WHO $cmd $conn $who"); 563 $conn->conn->who($who); 528 $conn->conn->send_msg(who => $who); 564 529 return; 565 530 } … … 569 534 my $conn = shift; 570 535 my $type = shift || die("Usage: $cmd <chiklmouy> [server] \n"); 571 $conn->conn->s tats($type, @_);536 $conn->conn->send_msg(stats => $type, @_); 572 537 return; 573 538 } … … 577 542 my $conn = shift; 578 543 my $chan = shift; 579 $conn->conn-> topic($chan, @_ ? join(" ", @_) : undef);544 $conn->conn->send_msg(topic => $chan, @_ ? join(" ", @_) : undef); 580 545 return; 581 546 } … … 584 549 my $cmd = shift; 585 550 my $conn = shift; 586 $conn->conn->s l(join(" ", @_));551 $conn->conn->send_msg(@_); 587 552 return; 588 553 }
Note: See TracChangeset
for help on using the changeset viewer.