In newcommer greeting treat space-char-only first_name or last_name as non-existing
This commit is contained in:
@@ -126,17 +126,22 @@ sub __on_msg {
|
|||||||
foreach my $member (@{$msg->new_chat_members}) {
|
foreach my $member (@{$msg->new_chat_members}) {
|
||||||
my $member_str = '';
|
my $member_str = '';
|
||||||
|
|
||||||
if ($member->can ('first_name') && defined ($member->first_name)) {
|
# avoid naming people by spacing symbols, or empty names
|
||||||
|
if ($member->can ('first_name') && defined ($member->first_name) && $member->first_name !~ /^\s+$/ui) {
|
||||||
$member_str .= $member->first_name;
|
$member_str .= $member->first_name;
|
||||||
|
|
||||||
if ($member->can ('last_name') && defined ($member->last_name)) {
|
if ($member->can ('last_name') && defined ($member->last_name) && $member->last_name !~ /^\s+$/ui) {
|
||||||
$member_str .= ' ' . $member->last_name;
|
$member_str .= ' ' . $member->last_name;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ($member->can ('last_name') && defined ($member->last_name)) {
|
if ($member->can ('last_name') && defined ($member->last_name) && $member->last_name !~ /^\s+$/ui) {
|
||||||
$member_str .= ' ' . $member->last_name;
|
$member_str .= ' ' . $member->last_name;
|
||||||
} else {
|
# username must be uniq and should contain only english letters and numbers, so...
|
||||||
|
} elsif ($member->can ('username') && defined ($member->username)) {
|
||||||
$member_str .= '@' . $member->username;
|
$member_str .= '@' . $member->username;
|
||||||
|
# fallback to id if uose trying to be smartass and use only spacing chars in it's firstname and/or lastname
|
||||||
|
} else {
|
||||||
|
$member_str .= $member->id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user