Более корректно работаем с substr() и задаём misc->answer явно
This commit is contained in:
@@ -40,9 +40,11 @@ sub Command {
|
||||
|
||||
my $reply;
|
||||
my ($userid, $username, $fullname, $highlight, $visavi) = Highlight ($msg);
|
||||
|
||||
my $rmsg = clone ($redismsg);
|
||||
$rmsg->{userid} = 0 + $userid;
|
||||
$rmsg->{chatid} = 0 + $chatid;
|
||||
$rmsg->{misc}->{answer} = 1;
|
||||
|
||||
if ($chatid >= 0) {
|
||||
$rmsg->{mode} = 'private';
|
||||
@@ -50,7 +52,7 @@ sub Command {
|
||||
$rmsg->{mode} = 'public';
|
||||
}
|
||||
|
||||
my $cmd = substr $text, 1;
|
||||
my $cmd = substr $text, length ($csign);
|
||||
|
||||
# Проверка #1 на админское разрешение некоторых команд
|
||||
my @cmds = qw (tits boobs tities boobies сиси сисечки);
|
||||
|
||||
@@ -45,8 +45,8 @@ sub __cron {
|
||||
$rmsg->{mode} = 'public';
|
||||
# Press 'F' to pay respect
|
||||
$rmsg->{message} = sprintf '%sf', $c->{telegrambot}->{csign};
|
||||
$rmsg->{misc}->{good_morning} = 1;
|
||||
$rmsg->{misc}->{msg_format} = 1;
|
||||
$rmsg->{misc}->{answer} = 1;
|
||||
|
||||
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime (time);
|
||||
|
||||
@@ -232,7 +232,7 @@ sub __on_msg {
|
||||
# Ответ по-умолчанию
|
||||
my $reply = 'Давайте ещё пообщаемся, а то я ещё не научилась от вас плохому.';
|
||||
|
||||
if (substr ($text, 0, 1) eq $csign) {
|
||||
if (substr ($text, 0, length ($csign)) eq $csign) {
|
||||
# Если текст похож на команду, усылаем его в BotLib.pm
|
||||
$reply = Command ($self, $msg, $text, $userid);
|
||||
} else {
|
||||
@@ -241,7 +241,10 @@ sub __on_msg {
|
||||
$rmsg->{message} = $text;
|
||||
$rmsg->{userid} = 0 + $userid;
|
||||
$rmsg->{chatid} = 0 + $userid;
|
||||
$rmsg->{misc}->{answer} = 1;
|
||||
|
||||
my $pubsub = $main::REDIS->pubsub;
|
||||
|
||||
$pubsub->json ($c->{'redis_router_channel'})->notify (
|
||||
$c->{'redis_router_channel'} => $rmsg,
|
||||
);
|
||||
@@ -301,7 +304,8 @@ sub __on_msg {
|
||||
|
||||
# Если новый участник чата ответил на наше приветствие, проигнорируем его ответ (и попробуем сойти за
|
||||
# человека :)
|
||||
if (substr ($msg->reply_to_message->text, -61) eq 'Представьтес, пожалуйста, и расскажите, что вас сюда привело.') {
|
||||
my $greetphrase = 'Представьтес, пожалуйста, и расскажите, что вас сюда привело.';
|
||||
if (substr ($msg->reply_to_message->text, length ($greetphrase)) eq $greetphrase) {
|
||||
my $match = 0;
|
||||
my @hello = (
|
||||
'Дратути, ',
|
||||
@@ -331,6 +335,7 @@ sub __on_msg {
|
||||
$rmsg->{message} = $phrase;
|
||||
$rmsg->{userid} = 0 + $userid;
|
||||
$rmsg->{chatid} = 0 + $chatid;
|
||||
$rmsg->{misc}->{answer} = 1;
|
||||
|
||||
my $pubsub = $main::REDIS->pubsub;
|
||||
|
||||
@@ -340,7 +345,7 @@ sub __on_msg {
|
||||
|
||||
return;
|
||||
# Если текст похож на команду, усылаем его в BotLib.pm
|
||||
} elsif (substr ($text, 0, 1) eq $csign) {
|
||||
} elsif (substr ($text, 0, length ($csign)) eq $csign) {
|
||||
$reply = Command ($self, $msg, $text, $chatid);
|
||||
# Похоже кто-то написал наше имя в чятике, но ничего не захотел дописывать к нему
|
||||
} elsif (
|
||||
@@ -360,6 +365,7 @@ sub __on_msg {
|
||||
$rmsg->{mode} = 'public';
|
||||
$rmsg->{userid} = 0 + $userid;
|
||||
$rmsg->{chatid} = 0 + $chatid;
|
||||
$rmsg->{misc}->{answer} = 1;
|
||||
|
||||
# Сообщение обращено к боту
|
||||
if ((lc ($text) =~ /^${qname}[\,|\:]? (.+)/) or (lc ($text) =~ /^${qtname}[\,|\:]? (.+)/)){
|
||||
|
||||
Reference in New Issue
Block a user