sub on_public {
my( $kernel, $who, $msg, $dest ) = @_[ KERNEL, ARG0, ARG2, ARG1 ];
+ my $bridged = 0;
my $self = $_[HEAP]->{ "self" };
my $nick = $self->{ "nick" };
$who = (split( /!/, $who, 2 ))[0];
$msg =~ s/^$nick[ ,:]+/~/i;
if( $who eq "a" || $who eq "ae" ) {
+ $bridged = 1;
# Strip source tag
$msg =~ s/^\[[^\]]*\] +//g;
$msg =~ s/(\x3)[0-9]{0,2}//g;
$msg =~ s/\x02//g;
$cmd = ( split( / /, $msg, 2 ) )[0];
- $kernel->post( "core", "seen", $who, $msg, $self->{ "ssid" }, $who, "send_private" );
+ if( $bridged ) {
+ $kernel->post( "core", "seen", $who, $msg, $self->{ "ssid" }, $dest->[0], "send_public_to" );
+ } else {
+ $kernel->post( "core", "seen", $who, $msg, $self->{ "ssid" }, $who, "send_private" );
+ }
if( $cmd =~ /^[~].*/ ) {
$kernel->post( "core", "cmd", $who, $msg, $self->{ "ssid" }, $dest->[0], "send_public_to" );
} elsif( $msg =~ m!(http://[^[:space:]]+)!i && $self->{ "trap" } == 1 && length($1) >= 30 ) {