4 @EXPORT_OK = qw(_bcb _bcs);
8 delete($INC{'BettIrssiEvent.pm'});
15 my ($cmdline, $server, $witem) = @_;
18 $data = BettIrssiEvent->new(
32 my ($server, $msg, $nick, $userhost, $channel) = @_;
36 # Change all attributes into Irssi classes
37 $evwitem = $server->window_item_find($channel);
40 foreach ($evwitem->nicks()) {
41 if ($_->{'nick'} eq $nick) {
47 $nick = $channel->{'ownnick'};
50 $data = BettIrssiEvent->new(
65 return ($cmd, sub { _cmd_callback($callback, @_) });
69 my $signal = lc(shift);
72 if ($signal eq 'message public') {
73 # messages to a channel by someone not us.
74 return ($signal, sub { _sig_callback($callback, $signal, @_) });
76 } elsif ($signal eq 'message own_public') {
77 # messages to a channel by us.
78 return ($signal, sub { _sig_callback($callback, $signal, $_[0], $_[1], undef, undef, $_[2]) });
80 } elsif ($signal eq 'message private') {
81 # messages in a query by someone not us
82 return ($signal, sub { _sig_callback($callback, $signal, $_[0], $_[1], $_[2], $_[3], $_[2]) });
84 } elsif ($signal eq 'message own_private') {
85 # messages in a query by us
86 return ($signal, sub { _sig_callback($callback, $signal, $_[0], $_[1], undef, undef, $_[2]) });
88 } elsif ($signal eq 'message irc action') {
89 return ($signal, sub { _sig_callback($callback, $signal, @_) });
91 } elsif ($signal eq 'message irc own_action') {
92 return ($signal, sub { _sig_callback($callback, $signal, $_[0], $_[1], undef, undef, $_[2]) });
95 Irssi::print("%mBettIrssi:%n %RUnknown signal%n %y$signal%n%R. Please bug the BettIrssi author about this.");
96 return ($signal, sub { Irssi::print("%mBettIrssi:%n %RSignal not handled") });