1

Compare commits

...

3 Commits

Author SHA1 Message Date
eleksir
00a82dd2cd Braindir with brains themselves moved to aleesa-craniac application 2022-01-28 16:27:28 +03:00
eleksir
6554879b19 In newcommer greeting treat space-char-only first_name or last_name as non-existing 2022-01-28 16:25:10 +03:00
eleksir
9a5b899a42 Fix coding style 2022-01-28 16:22:06 +03:00
2 changed files with 14 additions and 16 deletions

View File

@@ -72,8 +72,8 @@ sub Command {
$#cmds = -1;
@cmds = qw (ping пинг пинх pong понг понх coin монетка roll dice кости ver version версия хэлп halp kde кде lat
лат friday пятница proverb пословица fortune фортунка f ф anek анек анекдот buni cat кис drink праздник fox лис
frog лягушка horse лошадь лошадка monkeyuser owl сова сыч rabbit bunny кролик snail улитка tits boobs tities
boobies сиси сисечки butt booty ass попа попка xkcd dig копать fish fishing рыба рыбка рыбалка);
frog лягушка horse лошадь лошадка monkeyuser owl сова сыч rabbit bunny кролик snail улитка tits boobs tities
boobies сиси сисечки butt booty ass попа попка xkcd dig копать fish fishing рыба рыбка рыбалка);
my $bingo = 0;
@@ -86,7 +86,7 @@ sub Command {
# TODO: Заменить на сравнение со строкой?
if (($cmd =~ /^w\s/u) || ($cmd =~ /^п\s/u) || ($cmd =~ /^weather\s/u) || ($cmd =~ /^погода\s/u) ||
($cmd =~ /^погодка\s/u) || ($cmd =~ /^погадка\s/u) || ($cmd =~ /^karma\s/u) || ($cmd =~ /карма\s/u)) {
($cmd =~ /^погодка\s/u) || ($cmd =~ /^погадка\s/u) || ($cmd =~ /^karma\s/u) || ($cmd =~ /карма\s/u)) {
$bingo = 1;
}
@@ -97,7 +97,7 @@ sub Command {
$#cmds = -1;
@cmds = qw (fortune фортунка f ф anek анек анекдот buni cat кис fox лис frog лягушка horse лошадь
лошадка monkeyuser owl сова сыч rabbit bunny кролик snail улитка tits boobs tities boobies сиси сисечки
butt booty ass попа попка xkcd);
butt booty ass попа попка xkcd);
while (my $check = pop @cmds) {
if ($cmd eq $check) {

View File

@@ -145,17 +145,22 @@ sub __on_msg {
foreach my $member (@{$msg->new_chat_members}) {
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;
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;
}
} 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;
} 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;
# 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;
}
}
@@ -254,6 +259,7 @@ sub __on_msg {
# Если новый участник чата ответил на наше приветствие, проигнорируем его ответ (и попробуем сойти за
# человека :)
# TODO: учитывать и остальные варианты приветствия
if ((substr ($msg->reply_to_message->text, 0, 9) eq 'Дратути, ') &&
(substr ($msg->reply_to_message->text, -61) eq 'Представьтес, пожалуйста, и расскажите, что вас сюда привело.')) {
return;
@@ -469,14 +475,6 @@ sub init {
# Don't forget to update global ref to our telegram context
$main::TGM = $self;
my $braindir = $c->{telegrambot}->{braindir};
unless (-d $braindir) {
make_path ($braindir, 0, 0755) or do { ## no critic (ValuesAndExpressions::ProhibitLeadingZeros)
$log->fatal ("[FATAL] Unable to create $braindir: $OS_ERROR");
exit 1;
};
}
$self->add_listener (\&__on_msg);
$self->add_repeating_task (900, \&__cron);