- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
perl/modules/IRC/lib/BarnOwl/Module/IRC/Connection.pm
r0e52069 rb38b0b2 15 15 =cut 16 16 17 use base qw(Net::IRC::Connection Class::Accessor Exporter);17 use base qw(Net::IRC::Connection Class::Accessor); 18 18 __PACKAGE__->mk_accessors(qw(alias channels)); 19 our @EXPORT_OK = qw(&is_private);20 19 21 20 use BarnOwl; … … 31 30 bless($self, $class); 32 31 33 $self->add_global_handler(376 => sub { goto &on_connect }); 34 $self->add_global_handler(['msg', 'notice', 'public', 'caction'], 35 sub { goto &on_msg }); 36 $self->add_global_handler(cping => sub { goto &on_ping }); 32 $self->add_global_handler(endofmotd => sub { goto &on_connect }); 33 $self->add_global_handler(msg => sub { goto &on_msg }); 34 $self->add_global_handler(notice => sub { goto &on_msg }); 37 35 $self->add_default_handler(sub { goto &on_event; }); 38 36 … … 51 49 sub on_msg { 52 50 my ($self, $evt) = @_; 53 my ($recipient) = $evt->to; 54 my $body = strip_irc_formatting([$evt->args]->[0]); 55 $body = BarnOwl::Style::boldify($evt->nick.' '.$body) if $evt->type eq 'caction'; 51 my $replycmd = "irc-msg " . $evt->nick; 56 52 my $msg = BarnOwl::Message->new( 57 53 type => 'IRC', … … 59 55 server => $self->server, 60 56 network => $self->alias, 61 recipient => $ recipient,62 body => $body,57 recipient => $self->nick, 58 body => strip_irc_formatting([$evt->args]->[0]), 63 59 sender => $evt->nick, 64 60 hostname => $evt->host, 65 61 from => $evt->from, 66 $evt->type eq 'notice' ? 67 (notice => 'true') : (), 68 is_private($recipient) ? 69 (isprivate => 'true') : (channel => $recipient), 70 replycmd => 'irc-msg ' . 71 (is_private($recipient) ? $evt->nick : $recipient), 72 replysendercmd => 'irc-msg ' . $evt->nick, 62 notice => $evt->type eq 'notice' ? 'true' : '', 63 isprivate => 'true', 64 replycmd => $replycmd, 65 replysendercmd => $replycmd 73 66 ); 74 67 BarnOwl::queue_message($msg); 75 }76 77 sub on_ping {78 my ($self, $evt) = @_;79 $self->ctcp_reply($evt->nick, join (' ', ($evt->args)));80 }81 82 sub on_event {83 my ($self, $evt) = @_;84 BarnOwl::admin_message("IRC",85 "Unhandled IRC event of type " . $evt->type . ":\n"86 . strip_irc_formatting(join("\n", $evt->args)))87 if BarnOwl::getvar('irc:spew') eq 'on';88 68 } 89 69 … … 103 83 } 104 84 105 # Determines if the given message recipient is a username, as opposed to106 # a channel that starts with # or &.107 sub is_private {108 return shift !~ /^[\#\&]/;109 }110 85 111 86 1;
Note: See TracChangeset
for help on using the changeset viewer.