Tidy incomming redis message

This commit is contained in:
eleksir
2022-04-22 15:42:23 +03:00
parent 7b32737b33
commit 6eeb8e7b89

View File

@@ -145,39 +145,54 @@ my $parse_message = sub {
my $phrase = $m->{message}; my $phrase = $m->{message};
my $reply; my $reply;
# Если $m->{misc}->{answer} не существует, то проставим его как 1, предполагаем, что по-умолчанию ответ от нас if (defined $answer->{misc}) {
# всё-таки ожидают. Если что - уточним ниже. unless (defined $answer->{misc}->{answer}) {
if (defined $m->{misc}) { $answer->{misc}->{answer} = 1;
unless (defined $m->{misc}->{fwd_cnt}) {
$m->{misc}->{fwd_cnt} = 1;
} else {
if ($m->{misc}->{fwd_cnt} > $fwd_cnt) {
$log->error ('[ERROR] Forward loop detected, discarding message.');
$log->debug (Dumper $m);
return;
} else {
$m->{misc}->{fwd_cnt}++;
} }
}
unless (defined $m->{misc}->{answer}) { unless (defined $answer->{misc}->{bot_nick}) {
$m->{misc}->{answer} = 1; $answer->{misc}->{bot_nick} = '';
} }
unless (defined $m->{misc}->{csign}) { unless (defined $answer->{misc}->{csign}) {
$m->{misc}->{csign} = $c->{csign}; $answer->{misc}->{csign} = $c->{csign};
} }
unless (defined $m->{misc}->{bot_nick}) { unless (defined $answer->{misc}->{fwd_cnt}) {
$m->{misc}->{bot_nick} = ''; $answer->{misc}->{fwd_cnt} = 1;
} } else {
if ($answer->{misc}->{fwd_cnt} > $fwd_cnt) {
$log->error ('[ERROR] Forward loop detected, discarding message.');
$log->debug (Dumper $m);
return;
} else {
$answer->{misc}->{fwd_cnt}++;
}
}
unless (defined $answer->{misc}->{good_morning}) {
$answer->{misc}->{good_morning} = 0;
}
unless (defined $answer->{misc}->{msg_format}) {
$answer->{misc}->{msg_format} = 0;
}
unless (defined $answer->{misc}->{username}) {
$answer->{misc}->{username} = 'user';
}
} else { } else {
$m->{misc}->{answer} = 1; $answer->{misc}->{answer} = 1;
$m->{misc}->{csign} = $c->{csign}; $answer->{misc}->{bot_nick} = '';
$m->{misc}->{bot_nick} = ''; $answer->{misc}->{csign} = $c->{csign};
$answer->{misc}->{fwd_cnt} = 1;
$answer->{misc}->{good_morning} = 0;
$answer->{misc}->{msg_format} = 0;
$answer->{misc}->{username} = 'user';
} }
my $csign = $m->{misc}->{csign}; my $csign = $answer->{misc}->{csign};
$answer->{message} = '';
if ($m->{misc}->{bot_nick} ne '') { if ($m->{misc}->{bot_nick} ne '') {
# Если нам сообщили ник бота, попробуем вымарать его из оригинального текста сообщения, в большинстве случаев он # Если нам сообщили ник бота, попробуем вымарать его из оригинального текста сообщения, в большинстве случаев он