From 9732e717757d620c4c8c22643ff044cbc83b81d6 Mon Sep 17 00:00:00 2001 From: eleksir Date: Sun, 7 Feb 2021 20:49:58 +0300 Subject: [PATCH] Define really empty array for newcomers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Array for new member was defined with 1 empty value, but it must be empty array * For more than 1 member added, last member should be enumerated via "и", not "," --- lib/telegrambot.pm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/telegrambot.pm b/lib/telegrambot.pm index 74594d4..21b8d1c 100644 --- a/lib/telegrambot.pm +++ b/lib/telegrambot.pm @@ -113,10 +113,10 @@ sub __on_msg { # Newcommer event, greet our new member and suggest to introduce themself. if ($msg->can ('new_chat_members') && defined ($msg->new_chat_members)) { - my @members = ''; + my @members; foreach my $member (@{$msg->new_chat_members}) { - my $member_str = '['; + my $member_str = ''; if ($member->can ('first_name') && defined ($member->first_name)) { $member_str .= $member->first_name; @@ -132,11 +132,16 @@ sub __on_msg { } } - $member_str .= sprintf '](tg://user?id=%s)', $member->id; - push @members, $member_str; + push @members, sprintf '[%s](tg://user?id=%s)', $member_str, $member->id; }; - $phrase = sprintf 'Дратути, %s. Представьтес, пожалуйста, и расскажите, что вас сюда привело.', join (', ', @members); + if ($#members > 1) { + my $lastone = pop @members; + $phrase = sprintf 'Дратути, %s и %s. Представьтес, пожалуйста, и расскажите, что вас сюда привело.', join (', ', @members), $lastone; + } else { + $phrase = sprintf 'Дратути, %s. Представьтес, пожалуйста, и расскажите, что вас сюда привело.', $members[0]; + } + botsleep ($msg); $msg->replyMd ($phrase); return;