]> git.99rst.org Git - irssi-scripts.irssi.org.git/commitdiff
back to using 'event privmsg' but now can hide multiple spoilers in one message
authorSandra Snan <redacted>
Mon, 10 Aug 2020 09:15:32 +0000 (11:15 +0200)
committerSandra Snan <redacted>
Mon, 10 Aug 2020 09:15:32 +0000 (11:15 +0200)
scripts/discord_unbridge.pl

index 77d1bf72d2446b52dc701a202ecad5113c38a396..d1ca87e387d769667683e30beabe38aff234a0ef 100644 (file)
@@ -2,7 +2,7 @@ use strict;
 use warnings;
 use Irssi;
 
-our $VERSION = '1.3';
+our $VERSION = '1.5';
 our %IRSSI = (
     authors     => 'Idiomdrottning',
     contact     => 'sandra.snan@idiomdrottning.org',
@@ -29,11 +29,17 @@ our %IRSSI = (
 
 my $bridgename = "Yoda50";
 
-sub bot_nick_change {
-    my($server, $message) = @_;
-    $message =~ s/:$bridgename!~[^ ]* PRIVMSG ([&#][^ ]+) :<([^>]+)> (.*)/:$2!~Yoda50\@ToscheStation PRIVMSG $1 :$3/;
-    $message =~ s/\|\|([^|][^|]*)\|\|/\ 31,1$1\ 3/;
-    Irssi::signal_continue($server, $message);
+sub msg_bot_clean {
+    my ($server, $data, $nick, $nick_and_address) = @_;
+    my ($target, $message) = split /:/, $data, 2;
+    my ($name, $text) = $message =~ /< *([^>]*)> (.*)/s;
+    if ($text && $nick eq $bridgename) {
+        $nick = $name;
+        $message = $text;
+    }
+    $message =~ s/\|\|([^|]+)\|\|/\ 31,1$1\ 3/g;
+    my $data = "$target:$message";
+    Irssi::signal_continue($server, $data, $nick, $nick_and_address);
 }
 
-Irssi::signal_add('server incoming', 'bot_nick_change');
+Irssi::signal_add('event privmsg', 'msg_bot_clean');
git clone https://git.99rst.org/PROJECT