From: Sandra Snan Date: Mon, 10 Aug 2020 09:15:32 +0000 (+0200) Subject: back to using 'event privmsg' but now can hide multiple spoilers in one message X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=b749a47a4dd06077a9e5d45782b379ef44030b0d;p=irssi-scripts.irssi.org.git back to using 'event privmsg' but now can hide multiple spoilers in one message --- diff --git a/scripts/discord_unbridge.pl b/scripts/discord_unbridge.pl index 77d1bf7..d1ca87e 100644 --- a/scripts/discord_unbridge.pl +++ b/scripts/discord_unbridge.pl @@ -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/\|\|([^|][^|]*)\|\|/1,1$1/; - 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/\|\|([^|]+)\|\|/1,1$1/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');