Implement !owl and !сова commands and improve !rabbit and co commands
This commit is contained in:
3
cpanfile
3
cpanfile
@@ -2,6 +2,7 @@ requires 'Carp';
|
||||
requires 'Cwd::utf8';
|
||||
requires 'DB_File';
|
||||
requires 'SQLite_File';
|
||||
requires 'Digest::HMAC_SHA1';
|
||||
requires 'Digest::MD5';
|
||||
requires 'Data::Dumper';
|
||||
requires 'Digest::SHA';
|
||||
@@ -22,5 +23,5 @@ requires 'Mojo::Base';
|
||||
requires 'Mojo::IOLoop';
|
||||
requires 'Mojo::UserAgent';
|
||||
requires 'Text::Fuzzy';
|
||||
requires 'URI::Encode::XS';
|
||||
requires 'URI::URL';
|
||||
requires 'URI::Encode::XS';
|
||||
@@ -16,7 +16,7 @@ use archeologist qw (dig);
|
||||
use fisher qw (fish);
|
||||
use fortune qw (fortune);
|
||||
use friday qw (friday);
|
||||
use image qw (kitty fox oboobs obutts rabbit);
|
||||
use image qw (kitty fox oboobs obutts rabbit owl);
|
||||
use karma qw (karmaSet karmaGet);
|
||||
use lat qw (latAnswer);
|
||||
use util qw (trim);
|
||||
@@ -102,6 +102,11 @@ sub command {
|
||||
$reply = rabbit ();
|
||||
$msg->replyMd ($reply);
|
||||
return;
|
||||
} elsif (substr ($text, 1) eq 'owl' || substr ($text, 1) eq 'сова') {
|
||||
$msg->typing ();
|
||||
$reply = owl ();
|
||||
$msg->replyMd ($reply);
|
||||
return;
|
||||
} elsif (
|
||||
substr ($text, 1) eq 'tits' ||
|
||||
substr ($text, 1) eq 'boobs' ||
|
||||
@@ -155,7 +160,7 @@ sub command {
|
||||
$reply = << "MYHELP";
|
||||
```
|
||||
${csign}help | ${csign}помощь - список команд
|
||||
${csign}bunny | ${csign}rabbit | ${csign}кролик - кролик (бета-версия)
|
||||
${csign}bunny | ${csign}rabbit | ${csign}кролик - кролик
|
||||
${csign}cat | ${csign}кис - кошечка
|
||||
${csign}dig | ${csign}копать - заняться археологией
|
||||
${csign}fish | ${csign}рыба | ${csign}рыбка - порыбачить
|
||||
@@ -165,6 +170,7 @@ ${csign}fortune | ${csign}фортунка - рандомная фраз
|
||||
${csign}fox | ${csign}лис - лисичка
|
||||
${csign}friday | ${csign}пятница - а не пятница ли сегодня?
|
||||
${csign}lat | ${csign}лат - сгенерить фразу из крылатых латинских выражений
|
||||
${csign}owl | ${csign}сова - сова
|
||||
${csign}ping | ${csign}пинг - попинговать бота
|
||||
${csign}ver | ${csign}version | ${csign}версия - что-то про версию ПО
|
||||
${csign}w город | ${csign}п город - погода в указанном городе
|
||||
|
||||
39
lib/image.pm
39
lib/image.pm
@@ -13,10 +13,12 @@ use HTTP::Tiny;
|
||||
use Math::Random::Secure qw (irand);
|
||||
use SQLite_File;
|
||||
use conf qw (loadConf);
|
||||
use flickr qw (flickr_by_tags);
|
||||
use util qw (urlencode);
|
||||
|
||||
use version; our $VERSION = qw (1.0);
|
||||
use Exporter qw (import);
|
||||
our @EXPORT_OK = qw (kitty fox oboobs obutts rabbit);
|
||||
our @EXPORT_OK = qw (kitty fox oboobs obutts rabbit owl);
|
||||
|
||||
my $c = loadConf ();
|
||||
my $dir = $c->{image}->{dir};
|
||||
@@ -301,13 +303,15 @@ sub imgur {
|
||||
}
|
||||
}
|
||||
|
||||
sub rabbit {
|
||||
# It works but results are not particulary relevant, partially. about 20-30% miss
|
||||
# So i prefer to use flickr rabbits selection :)
|
||||
sub rabbit_imgur {
|
||||
my @terms = (
|
||||
'?q=animals%20AND%20%28%20rabbits%20OR%20bunnies%20%29',
|
||||
'year?q=animals%20AND%20%28%20rabbits%20OR%20bunnies%20%29',
|
||||
'relevance?q=animals+AND+%28+rabbits+OR+bunnies+%29',
|
||||
'relevance/year?q=animals+AND+%28+rabbits+OR+bunnies+%29',
|
||||
'score?q_not=cat%20OR%20kitten%20OR%20kittens%20OR%20dog%20OR%20cats%20OR%20dogs%20OR%20puppy%20OR%20puppies&q_tags=bunnies%2Cbunny%2Crabbits%2Crabbit'
|
||||
urlencode '?q=animals AND (rabbits OR bunnies)',
|
||||
urlencode 'year?q=animals AND (rabbits OR bunnies)',
|
||||
urlencode 'relevance?q=animals AND (rabbits OR bunnies)',
|
||||
urlencode 'relevance/year?q=animals AND (rabbits OR bunnies)',
|
||||
urlencode 'score?q_not=cat OR kitten OR kittens OR dog OR cats OR dogs OR puppy OR puppies&q_tags=bunnies,bunny,rabbits,rabbit'
|
||||
);
|
||||
|
||||
my $rabbit = imgur ($terms[irand ($#terms + 1)]);
|
||||
@@ -321,6 +325,27 @@ sub rabbit {
|
||||
}
|
||||
}
|
||||
|
||||
sub rabbit {
|
||||
# rabbit, but bunny
|
||||
my $url = flickr_by_tags ('animal,bunny');
|
||||
|
||||
if (defined $url) {
|
||||
return sprintf '[(\_/)](%s)', $url;
|
||||
} else {
|
||||
return 'Нету кроликов, все разбежались.';
|
||||
}
|
||||
}
|
||||
|
||||
sub owl {
|
||||
my $url = flickr_by_tags ('bird,owl');
|
||||
|
||||
if (defined $url) {
|
||||
return sprintf '[{ O v O }](%s)', $url;
|
||||
} else {
|
||||
return 'Нету сов, все разлетелись.';
|
||||
}
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
# vim: set ft=perl noet ai ts=4 sw=4 sts=4:
|
||||
|
||||
Reference in New Issue
Block a user