From: pdbogen Date: Mon, 7 Apr 2008 19:18:46 +0000 (+0000) Subject: Allow users across a bridge to receive memos, albeit over public chat. X-Git-Url: http://git.mmlx.us/?a=commitdiff_plain;h=c2c4b7229169bd9dfb364e7fd2c6b40a233216da;p=destult.git Allow users across a bridge to receive memos, albeit over public chat. git-svn-id: https://www.cernu.us/~pdbogen/svn/destult2@44 088b83a4-0077-4247-935c-42ec02c2848b --- diff --git a/irc.pl b/irc.pl index 53fb058..b8d786d 100644 --- a/irc.pl +++ b/irc.pl @@ -169,11 +169,13 @@ sub on_connect { 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; @@ -185,7 +187,11 @@ sub on_public { $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 ) {