Implement !cat and !кис commands

This commit is contained in:
eleksir
2020-12-20 15:03:25 +03:00
parent 0cfecd72b3
commit 3787bb3073

View File

@@ -249,6 +249,8 @@ sub command {
} elsif (length ($text) >= 2 && (substr ($text, 1, 2) eq 'w ' || substr ($text, 1, 2) eq 'п ')) {
my $city = substr ($text, 3);
$reply = weather ($city);
} elsif (substr ($text, 1) eq 'cat' || substr ($text, 1) eq 'кис') {
$reply = kitty();
} elsif (substr ($text, 1) eq 'lat' || substr ($text, 1) eq 'лат') {
$reply = latAnswer ();
} elsif ((length ($text) >= 6 && (substr ($text, 1, 6) eq 'karma ' || substr ($text, 1, 6) eq 'карма ')) || substr($text, 1) eq 'karma' || substr($text, 1) eq 'карма') {
@@ -282,21 +284,22 @@ sub command {
} elsif (substr ($text, 1) eq 'help' || substr ($text, 1) eq 'помощь') {
$reply = << 'MYHELP';
```
!help | !помощь - список команд
!dig | !копать - заняться археологией
!f | !ф - рандомная фраза из сборника цитат fortune_mod
!fortune | !фортунка - рандомная фраза из сборника цитат fortune_mod
!f # | !ф # - где 1 - вкл, 0 - выкл фортунку с утра
!fortune # | !фортунка # - где 1 - вкл, 0 - выкл фортунку с утра
!f ? | !ф ? - показываем ли с утра фортунку для чата
!fortune ? | !фортунка ? - показываем ли с утра фортунку для чата
!friday | !пятница - а не пятница ли сегодня?
!lat | !лат - сгенерировать фразу из крылатых латинских выражений
!ping | !пинг - попинговать бота
!ver | !version | !версия - что-то про версию ПО
!w город | !п город - погода в указанном городе
!karma | !карма фраза - посмотреть карму фразы
фраза-- | фраза++ - убавить или добавить карму фразе
!help | !помощь - список команд
!cat | !кис - кошечка
!dig | !копать - заняться археологией
!f | !ф - рандомная фраза из сборника цитат fortune_mod
!fortune | !фортунка - рандомная фраза из сборника цитат fortune_mod
!f # | !ф # - где 1 - вкл, 0 - выкл фортунку с утра
!fortune # | !фортунка # - где 1 - вкл, 0 - выкл фортунку с утра
!f ? | !ф ? - показываем ли с утра фортунку для чата
!fortune ? | !фортунка ? - показываем ли с утра фортунку для чата
!friday | !пятница - а не пятница ли сегодня?
!lat | !лат - сгенерить фразу из крылатых латинских выражений
!ping | !пинг - попинговать бота
!ver | !version | !версия - что-то про версию ПО
!w город | !п город - погода в указанном городе
!karma фраза | !карма фраза - посмотреть карму фразы
фраза-- | фраза++ - убавить или добавить карму фразе
```
Но на самом деле я бот больше для общения, чем для исполнения команд.
Поговоришь со мной?
@@ -378,6 +381,30 @@ sub fmatch {
}
}
sub kitty {
my $r;
for (1..3) {
my $http = HTTP::Tiny->new (timeout => 3);
$r = $http->get ('https://api.thecatapi.com/v1/images/search');
last if ($r->{success});
sleep 2;
}
if ($r->{success}) {
my $jcat = eval { decode_json ($r->{content}) };
if ($jcat->[0]->{url}) {
my @cats = ('龴ↀ◡ↀ龴', '=^..^=', '≧◔◡◔≦ ','^ↀᴥↀ^' );
return sprintf '[%s](%s)', $cats[int(rand($#cats))], $jcat->[0]->{url};
} else {
return 'Нету кошечек, все разбежались.';
}
} else {
return 'Нету кошечек, все разбежались.';
}
}
1;
# vim: set ft=perl noet ai ts=4 sw=4 sts=4: