Compare commits
2 Commits
b992698b9b
...
ea634710f1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ea634710f1 | ||
|
|
e784a78979 |
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -269,10 +274,22 @@ sub __on_msg {
|
|||||||
$log->debug (sprintf ('[DEBUG] In public chat %s (%s) %s quote us!', $chatname, $chatid, $vis_a_vi));
|
$log->debug (sprintf ('[DEBUG] In public chat %s (%s) %s quote us!', $chatname, $chatid, $vis_a_vi));
|
||||||
|
|
||||||
# do not answer back if someone quote our new member greet
|
# do not answer back if someone quote our new member greet
|
||||||
if ((substr ($msg->reply_to_message->text, 0, 9) eq 'Дратути, ') &&
|
if (substr ($msg->reply_to_message->text, -61) eq 'Представьтес, пожалуйста, и расскажите, что вас сюда привело.') {
|
||||||
(substr ($msg->reply_to_message->text, -61) eq 'Представьтес, пожалуйста, и расскажите, что вас сюда привело.')) {
|
my @hello = (
|
||||||
|
'Дратути, ',
|
||||||
|
'Дарована, ',
|
||||||
|
'Доброе утро, день или вечер, ',
|
||||||
|
'Добро пожаловать в наше скромное коммунити, ',
|
||||||
|
'Наше вам с кисточкой тут, на канальчике, ',
|
||||||
|
);
|
||||||
|
|
||||||
|
foreach my $hi (@hello) {
|
||||||
|
if (substr ($msg->reply_to_message->text, 0, length $hi) eq $hi) {
|
||||||
return;
|
return;
|
||||||
} else {
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# remove our name from users reply, just in case
|
# remove our name from users reply, just in case
|
||||||
my $pat1 = quotemeta ('@' . $myusername);
|
my $pat1 = quotemeta ('@' . $myusername);
|
||||||
my $pat2 = quotemeta $myfullname;
|
my $pat2 = quotemeta $myfullname;
|
||||||
@@ -282,7 +299,6 @@ sub __on_msg {
|
|||||||
|
|
||||||
# figure out reply :)
|
# figure out reply :)
|
||||||
$reply = $hailo->{$msg->chat->id}->learn_reply ($phrase) if (length ($phrase) > 3);
|
$reply = $hailo->{$msg->chat->id}->learn_reply ($phrase) if (length ($phrase) > 3);
|
||||||
}
|
|
||||||
# simple commands
|
# simple commands
|
||||||
} elsif (substr ($text, 0, 1) eq $csign) {
|
} elsif (substr ($text, 0, 1) eq $csign) {
|
||||||
$reply = Command ($self, $msg, $text, $chatid);
|
$reply = Command ($self, $msg, $text, $chatid);
|
||||||
|
|||||||
Reference in New Issue
Block a user