Телеграмбот: добавлены приветствия и прощания и сообщение по изменению топика
* Пытаемся реагировать на new_chat_members * Пытаемся реагировать на left_chat_member * Пытаемся реагировать на pinned_message
This commit is contained in:
@@ -32,11 +32,51 @@ sub __on_msg {
|
|||||||
$msg->reply("Я вас не знаю, идите нахуй.");
|
$msg->reply("Я вас не знаю, идите нахуй.");
|
||||||
|
|
||||||
# group chat
|
# group chat
|
||||||
|
} else {
|
||||||
|
my $reply;
|
||||||
|
|
||||||
|
if ($msg->chat->new_chat_members) {
|
||||||
|
my $usernick = '';
|
||||||
|
|
||||||
|
if (defined($msg->chat->new_chat_members->first_name) and ($msg->chat->new_chat_members->first_name ne '')) {
|
||||||
|
$usernick .= $msg->chat->new_chat_members->first_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (defined($msg->chat->new_chat_members->last_name) and ($msg->chat->new_chat_members->last_name ne '')) {
|
||||||
|
if ($usernick ne '') {
|
||||||
|
$usernick .= ' ' . $msg->chat->new_chat_members->first_name;
|
||||||
|
} else {
|
||||||
|
$usernick .= $msg->chat->new_chat_members->first_name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$usernick = $msg->chat->new_chat_members->username if ($usernick =~ /^\s+$/);
|
||||||
|
|
||||||
|
$reply = sprintf("Добрый вечер, %s, располагайтесь, наслаждайтесь. Мы вас внимательно алё.", $usernick);
|
||||||
|
} elsif ($msg->chat->left_chat_member) {
|
||||||
|
my $usernick = '';
|
||||||
|
|
||||||
|
if (defined($msg->chat->left_chat_member->first_name) and ($msg->chat->left_chat_member->first_name ne '')) {
|
||||||
|
$usernick .= $msg->chat->left_chat_member->first_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (defined($msg->chat->left_chat_member->last_name) and ($msg->chat->left_chat_member->last_name ne '')) {
|
||||||
|
if ($usernick ne '') {
|
||||||
|
$usernick .= ' ' . $msg->chat->left_chat_member->first_name;
|
||||||
|
} else {
|
||||||
|
$usernick .= $msg->chat->left_chat_member->first_name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$usernick = $msg->chat->left_chat_member->username if ($usernick =~ /^\s+$/);
|
||||||
|
|
||||||
|
$reply = sprintf("До свидания, уважаемый %s. Возвращайтесь ещё. Мы будем рады вас опять...", $usernick);
|
||||||
|
} elsif ($msg->chat->pinned_message) {
|
||||||
|
$reply = "Где мои ржавые гвозди и кувалдометр? Ща прибъём это в топик!";
|
||||||
} else {
|
} else {
|
||||||
my $qname = quotemeta($c->{telegrambot}->{name});
|
my $qname = quotemeta($c->{telegrambot}->{name});
|
||||||
my $qtname = quotemeta($c->{telegrambot}->{tname});
|
my $qtname = quotemeta($c->{telegrambot}->{tname});
|
||||||
my $csign = quotemeta($c->{telegrambot}->{csign});
|
my $csign = quotemeta($c->{telegrambot}->{csign});
|
||||||
my $reply;
|
|
||||||
|
|
||||||
# simple commands
|
# simple commands
|
||||||
if ($text eq "${csign}ping") {
|
if ($text eq "${csign}ping") {
|
||||||
@@ -65,6 +105,7 @@ sub __on_msg {
|
|||||||
} else {
|
} else {
|
||||||
$hailo->learn(decode('utf-8', $text));
|
$hailo->learn(decode('utf-8', $text));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (defined($reply) && $reply ne '') {
|
if (defined($reply) && $reply ne '') {
|
||||||
$msg->reply($reply);
|
$msg->reply($reply);
|
||||||
|
|||||||
Reference in New Issue
Block a user