]> git.99rst.org Git - irssi-scripts.irssi.org.git/commitdiff
add ziew.pl script
authorGregg Jaskiewicz <redacted>
Sat, 2 Sep 2017 10:31:26 +0000 (11:31 +0100)
committerGregg Jaskiewicz <redacted>
Sat, 2 Sep 2017 10:31:26 +0000 (11:31 +0100)
scripts/ziew.pl [new file with mode: 0644]

diff --git a/scripts/ziew.pl b/scripts/ziew.pl
new file mode 100644 (file)
index 0000000..025bc36
--- /dev/null
@@ -0,0 +1,123 @@
+# /ziew ile
+# Grzegorz Jaskiewicz aka giejot 2004
+# credits to Smiechu for help
+
+use strict;
+use Irssi;
+use Irssi qw(command_bind command signal_add_last signal_stop settings_get_bool settings_add_bool);
+
+use vars qw($VERSION %IRSSI);
+
+%IRSSI = (
+        authors     => "Grzegorz Jaskiewicz",
+        contact     => "gj\@pointblue.com.pl",
+        name        => "ziew",
+        description => "yawners toy",
+        license     => "GPLv2",
+        url         => "http://gj.pointblue.com.pl/projects/ziew",
+    );
+
+$VERSION = "0.56";
+my $iscolor=0;
+
+#rozne wersje jezykowe ziewow
+
+my %ziew = (
+       "pl" => [ "zi", "e", "w" ],
+       "en" => [ "y", "a", "wn" ],
+       "jp" => [ "ak", "u", "bi" ],
+       "de" => [ "gä", "h", "nen" ],
+       "fr" => [ "bâil", "l", "er" ],
+);
+
+## stolen from rainbow.pl
+
+# colors list
+#  0 == white
+#  4 == light red
+#  8 == yellow
+#  9 == light green
+# 11 == light cyan
+# 12 == light blue
+# 13 == light magenta
+my @colors = ('0', '4', '8', '9', '11', '12', '13');
+
+# str make_colors($string)
+# returns random-coloured string
+sub make_colors {
+       my ($string) = @_;
+       my $newstr = "";
+       my $last = 255;
+       my $color = 0;
+
+       for (my $c = 0; $c < length($string); $c++) {
+               my $char = substr($string, $c, 1);
+               if ($char eq ' ') {
+                       $newstr .= $char;
+                       next;
+               }
+               while (($color = int(rand(scalar(@colors)))) == $last) {};
+               $color = int(rand(scalar(@colors)));
+               $last = $color;
+               $newstr .= "\003";
+               $newstr .= sprintf("%02d", $colors[$color]);
+               $newstr .= (($char eq ",") ? ",," : $char);
+       }
+
+       return $newstr;
+}
+
+sub ziewaj($$) {
+    my( $ilosc, $lang ) = @_;
+    
+    if (!$ziew{ $lang }->[0]) {
+       $lang="pl";     
+    }
+
+    return $ziew{$lang}->[0].($ziew{$lang}->[1]x$ilosc).$ziew{$lang}->[2]; 
+
+}
+
+sub cmd_yawn {
+       my $out;
+       my $i;
+       my $l;
+       my @args = split(/ +/, $_[0]);
+       ( $i, $l ) = @args;
+       
+       if ( $i <=0 ) {
+           Irssi::print("ziew.pl: parametrem musi byc dodatnia liczba", MSGLEVEL_CRAP);
+           return;
+       }
+               
+       $out = ziewaj( $i, $l );
+
+       if ( $iscolor) {
+           $out = make_colors( $out );
+       }
+                       
+       my $window = Irssi::active_win();
+       $window->command( "/say ".$out );
+}
+
+sub cmd_ryawn {
+       $iscolor=1;
+       cmd_yawn(@_);
+       $iscolor=0;
+}
+
+Irssi::command_bind('yawn', 'cmd_yawn');
+Irssi::command_bind('ryawn', 'cmd_ryawn');
+
+Irssi::print("--------------------------------------");
+Irssi::print("/yawn En [en|pl|jp|de|fr]");
+Irssi::print("En - ilosc  'e' w ziew");
+Irssi::print("");
+Irssi::print("/ryawn En [en|pl|jp|de|fr]");
+Irssi::print("En - ilosc  'e' w ziew, w kolorkach!");
+Irssi::print("");
+Irssi::print("drugi parametr to jezyk, narazie obsluguje en,jp,de,fr,pl");
+Irssi::print("pl jest domyslne");
+Irssi::print("");
+Irssi::print("wiecej opcji na gwiazdke w przyszlym roku ;)");
+Irssi::print("--------------------------------------");
git clone https://git.99rst.org/PROJECT