Allow users across a bridge to receive memos, albeit over public chat.
authorpdbogen <pdbogen@088b83a4-0077-4247-935c-42ec02c2848b>
Mon, 7 Apr 2008 19:18:46 +0000 (19:18 +0000)
committerpdbogen <pdbogen@088b83a4-0077-4247-935c-42ec02c2848b>
Mon, 7 Apr 2008 19:18:46 +0000 (19:18 +0000)
git-svn-id: https://www.cernu.us/~pdbogen/svn/destult2@44 088b83a4-0077-4247-935c-42ec02c2848b

irc.pl

diff --git a/irc.pl b/irc.pl
index 53fb058..b8d786d 100644 (file)
--- 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 ) {