From 6d439a1b44abecdce5732f31a1cf8d0e00356fe8 Mon Sep 17 00:00:00 2001 From: eleksir Date: Thu, 6 May 2021 10:36:05 +0300 Subject: [PATCH] =?UTF-8?q?Implement=20!horse=20!=D0=BB=D0=BE=D1=88=D0=B0?= =?UTF-8?q?=D0=B4=D0=BA=D0=B0=20!frog=20!=D0=BB=D1=8F=D0=B3=D1=83=D1=88?= =?UTF-8?q?=D0=BA=D0=B0=20!snail=20!=D1=83=D0=BB=D0=B8=D1=82=D0=BA=D0=B0?= =?UTF-8?q?=20commands?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/BotLib.pm | 23 ++++++++++++++++++++++- lib/BotLib/Image.pm | 37 ++++++++++++++++++++++++++++++++++++- 2 files changed, 58 insertions(+), 2 deletions(-) diff --git a/lib/BotLib.pm b/lib/BotLib.pm index 2b343e4..36550ae 100644 --- a/lib/BotLib.pm +++ b/lib/BotLib.pm @@ -20,7 +20,7 @@ use BotLib::Drink qw (Drink); use BotLib::Fisher qw (Fish); use BotLib::Fortune qw (Fortune); use BotLib::Friday qw (Friday); -use BotLib::Image qw (Kitty Fox Oboobs Obutts Rabbit Owl); +use BotLib::Image qw (Kitty Fox Oboobs Obutts Rabbit Owl Frog Horse Snail); use BotLib::Karma qw (KarmaSet KarmaGet); use BotLib::Lat qw (Lat); use BotLib::Monkeyuser qw (Monkeyuser); @@ -92,6 +92,24 @@ sub Command { sleep (irand (2) + 1); $msg->replyMd ($reply); return; + } elsif (substr ($text, 1) eq 'frog' || substr ($text, 1) eq 'toad' || substr ($text, 1) eq 'лягушка') { + $msg->typing (); + $reply = Frog (); + sleep (irand (2) + 1); + $msg->replyMd ($reply); + return; + } elsif (substr ($text, 1) eq 'horse' || substr ($text, 1) eq 'лошадка') { + $msg->typing (); + $reply = Horse (); + sleep (irand (2) + 1); + $msg->replyMd ($reply); + return; + } elsif (substr ($text, 1) eq 'snail' || substr ($text, 1) eq 'улитка') { + $msg->typing (); + $reply = Snail (); + sleep (irand (2) + 1); + $msg->replyMd ($reply); + return; } elsif (substr ($text, 1) eq 'lat' || substr ($text, 1) eq 'лат') { $reply = Lat (); } elsif ( @@ -201,10 +219,13 @@ ${csign}f | ${csign}ф - рандомная фраза из ${csign}fortune | ${csign}фортунка - рандомная фраза из сборника цитат fortune_mod ${csign}fox | ${csign}лис - лисичка ${csign}friday | ${csign}пятница - а не пятница ли сегодня? +${csign}frog | ${csign}лягушка - лягушка +${csign}horse | ${csign}лошадка - лошадка ${csign}lat | ${csign}лат - сгенерить фразу из крылатых латинских выражений ${csign}monkeyuser - рандомный стрип MonkeyUser ${csign}owl | ${csign}сова - сова ${csign}ping | ${csign}пинг - попинговать бота +${csign}snail | ${csign}улитка - улитка ${csign}ver | ${csign}version | ${csign}версия - что-то про версию ПО ${csign}w город | ${csign}п город - погода в указанном городе ${csign}xkcd - рандомный стрип с сайта xkcd.ru diff --git a/lib/BotLib/Image.pm b/lib/BotLib/Image.pm index 33cbc08..47afecd 100644 --- a/lib/BotLib/Image.pm +++ b/lib/BotLib/Image.pm @@ -16,7 +16,7 @@ use BotLib::Util qw (urlencode); use version; our $VERSION = qw (1.0); use Exporter qw (import); -our @EXPORT_OK = qw (Kitty Fox Oboobs Obutts Rabbit Owl); +our @EXPORT_OK = qw (Kitty Fox Oboobs Obutts Rabbit Owl Frog Horse Snail); sub Kitty { my $r; @@ -201,6 +201,41 @@ sub Owl { } } +sub Frog { + # unable to find any one-line ascii art for frog :( + my @art = qw (frog toad лягушка); + my $url = FlickrByTags ('frog,toad,amphibian'); + + if (defined $url) { + return sprintf '[%s](%s)', $art [irand ($#art + 1)], $url; + } else { + return 'Нету лягушек, все свалили.'; + } +} + +sub Horse { + # unable to find any one-line ascii art for frog :( + my @art = qw (horse лошадь лошадка); + my $url = FlickrByTags ('horse,equine,mammal'); + + if (defined $url) { + return sprintf '[%s](%s)', $art [irand ($#art + 1)], $url; + } else { + return 'Нету коняшек, все разбежались.'; + } +} + +sub Snail { + # unable to find any one-line ascii art for frog :( + my @art = qw ('-'_@_ @╜ @_'-'); + my $url = FlickrByTags ('snail,slug'); + + if (defined $url) { + return sprintf '[%s](%s)', $art [irand ($#art + 1)], $url; + } else { + return 'Нету улиток, все расползлись.'; + } +} 1; # vim: set ft=perl noet ai ts=4 sw=4 sts=4: