Use cloned version of incomming redis message as template for outgoing message

This commit is contained in:
eleksir
2022-04-22 15:01:20 +03:00
parent 8952828886
commit 7b32737b33
2 changed files with 19 additions and 29 deletions

View File

@@ -1,5 +1,6 @@
## no critic
requires 'Carp', '==1.50';
requires 'Clone', '==0.45';
requires 'Cwd', '==3.75';
requires 'Cwd::utf8', '==0.011';
requires 'Data::Dumper', '==2.183';

View File

@@ -17,6 +17,7 @@ use open qw (:std :utf8);
use English qw ( -no_match_vars );
# Модули для работы приложения
use Clone qw (clone);
use Data::Dumper qw (Dumper);
use Digest::SHA qw (sha1_base64);
use Encode qw (encode_utf8);
@@ -133,7 +134,11 @@ sub brains (@) {
# Основной парсер
my $parse_message = sub {
my $self = shift;
my $m = shift;
my $m = shift;
my $answer = clone ($m);
$answer->{from} = 'craniac';
my $send_to = $m->{plugin};
my $chatid = $m->{chatid};
my $userid = $m->{userid};
@@ -250,14 +255,10 @@ my $parse_message = sub {
# общения - публичного или приватного.
if (defined $reply) {
if ($m->{misc}->{answer}) {
$answer->{message} = $reply;
$self->json ($send_to)->notify (
$send_to => {
from => 'craniac',
userid => "$userid",
chatid => "$chatid",
plugin => $m->{plugin},
message => $reply,
},
$send_to => = $answer,
);
}
} else {
@@ -295,14 +296,10 @@ my $parse_message = sub {
# TODO: дописать запрос в webapp, для easter egg-ов, либо делать это на уровне aleesa-misc
if (defined ($reply) && $m->{misc}->{answer}) {
$answer->{message} = $reply;
$self->json ($send_to)->notify (
$send_to => {
from => 'craniac',
userid => "$userid",
chatid => "$chatid",
plugin => $m->{plugin},
message => $reply,
},
$send_to => $answer,
);
return;
@@ -320,14 +317,10 @@ my $parse_message = sub {
}
if (defined ($reply) && $m->{misc}->{answer}) {
$answer->{message} = $reply;
$self->json ($send_to)->notify (
$send_to => {
from => 'craniac',
userid => "$userid",
chatid => "$chatid",
plugin => $m->{plugin},
message => $reply,
},
$send_to => $answer,
);
return;
@@ -363,14 +356,10 @@ my $parse_message = sub {
}
}
$answer->{message} = $reply;
$self->json ($send_to)->notify (
$send_to => {
from => 'craniac',
userid => "$userid",
chatid => "$chatid",
plugin => $m->{plugin},
message => $reply,
},
$send_to => $answer,
);
}
}