commit 58d4db239174e50f3d55067007f70901788ce165 Author: Pedro de Oliveira Date: Sun Mar 12 00:58:21 2017 +0000 first commit diff --git a/chaves-away.pl b/chaves-away.pl new file mode 100644 index 0000000..3ea902c --- /dev/null +++ b/chaves-away.pl @@ -0,0 +1,210 @@ +#!/usr/bin/perl -w + +################################################################### +# leet away script for irssi +# Pedro de Oliveira +# +# based on randaway.pl written by scn/EFNET, march 2002 +# ripped Bruno Almeida /ame script +# +# many thanks to buckl3y , lucipher , Domusonline and fatzu @ ptnet +################################################################### +# Just create the files 'awayreasons' and 'backreasons' in your +# .irssi dir with the reasons that you want, and its ready to work +################################################################### + +use vars qw($VERSION %IRSSI); + +use Irssi; + +$VERSION = "0.4"; +%IRSSI = ( + authors => "Florindo Admim", + contact => "bud\@serrado.net", + name => "leet away script for irssi", + description => "Show random public away-messages, and shows how many time you were away", + license => "Public Domain", + changed => 'Sat Sep 28 23:31 WET 2002', +); + +# file to read random reasons from. It should contain one +# reason at each line, empty lines and lines starting with # is +# skipped. +$reasonfile = "$ENV{HOME}/.irssi/awayreasons"; +$backfile = "$ENV{HOME}/.irssi/backreasons"; + +my @awayreasons; +my @backreasons; + +sub readreasons { + undef @awayreasons; + if (-f $reasonfile) { + Irssi::print("=> Trying to read awayreasons from $reasonfile"); + open F, $reasonfile; + + # this actually makes the while() work like a while and not + # like a read() .. ie, stopping at each \n. + local $/ = "\n"; + while () { + $reason = $_; + + # remove any naughty linefeeds. + chomp($reason); + + # skips reason if it's an empty line or line starts with # + if ($reason =~ /^$/ ) { next; } + if ($reason =~ /^#/ ) { next; } + + #Irssi::print("\"$reason\""); + + # adds to array. + push(@awayreasons, $reason); + } + close F; + Irssi::print("=> Read " . scalar(@awayreasons) . " reasons."); + } else { + # some default away-reasons. + Irssi::print("Unable to find $reasonfile, no reasons loaded."); + push(@awayreasons, "i\'m pretty lame!"); + push(@awayreasons, "i think i forgot something!"); + }; +} + + +sub readbackreasons { + undef @backreasons; + if (-f $backfile) { + Irssi::print("=> Trying to read backreasons from $backfile"); + open F, $backfile; + + # this actually makes the while() work like a while and not + # like a read() .. ie, stopping at each \n. + local $/ = "\n"; + while () { + $backreason = $_; + + # remove any naughty linefeeds. + chomp($backreason); + + # skips reason if it's an empty line or line starts with # + if ($backreason =~ /^$/ ) { next; } + if ($backreason =~ /^#/ ) { next; } + + #Irssi::print("\"$backreason\""); + + # adds to array. + push(@backreasons, $backreason); + } + close F; + Irssi::print("=> Read " . scalar(@backreasons) . " backreasons."); + } else { + # some default away-reasons. + Irssi::print("Unable to find $backfile, no reasons loaded."); + push(@backreasons, "hey. i am happy to be back. really."); + push(@backreasons, "did i miss anything?"); + }; +} + + + + +sub away { + # only do our magic if we're not away already. + my ($reason, $server) = @_; + if (!$server || !$server->{connected}) { + Irssi::print("Not connected to server!"); + Irssi::signal_stop(); + return; + } + if ($server->{usermode_away} == 0) { + if (!$reason) { + $reason = $awayreasons[rand @awayreasons]; + $server->command("/AWAY $reason"); + Irssi::signal_stop(); + return; + } + + $inicio = time(); + + Irssi::print("awayreason used: $reason"); + $server->command("/ame is gone, $reason"); + } else { + Irssi::print("you're already away"); + Irssi::signal_stop(); + } +} + +sub back { + my ($reason, $server) = @_; + $backr = $backreasons[rand @backreasons]; + if (Irssi::active_server()->{usermode_away} != 0) { + +$back=time(); +$total = $back - $inicio; + +$dias = int($total/(3600*24)); +$total = $total - $dias * (3600*24); +$horas = int($total/(3600)); +$total = $total - $horas * 3600; +$minutos = int($total/(60)); +$total = $total - $minutos * 60; +$segundos = int($total/(60)); +$total = $total - $segundos * 60; + + Irssi::print("Back from: " . Irssi::active_server()->{away_reason}); +if ($dias ge 1) { + $server->command("/ame is back, $backr - away for \002\037[\002\037 " . uc(sprintf("%x", $dias)) . "\002d\002," . uc(sprintf("%x", $horas)) . "\002h\002," . uc(sprintf("%x", $minutos)) . "\002m\002," . uc(sprintf("%x", $total)) . "\002s\002 \002\037]\037\002"); + } else { if ($horas ge 1) { + $server->command("/ame is back, $backr - away for \002\037[\002\037 " . uc(sprintf("%x", $horas)) . "\002h\002," . uc(sprintf("%x", $minutos)) . "\002m\002," . uc(sprintf("%x", $total)) . "\002s\002 \002\037]\002\037"); +} else { +if ($minutos ge 1) { + $server->command("/ame is back, $backr - away for \002\037[\002\037 " . uc(sprintf("%x", $minutos)) . "\002m\002," . uc(sprintf("%x", $total)) . "\002s\002 \002\037]\002\037"); +} else { +if ($total ge 1) { + $server->command("/ame is back, $backr - away for \002\037[\002\037 " . uc(sprintf("%x", $total)) . "\002s\002 \002\037]\002\037"); +} +} +}} +$server->command("/quote AWAY"); + } + else { + Irssi::print("You are not away!"); + } +} + +sub cmd_ame { + + my ($text, $server, $channel) = @_; + + if (!$server || !$server->{connected}) { + Irssi::print("Not connected to server!"); + return; + } + + if ($text) { + foreach $channel (Irssi::active_server()->channels()) { + $server->command("/ACTION $channel->{name} $text"); + } + } + else { + Irssi::print("Please Input Some Text!"); + } +} + + + +# -- main program -- + +readreasons(); +readbackreasons(); +Irssi::print("commands :\n/away -> go away \n/back -> come back"); +Irssi::print("/awayreread -> refresh away reasons from awayreasons"); +Irssi::print("/backreread -> refresh back reasons from backreasons"); +Irssi::print("/ame action in all channels"); +Irssi::print("random away script by falso loaded!"); +Irssi::command_bind('away', 'away'); +Irssi::command_bind('awayreread', 'readreasons'); +Irssi::command_bind('backreread', 'readbackreasons'); +Irssi::command_bind('back', 'back'); +Irssi::command_bind('ame', 'cmd_ame'); +# -- end of script -- diff --git a/flood.pl b/flood.pl new file mode 100644 index 0000000..c3e1da1 --- /dev/null +++ b/flood.pl @@ -0,0 +1,20 @@ +use Irssi; +use Irssi::Irc; + +sub floodit { + my ( $data, $server, $witem ) = @_; + + $file = $data; # Name the file + open( INFO, $file ); # Open the file + @lines = ; # Read it into an array + close(INFO); # Close the file + + foreach $linha (@lines) { + chomp($linha); + chomp($linha); + $witem->command( "/MSG " . $witem->{name} . " $linha" ); + } +} + +Irssi::command_bind( 'flood', 'floodit' ); +Irssi::print("ascii flooding script\nuse with /flood file"); diff --git a/hypnotoad.pl b/hypnotoad.pl new file mode 100644 index 0000000..621ad7c --- /dev/null +++ b/hypnotoad.pl @@ -0,0 +1,56 @@ +#################################################### +# hypnotoad script foALL GLORY TO THE HYPNOTOAD +#################################################### + +use strict; +use vars qw($VERSION %IRSSI); +use MIME::Base64; + +$VERSION = "1.1"; +%IRSSI = ( + authors => "Pedro de Oliveira", + contact => "falso\@rdk.homeip.net", + name => "hypnotoad", + description => "With this script you caALL GLORY TO THE HYPNOTOAD", + license => "BSD" +); + +my $allglory = decode_base64( +"AzkgICAgICAgICAgICAgICAgLCdgYC4uXyAgICwnYGAuCgM5ICAgICAgICAgICAgICA6LC0tLl86KVwsOiwuXywuOiAgICAgICBBbGwgR2xvcnkgdG8KAzkgICAgICAgICAgICAgIDpgLS0sJycgICA6YC4uLic7XCAgICAgIHRoZSBIWVBOTyBUT0FEIQoDOSAgICAgICAgICAgICAgIGAsJyAgICAgICBgLS0tJyAgYC4KAzkgICAgICAgICAgICAgICAvICAgICAgICAgICAgICAgICA6CgM5ICAgICAgICAgICAgICAvICAgICAgICAgICAgICAgICAgIFwKAzkgICAgICAgICAgICAsJyAgICAgICAgICAgICAgICAgICAgIDpcLl9fXywtLgoDOSAgICAgICAgICAgYC4uLiwtLS0nYGBgYGBgLS4uLl8gICAgfDogICAgICAgXAoDOSAgICAgICAgICAgICAoICAgICAgICAgICAgICAgICApICAgOzogICAgKSAgIFwgIF8sLS4KAzkgICAgICAgICAgICAgIGAuICAgICAgICAgICAgICAoICAgLy8gICAgICAgICAgYCcgICAgXAoDOSAgICAgICAgICAgICAgIDogICAgICAgICAgICAgICBgLi8vICApICAgICAgKSAgICAgLCA7CgM5ICAgICAgICAgICAgICwtfGAuICAgICAgICAgICAgXywnLyAgICAgICApICAgICkgLCcgLCcKAzkgICAgICAgICAgICAoICA6YC5gLS4uX19fXy4uPTouLSc6ICAgICAuICAgICBfLCcgLCcKAzkgICAgICAgICAgICAgYCwnXCBgYC0tLi4uLi0pPScgICAgYC5fLCAgXCAgLCcpIF8gJ2BgLl8KAzkgICAgICAgICAgXy4tLyBfIGAuICAgICAgIChfKSAgICAgIC8gICAgICknIDsgLyBcIFxgLS4nCgM5ICAgICAgICAgYC0tKCAgIGAtOmAuICAgICBgJyBfX18uLicgIF8sLScgICB8LyAgIGAuKQoDOSAgICAgICAgICAgICBgLS4gYC5gLmBgLS0tLS1gYC0tLCAgLicKAzkgICAgICAgICAgICAgICB8L2AuXGAnICAgICAgICAsJywnKTsgU1N0CgM5ICAgICAgICAgICAgICAgICAgIGAgICAgICAgICAoLyAgKC8K" +); + +use Irssi; +use Irssi::Irc; + +sub hypnotoadize { + my $s = @_[0]; + my $out; + + if ( length($s) > 10 ) { + return + substr( $s, 0, ( length($s) - 6 ) ) . "ALL GLORY TO THE HYPNOTOAD"; + } + + return $s; +} + +sub send { + my ( $s, $server, $witem ) = @_; + $witem->command( "msg " . $witem->{name} . " " . hypnotoadize($s) ); +} + +sub randomizer { + my ($string) = $_[0]; + my $rand = int( rand( Irssi::settings_get_int('hypnotoad_random') ) ); + if ( $rand eq 1 ) { + $_[0] = hypnotoadize($string); + Irssi::signal_continue(@_); + } + +} + +Irssi::settings_add_int( 'misc', 'hypnotoad_random', 100 ); + +Irssi::command_bind( 'ht', 'send' ); +Irssi::signal_add( "send text", "randomizer" ); +Irssi::print($allglory); diff --git a/ingreja.pl b/ingreja.pl new file mode 100644 index 0000000..d8afd22 --- /dev/null +++ b/ingreja.pl @@ -0,0 +1,87 @@ +use Irssi; +use Irssi::Irc; + +sub passagem { + my $c = ("\003"); + my @passagens = ( + "${c}2\"Deitei e dormi; acordei porque o Senhor me sustentou.\" ${c}6Slm.3:5", + "${c}5\"Oferecei sacrifícios de justiça, e confia no Senhor.\" ${c}6Slm.4:5", + "${c}10\"O Senhor é a minha luz e a minha salvação: a quem temerei?\" ${c}6Slm.27-1", + "${c}3\"Bem aventurada é a nação cujo Deus é o Senhor.\" ${c}6Slm.33:12", + "${c}7\"Apressa-te em meu auxílio, Senhor, minha salvação.\" ${c}6Slm.38:22", + "${c}4\"Aquietai-vos e sabei que Eu sou seu Deus; serei exaltado sobre a terra.\" ${c}6Slm.46:10", + "${c}5\"Invoca-me no dia da angústia; Eu te livrarei...\" ${c}6Slm.50:15", + "${c}15\"A minha alma espera somente em Deus; dEle vem a minha salvação.\" ${c}6Slm.62:1", + "${c}7\"O justo se alegra no Senhor, e nele confia.\" ${c}6Slm.64:10", + "${c}10\"Confundidos sejam todos os que servem imagem e escultura.\" ${c}6Slm.97:7", + "${c}9\"Faz cessar a tormenta, e acalmam-se as ondas ondas.\" ${c}6Slm.107:29", + "${c}10\"O Senhor está comigo, não temerei o que me pode fazer o homem.\" ${c}6Slm.118...", + "${c}14\"Justo és, ó Senhor e retos sãos os teus juízos.\" ${c}6Slm.118:137", + "${c}10\"Abomino e detesto a mentira; porém amo a tua lei.\" ${c}6Slm.119:163", + "${c}11\"O meu socorro vem do Senhor, que fez o céu e a terra.\" ${c}6Slm.121:2", + "${c}2\"Os que semeiam em lágrimas segarão com alegria.\" ${c}6Slm.126:5", + "${c}3\"O pai ama o filho e todas as coisas entregou nas suas mãos.\" ${c}6João 3:35", + "${c}12\"Se o pois o filho vos libertar, verdadeiramente sereis livres.\" ${c}6João 8:36", + "${c}13Disse Jesus \"Eu vim para que tenham vida e tenham em abundância.\" ${c}6João 10:10", + "${c}14\"Não te ei dito que, se creres verás a glória de Deus?\" ${c}6João 11:40", + "${c}2\"Se me amares guardeis os meus mandamentos.\" ${c}6João 14:15", + "${c}3\"Eu sou a videira verdadeira e meu pai é o agricultor.\" ${c}6João 15:1", + "${c}7\"Como o pai me amou, também Eu vos amei a vós; permanecei no meu amor.\" ${c}6João 15:9", + "${c}4\"No mundo tereis aflição, mas tende bom ânimo, eu venci o mundo.\" ${c}6João 16:33 ${c}3(Oh GLÓRIA!!!!)", + "${c}5\"Bem aventurados os mansos, porque herdarão a terra.\" ${c}6Mat.5:5", + "${c}7\"Bem aventurados os limpos de coração, porque verão a Deus.\" ${c}6Mat.5:8", + "${c}2\"E Jesus disse: Eu irei e lhe darei saúde.\" ${c}6Mat.8:7", + "${c}4\"E qualquer que entre vós quizer ser o primeiro, seja o vosso servo.\" ${c}6Mat.20:27", + "${c}9\"Porque muitos serão chamados, mas poucos escolhidos.\" ${c}6Mat.22:14", + "${c}10\"Mas aquele que perseverar até o fim será salvo.\" ${c}6Mat.24:13", + "${c}13\"Mas o SENHOR dos exércitos será exaltado em juízo, e Deus, o Santo, será santificado em justiça.\" ${c}2Isaías 5:1", + "${c}7\"O caminho do justo é todo plano: tu retamente pesas o andar do justo.\" ${c}6Isaías 26:7", + "${c}2\"Quem guiou o espírito do Senhor? e que conselheiro o ensinou?\" ${c}6Isaías 40:13", + "${c}3\"Perto está o que me justifica; quem contenderá comigo?\" ${c}6Isaías 50:8", + "${c}5\"O Senhor Jeová me ajuda, quem há que me condene?\" ${c}6Isaías 50:9", + "${c}10\"Verdadeiramente, Ele tomou sobre si as nossas enfermidades e as nossas dores levou sobre si...\" ${c}2Isaías 53:4", + "${c}10\"Na fome te livrará da morte, e na guerra da violência da espada.\" ${c}6Jó 5:20", + "${c}7\"Ensina-me, e eu me calarei, e dai-me a entender em que errei.\" ${c}6Jó 6:24", + "${c}3\"Maldito aquele que ferir ao seu próximo seus dias em bem...\" ${c}6Jó 36:11", + "${c}4\"Ele tem cuidado de vós.\" ${c}6I Pedro 5:7", + "${c}2\"Portanto, meus amados, fugi da idolatria.\" ${c}6I Cor. 10:14", + "${c}14\"Vigiai, estais firme na fé; portai-vos varonilmente, e fortalecei-vos.\" ${c}6I Cor.16:13", + "${c}5\"E o Senhor te porá por cabeça e não por calda...\" ${c}6Deut.28:13", + "${c}4\"Não dirás falso testemunho contra o teu próximo.\" ${c}6Êxodo 20:16", + "${c}7\"Eu não vim chamar os justos, mas sim, os pecadores ao arrependimento.\" ${c}6Luc.5:32", + "${c}9\"Eu os remirei da violência do inferno e os resgatarei da morte.\" ${c}6Oséias 13:14", + "${c}10\"Vigiai e orai para que não entreis em tentação.\" ${c}6Marcos 14:38", + "${c}11\"Humilhai-vos perante o Senhor, e Ele vos exaltará.\" ${c}6Tiago 4:10", + "${c}12\"O destruidor está já junto de ti, guarda tu a fortaleza.\" ${c}6Naum 2:1", + "${c}14\"E esta é a promessa que Ele nos fez, a vida eterna.\" ${c}6I João 2:25", + "${c}2\"Então me invocareis, e ireis, e orareis a mim, e eu vos ouvirei.\" ${c}6Jer.29:12" + ); + + my ( $data, $server, $witem ) = @_; + + $witem->command( + "/MSG " . $witem->{name} . " " . $passagens[ rand @passagens ] ); +} + +sub jesus { + my $c = ("\003"); + my @passagens = ( + "${c}7,8JESUS disse:${c}12,9\"Bem-aventurados os pobres de espírito, porque deles é o reino dos céus\"", + "${c}7,8JESUS disse:${c}12,9\"Bem-aventurados os que choram, porque eles serão consolados\"", + "${c}7,8JESUS disse:${c}12,9\"Bem-aventurados os mansos, porque eles herdarão a terra\"", + "${c}7,8JESUS disse:${c}12,9\"Bem-aventurados os que têm fome e sede de justiça, porque eles serão fartos\"", + "${c}7,8JESUS disse:${c}12,9\"Bem-aventurados os misericordiosos, porque els alcançarão misericórdia\"", + "${c}7,8JESUS disse:${c}12,9\"Bem-aventurados os que sofrem perseguição por causa da justiça, porque deles é o reino dos céus\"", + "${c}7,8JESUS disse:${c}12,9\"Eu sou o caminho, a verdade e a vida ninguém vai ao Pai se não por mim\"", + "${c}7,8JESUS disse:${c}12,9\"Deixa por agora, porque assim nos convém cumprir toda a justiça\"", + "${c}7,8JESUS disse:${c}12,9\"Está escrito: Nem só de pão viverá o homem, mas de toda a palavra que sai da boca de Deus\"", + "${c}7,8JESUS disse:${c}12,9\"Vinde após mim e eu vos farei pescadores de homens\"" + ); + + my ( $data, $server, $witem ) = @_; + $witem->command( + "/MSG " . $witem->{name} . " " . $passagens[ rand @passagens ] ); +} + +Irssi::command_bind( 'passagem', 'passagem' ); +Irssi::command_bind( 'jesus', 'jesus' ); diff --git a/inteligente.pl b/inteligente.pl new file mode 100644 index 0000000..b03ff57 --- /dev/null +++ b/inteligente.pl @@ -0,0 +1,62 @@ +#################################################### +# pseudo-intelectual script for irssi +#################################################### +# changelog +# 0.1 first working version /pi +# 0.2 added pseudo_intelectual option +# 0.3 cleared a lot the script with a nice regex from dr_pro +# 0.4 doesnt put the dot if the last word is a smiley, again with a nice regex from dr_pro + +use strict; +use vars qw($VERSION %IRSSI); + +$VERSION = "0.4"; +%IRSSI = ( + authors => "Pedro de Oliveira", + contact => "falso\@rdk.homeip.net", + name => "Pseudo-Intelectual Script", + description => "With this script you can talk ", + "like a real pseudo-intelectual ", + "with the first letter in uppercase ", + "and with the dot at the end.", + license => "GPL", + url => "http://rdk.homeip.net/irssi/", +); + +use Irssi; +use Irssi::Irc; + +sub convert { + my ($msg) = @_; + $_ = $msg; + + s/([^\?\.\!])\s*$/$1./ + unless /\w{3,}:\/\/[^\s]*$|:\-?[\>\<\(\)D\/\\]$|^\s+$/; + s/([\?\.\!]\s\w)|^(\w)/uc($1.$2)/eg; + $1 =~ s/( i )/ I /; + $1 =~ s/( i')/ I'/; + return $_; +} + +sub pi { + my ( $string, $server, $witem ) = @_; + $witem->command( "msg " . $witem->{name} . " " . convert($string) ); +} + +sub always_on { + my ($string) = $_[0]; + my $opcao = Irssi::settings_get_int('pseudo_intelectual'); + + if ( $opcao eq "1" ) { + $_[0] = convert($string); + Irssi::signal_continue(@_); + } + +} + +Irssi::settings_add_int( 'misc', 'pseudo_intelectual', "0" ); +Irssi::command_bind( 'pi', 'pi' ); +Irssi::signal_add( "send text", "always_on" ); +Irssi::print( +"pseudo-intelectual script loaded\nuse with /pi \nor /set pseudo_intelectual 1" +); diff --git a/mirc.pl b/mirc.pl new file mode 100644 index 0000000..8de1e2f --- /dev/null +++ b/mirc.pl @@ -0,0 +1,36 @@ +################################################## +# crash mirc script for irssi +################################################## + +use Irssi; +use Irssi::Irc; + +sub own_all { + my ( $data, $server, $channel, $witem ) = @_; + + if ( !$channel || $channel->{type} ne 'CHANNEL' ) { + Irssi::print('No active channel in window'); + return; + } + + foreach my $nick ( $channel->nicks() ) { + $channel->command( "/quote privmsg " + . $nick->{nick} + . " :\cADCC SEND \"x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x\" 0 0 0\cA" + ); + + } +} + +sub owned { + my ( $data, $server, $witem ) = @_; + $data =~ s{\s+$}{}; + $nick = $data; + + $witem->command( +"/msg $nick \cADCC SEND \"x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x\" 0 0 0\cA" + ); +} + +Irssi::command_bind( 'owned', 'owned' ); +Irssi::command_bind( 'own_all', 'own_all' ); diff --git a/modes.pl b/modes.pl new file mode 100644 index 0000000..62b6164 --- /dev/null +++ b/modes.pl @@ -0,0 +1,44 @@ +use Irssi; +use Irssi::Irc; + +sub fmodeall { + my ( $data, $server, $channel, $witem ) = @_; + + if ( !$channel || $channel->{type} ne 'CHANNEL' ) { + Irssi::print('No active channel in window'); + return; + } + + $modes = ""; + $lulz = ""; + foreach my $nick ( $channel->nicks() ) { + $modes .= '+v-v+v-v'; + $lulz .= + $nick->{nick} . ' ' + . $nick->{nick} . ' ' + . $nick->{nick} . ' ' + . $nick->{nick} . ' '; + } + + $channel->command("/mode $channel->{name} $modes $lulz"); +} + +sub fmode { + + my ( $data, $server, $channel, $witem ) = @_; + $data =~ s{\s+$}{}; + $nick = $data; + + $modes = ""; + $lulz = ""; + for ( $i = 0 ; $i <= 15 ; $i++ ) { + $modes .= '+v-v'; + $lulz .= $nick . ' '; + } + + Irssi::print("/mode $channel->{name} $modes $lulz"); + $channel->command("/mode $channel->{name} $modes $lulz"); +} + +Irssi::command_bind( 'fmode', 'fmode' ); +Irssi::command_bind( 'fmodeall', 'fmodeall' ); diff --git a/piropo.pl b/piropo.pl new file mode 100644 index 0000000..1a8f54b --- /dev/null +++ b/piropo.pl @@ -0,0 +1,116 @@ +use Irssi; +use Irssi::Irc; + +sub piropo { + my @troll = ( + "Ó flor dá para pôr?", + "Ó musa dás-me tusa.", + "Ó bomboca, mostra a toca?", + "Ó doce, era onde fosse.", + "Ó beleza, deixas-ma tesa.", + "Ó boneca, vai uma queca?", + "És como um helicóptero: gira e boa.", + "Ó fêvera, junta-te aqui à brasa.", + "Ó jóia, anda aqui ao ourives.", + "Ó 'morcona', comia-te o sufixo.", + "Ó filha, aperta aqui que é mais fofo.", + "Ó jeitosa, és mais apertadinha que os rebites de um submarino.", + "Andas na tropa? É que marchavas que era uma maravilha.", + "Se fosses um barco pirata, comia-te o tesouro que tens entre as pernas.", + "Tantas curvas e eu sem travões.", + "Usas cuecas TMN? É que tens um rabinho que é um mimo.", + "A tua mãe só pode ser uma ostra para cuspir uma pérola como tu.", + "Tens um cu que parece uma cebola, é de comer e chorar por mais.", + "Só queria que fosses uma pastilha elástica para te comer o dia todo.", + "Tanta carne boa e eu em jejum.", + "Se o teu cu fosse um banco, fazia uma poupança a taxa fixa.", + "Ó filha, agora já percebo porque é que tenho a talocha nas mãos.", + "Belas pernas, a que horas abrem?", + "A ti não te custava nada e a mim sabia-me tão bem.", + "Até davas uma boa actriz mas és muito melhor atrás.", + "Ainda dizem que as flores não andam.", + "Ó filha, com um cuzinho desses deves cagar bombons.", + "Ó filha, levavas aí com o martelo pneumático que fazíamos o túnel do Marquês num instante.", + "Que bela anilha que tu tens, deixa lá enroscar o meu parafuso.", + "Só custa a cabeça que o resto é pescoço.", + "Que rica sardinha para o meu gatinho.", + "Anda cá a cima afagar-me a cobra zarolha.", + "Ó filha, o teu pai devia ter a régua torta para te fazer com curvas assim.", + "Ó filha, fazia-te um pijaminha de cuspo.", + "Quem me dera que fosses um frango para te meter um pau no cu e fazer-te suar.", + "Só queria que fosses um cavalinho de carrossel, para te montar todo o dia por 50 cêntimos.", + "Ó filha, anda cá a cima que até a barraca abana.", + "Contigo filha, era até ao osso.", + "Metia-te inteira até que ma mordesses.", + "Posso tocar no teu umbigo da parte de dentro?", + "Ai de ti que eu saiba que esse cuzinho anda a passar fome.", + "Ó filha, enchia-te essa cona toda de massa.", + "Só não tenho pêlos na língua porque tu não queres.", + "Ó filha, anda cá a cima que ele não se vai chupar sozinho.", + "Tens uns olhos tão lindos, tão lindos, que te comia essa cona toda.", + "Caiava-te toda de branco por dentro.", + "Contigo era até encontrar petróleo.", + "Ó linda, sobe aqui à palmeira e anda-me lamber os cocos.", + "Ó faneca, anda cá que o pai unta-te.", + "O teu cu parece uma serra eléctrica, não há pau que lhe resista.", + "És tão quente que até se me grelham os tomates.", + "O meu amor por ti é como a diarreia, não o consigo manter cá dentro.", + "Diz-me quem é a tua ginecologista para eu lhe ir chupar o dedo.", + "Com esse cu, estás convidada a cagar na minha casa.", + "Contigo até me tornava mineiro, só para te abrir os buracos todos.", + "Podia ficar um mês a cagar trapos mas comia-te com roupa e tudo.", + "Posso pagar-te uma bebida ou preferes em dinheiro?", + "Ainda dizem que a fruta verde não se come.", + "Ó filha, lambia-te o que tu mais gostas.", + "Ó fofa, agarra aqui na corneta.", + "Agarra-me aqui no tarolo, ó princesa.", + "O teu pai deve ser arquitecto, tens um cu que é uma obra.", + "Ó filha, agarra aqui com a mão.", + "Que rico filho. Anda cá cima que eu faço-te outro mas mais bonito.", + "Ó sol, sopra aqui na minha flauta pingante.", + "Ó boneca, era a estrear.", + "Ia até ao fim do mundo por um dos teus sorrisos, e ainda mais longe pela outra coisa que podes fazer com a boca. ", + "Estou a lutar desesperadamente contra o impulso de fazer de ti a mulher mais feliz do mundo.", + "Sabes onde ficava bem a tua roupa? Toda amarrotada no chão do meu quarto.", + "Só a mim é que não me calha uma destas na rifa.", + "Diz-me lá como te chamas para te pedir ao Menino Jesus.", + "Ó filha, queres ir ao céu? Sobe os andaimes que o resto do caminho é por minha conta.", + "Ó filha, se não acreditas que Deus é feito de carne e osso sobe os andaimes e anda cá tocar-me.", + "Abençoados pais que conceberam esta coisinha linda.", + "Por acaso és católica? É que tens um cu que valha-me Deus.", + "Se eu estivesse no teu lugar, tinha sexo comigo na boa.", + "Ó menina, cuidado que prendeu-se-lhe a parte de baixo da saia no manípulo da betoneira.", + "Essa roupa fica-te muito bem, mas eu ficava-te melhor.", + "Se cair, já sei onde me agarrar.", + "Acreditas em amor à primeira vista ou tenho que passar por aqui outra vez?", + "Anda cá que te vou dar uma sessão de raboterapia.", + "Não sou muito bom em matemática mas, 1+1 = 69?", + "Não te esqueças do meu nome, mais logo vais gritá-lo.", + "Minha senhora, troco a sua filha por um piano, assim, podemos tocar os dois.", + "És um bilhete de primeira classe para o pecado.", + "Queria ser um patinho de borracha para passar o dia na tua banheira.", + "Deves estar tão cansada, passaste a noite às voltas na minha cabeça.", + "Posso não ser bonito como o Brad Pitt, nem ter os músculos do Schwarzenegger, mas a lamber sou uma Lassie.", + "Com uma montra dessas, imagino como é o armazém.", + "Ó filha, contigo era até partir os pés à cama.", + "Ó doce, anda cá a cima fazer uma festinha ao tareco.", + "Não és nada de se deitar fora, já tive pior e a pagar.", + "Podes não ser a rapariga mais gira, mas com a luz apagada também é bom.", + "Ó filha, tens carinha de modelo mas o teu cu é um continente.", + "Com umas bóias dessas o Titanic não tinha ido ao fundo.", + "Com um piso desses deves ser mais rodada que a 2ª Circular.", + "Ai não queres? Eu vi logo, gorda como estás é porque não suas muito.", + "Mau? Mau o quê? Disse algum disparate ou chupas aqui mesmo?", + "És mesmo esguia, pareces uma sereia: metade mulher, metade baleia.", + "Ó filha, com menos cu também se caga.", + "Ó filha, se o teu cu fosse uma torrada, precisava de um remo para o barrar.", + "Também só queria saber o teu nome para quando me masturbar saber em quem estou a pensar.", + "Ó filha, só não sou teu pai por quinhentos paus.", + "Ó filha, com esse atrelado só com carta de pesados" + ); + + my ( $data, $server, $witem ) = @_; + $witem->command( "/MSG " . $witem->{name} . " " . $troll[ rand @troll ] ); +} + +Irssi::command_bind( 'piropo', 'piropo' ); diff --git a/polvo.pl b/polvo.pl new file mode 100644 index 0000000..462cdff --- /dev/null +++ b/polvo.pl @@ -0,0 +1,58 @@ +use Irssi; +use Irssi::Irc; +use Irssi qw(command_bind signal_add); + +use strict; +use warnings; + +use vars qw($VERSION %IRSSI); +$VERSION = "0.9"; +%IRSSI = ( + authors => 'falso', + name => 'polvo', + description => '', + license => 'BSD', +); + +sub public_polvo { + my ( $server, $msg, $nick, $address, $target ) = @_; + cmd_polvo( $server, $target, $msg ); +} + +sub own_polvo { + my ( $server, $msg, $target ) = @_; + cmd_polvo( $server, $target, $msg ); +} + +sub cmd_polvo { + my ( $server, $target, $input_msg ) = @_; + my $output_msg = ""; + + #print $input_msg; + if ( $input_msg =~ /^\ %s <--", + $args[ rand @args ] ); + } + } + $server->command( 'msg ' . $target . ' ' . $output_msg ); + } +} + +signal_add( "message public", "public_polvo" ); +signal_add( "message own_public", "own_polvo" ); diff --git a/ragemeter.pl b/ragemeter.pl new file mode 100644 index 0000000..62b0510 --- /dev/null +++ b/ragemeter.pl @@ -0,0 +1,114 @@ +# vim: ai ts=4 sts=4 et sw=4 ft=perl +# vim: autoindent tabstop=4 shiftwidth=4 expandtab softtabstop=4 filetype=perl + +use strict; +use vars qw($VERSION %IRSSI); + +$VERSION = "1.0"; +%IRSSI = ( + authors => "Pedro de Oliveira", + contact => "falsovsky\@gmail.com", + name => "ragemeter", + description => "With this script you caALL GLORY TO THE HYPNOTOAD", + license => "BSD" +); + +use Irssi; +use Irssi::Irc; + +my %colors = ( + 'white' => 0, + 'black' => 1, + 'blue' => 2, + 'green' => 3, + 'light red' => 4, + 'red' => 5, + 'purple' => 6, + 'orange' => 7, + 'yellow' => 8, + 'light green' => 9, + 'cyan' => 10, + 'light cyan' => 11, + 'light blue' => 12, + 'light purple' => 13, + 'gray' => 14, + 'light gray' => 15 +); + +my %themes = ( + 'default' => [ + $colors{'light green'}, $colors{'yellow'}, + $colors{'orange'}, $colors{'light red'} + ], + 'new' => [ + $colors{'light green'}, $colors{'yellow'}, $colors{'orange'}, + $colors{'light red'}, $colors{'red'} + ] +); + +sub ragemeter { + my ( $data, $server, $window ) = @_; + + my $width = 30; # Default var width + my $level = int( rand(105) + 1 ); # percentage filled + my $who = $server->{nick}; + my $message = ""; + my $theme = $themes{'default'}; + + if ( $data =~ m/-who (\S+)/ ) { $who = $1; $data =~ s/-who \S+//g; } + if ( $data =~ m/-width (\d+)/ ) { $width = $1; $data =~ s/-width \d+//g; } + if ( $data =~ m/-level (\d+)/ ) { $level = $1; $data =~ s/-level \d+//g; } + if ( $data =~ m/-msg ([\S ]+)/ ) { $message = $1; } + + if ( $message eq "" ) { + if ( $level <= 15 ) { $message = "CALM AND PEACEFUL"; } + elsif ( $level <= 25 ) { $message = "RELAXED"; } + elsif ( $level <= 50 ) { $message = "NOT SO ANGRY"; } + elsif ( $level <= 100 ) { $message = "ANGRY AT YOU"; } + elsif ( $level > 100 ) { $message = "OFF DA SCALE (buffar ovarrun)"; } + } + + my $ncolors = scalar(@$theme); + my $colorwidth = int( $width / $ncolors ); + + my $msg = "rage-meter for \002$who\002\037:\037 \00314["; + + for ( my $i = 0 ; $i < $width ; $i++ ) { + + for ( my $x = 0 ; $x < $ncolors ; $x++ ) { + if ( $i == $colorwidth * $x ) { + $msg .= "\003" . @$theme[$x]; + } + } + + if ( int( ( $i / $width ) * 100 ) >= $level ) { + $msg .= "-"; + } + else { + $msg .= "="; + } + + } + + $msg .= "\00314]"; + + if ( $level > 100 ) { + my $levelwidth = ( $level * $width ) / 100; + $msg .= "\003" . @$theme[-1]; + for ( my $i = 0 ; $i < ( $levelwidth - $width ) ; $i++ ) { + $msg .= "="; + } + } + + $msg .= " \002\037\0034" . $message; + + if ($window) { + $window->command( "say " . $msg ); + } + else { + Irssi::print($msg); + } +} + +Irssi::command_bind( 'ragemeter', 'ragemeter' ); +Irssi::command_set_options( 'ragemeter', '-who -width -level -msg' ); diff --git a/rand.pl b/rand.pl new file mode 100644 index 0000000..8d019d2 --- /dev/null +++ b/rand.pl @@ -0,0 +1,36 @@ +use Irssi; + +@verb = ( + "spanking", "dancing with", "feeding", "mounting", + "fucking", "shaving", "starving", "doing", + "slapping", "pimping", "chewing on", "scrubbing", + "eating", "stuffing" +); + +@mid = ( "that", "my", "your", "the", "this" ); + +@adj = ( + "funky", "fucking", "lethal", "hungry", "steaming", "fluffy", + "ripe", "swollen", "abused", "oozing", "dead", "rubber" +); + +@noun = ( + "chicken", "donkey", "bitch", "lumberjack", "mound", "headache", + "twat", "hemorrhoid", "goat", "dog", "cat", "god", + "wife", "bald head", "dude", "foot", "beaver" +); + +sub randommsg { + + my ( $data, $server, $witem ) = @_; + + $data = + $verb[ int( rand( $#verb + 1 ) ) ] . " " + . $mid[ int( rand( $#mid + 1 ) ) ] . " " + . $adj[ int( rand( $#adj + 1 ) ) ] . " " + . $noun[ int( rand( $#noun + 1 ) ) ]; + + $witem->command("/me is $data"); +} + +Irssi::command_bind( 'rand', 'randommsg' ); diff --git a/reverse.pl b/reverse.pl new file mode 100644 index 0000000..03960a0 --- /dev/null +++ b/reverse.pl @@ -0,0 +1,10 @@ +use Irssi; +use Irssi::Irc; + +sub reverse { + my ( $data, $server, $witem ) = @_; + + $witem->command( "/MSG " . $witem->{name} . " " . scalar reverse($data) ); +} + +Irssi::command_bind( 'r', 'reverse' ); diff --git a/slogan.pl b/slogan.pl new file mode 100644 index 0000000..17bf74d --- /dev/null +++ b/slogan.pl @@ -0,0 +1,360 @@ +use Irssi; +use Irssi::Irc; +use strict; +use vars qw($VERSION %IRSSI); + +$VERSION = "0.0.1"; +%IRSSI = ( + authors => 'Tiago Sousa (aka mirage) & falso', + contact => 'mirage\@kaotik.org', + name => 'slogan', + description => 'Prints slogans for the given keyword', + license => 'GPLv3', + url => 'http://', +); + +my @slogans = ( + "%string% - a class of it's own", + "%string% - a safe place in an unsafe world!", + "%string% - as good as it gets!", + "%string% - be prepared.", + "%string% - be ready.", + "%string% - empowering people.", + "%string% - enjoy the difference.", + "%string% - first class!", + "%string% - forget the rest.", + "%string% - get ready.", + "%string% - go for it!", + "%string% - go for the game.", + "%string% - If you love %string%.", + "%string% - it's like heaven!", + "%string% - Just do it.", + "%string% - living innovation", + "%string% - now!", + "%string% - once you have it, you love it.", + "%string% - One name. One legend.", + "%string% - play it!", + "%string% - simplified!", + "%string% - spice up your life.", + "%string% - The Revolution.", + "%string% - Think different.", + "%string% - to feel free!", + "%string% - today and tomorrow.", + "%string% - what more could you want?", + "%string% - Xtending service.", + "%string% - Yabba Dabba Duh!", + "%string% - You see this name, you think dirty.", + "%string% - your game.", + "%string% - Your personal entertainer.", + "%string% after a long day.", + "%string% beat.", + "%string% brings out the best.", + "%string% can do.", + "%string% Dreamteam.", + "%string% empowers you.", + "%string% evolution.", + "%string% extra dry.", + "%string% for a better future.", + "%string% for a professional image.", + "%string% for everybody.", + "%string% for everyone.", + "%string% for me!", + "%string% for president.", + "%string% for the masses.", + "%string% for you!", + "%string% for your health.", + "%string% for your kids!", + "%string% for your life.", + "%string% forever.", + "%string% groove.", + "%string% innovate your world.", + "%string% inside you.", + "%string% is a female force.", + "%string% is a never ending story.", + "%string% is back.", + "%string% is better than chocolate.", + "%string% is forever.", + "%string% is good for you.", + "%string% is inspiration.", + "%string% is my passion.", + "%string% is my sport.", + "%string% is my world.", + "%string% is our middle name.", + "%string% is rolling, the others are stoned.", + "%string% is the best!", + "%string% is the only way to be happy.", + "%string% is the sound of the future.", + "%string% is what the world was waiting for.", + "%string% is your friend.", + "%string% is your safe place in an unsafe world!", + "%string% it's a kind of magic.", + "%string% keeps going, and going, and going...", + "%string% kicks ass.", + "%string% know-how.", + "%string% lifestyle", + "%string% loves you.", + "%string% makes dreams come true.", + "%string% makes me hot.", + "%string% makes your day.", + "%string% moments.", + "%string% never die.", + "%string% never lies.", + "%string% never sleeps.", + "%string% nonstop.", + "%string% on the outside, tasty on the inside.", + "%string% online.", + "%string% only.", + "%string% rocks.", + "%string% rules.", + "%string% strikes back.", + "%string% takes good care of you.", + "%string% values.", + "%string% wanted.", + "%string% will be for you what you want it to be.", + "%string% will do anything for you.", + "%string% wonder.", + "%string%'s got it all!", + "%string%'s like heaven.", + "%string%, better than sex.", + "%string%, created by nature.", + "%string%, good.", + "%string%, i want it all.", + "%string%, in touch with tomorrow.", + "%string%, it's as simple as that!", + "%string%, just the best.", + "%string%, love it or leave it.", + "%string%, one for all.", + "%string%, pure lust.", + "%string%, since 1845.", + "%string%, so what!", + "%string%, stay in touch.", + "%string%, the clever way.", + "%string%, the freshmaker.", + "%string%, the original.", + "%string%, the real thing.", + "%string%, the secret of women.", + "%string%, the smart choice.", + "%string%, there's no better way.", + "%string%, this is it!", + "%string%, to hell with the rest.", + "%string%, where success is at home.", + "%string%, whiter than the whitest!", + "%string%, you'll love it!", + "%string%, you've got it!", + "%string%, your family will love you.", + "%string%, your specialist.", + "%string%, your way!", + "%string%. Impossible is nothing.", + "%string%. Making people sucessful in a changing world.", + "%string%. See more. Do more.", + "%string%. The power on your side.", + "%string%. We build smiles.", + "%string%... whatever you want.", + "%string%? Yes please.", + "%string%? You bet.", + "%string%rific.", + "%string%tastic!", + "3... 2... 1... %string%.", + "A day with %string%.", + "All you need is %string%.", + "Always the real thing, always %string%.", + "And on the eighth day, god created %string%.", + "Anyone can handle %string%.", + "Are you ready for %string%?", + "Be alive with %string%.", + "Be inspired by %string%.", + "Be part of %string%.", + "Be young, have fun, taste %string%.", + "Bigger. Better. %string%.", + "Break through with %string%.", + "Buy %string% now!", + "Call a friend, call %string%.", + "Can you feel %string%?", + "Can you feel it? %string%.", + "Connect with %string%.", + "Discover the world of %string%.", + "Do it with %string%.", + "Do you know %string%?", + "Don't forget your %string%.", + "Don't get in the way of %string%.", + "Don't mess with %string%.", + "Don't play with fire, play with %string%.", + "Don't worry, %string% takes care.", + "Easy %string%.", + "Endless possibilities with %string%.", + "Enjoy %string%.", + "Every %string% has a story.", + "Everyone loves %string%.", + "Everyone should believe in %string%.", + "Everything is simple with %string%.", + "Feel good with %string%.", + "Feel it - %string%!", + "Feel the magic of %string%.", + "Firstclass %string%!", + "Follow your %string%.", + "Food or %string%? I'll have %string%.", + "For the love of %string%.", + "Free %string%.", + "Funky %string%.", + "Get me my %string%.", + "Go far with %string%.", + "Go farther with %string%.", + "Go to heaven with %string%.", + "God made %string%.", + "Good to know %string%.", + "Halleluja, it's a %string%.", + "Have a break, have a %string%.", + "Heal the world with %string%.", + "hhmmmmm... %string%.", + "High life with %string%.", + "I believe in %string%.", + "I can't believe it's %string%.", + "I fall for %string%.", + "I lost weight with %string%.", + "I love %string%.", + "I quit smoking with %string%.", + "I trust %string%.", + "I want %string% and I want it now.", + "I want more, I want %string%.", + "I wish i had a %string%.", + "I wish i was a %string%.", + "I wouldn't leave the house without %string%.", + "I'd do anything for %string%.", + "I'd sleep with %string%.", + "I'd walk a mile for %string%.", + "Inspired by %string%.", + "It must be %string%.", + "It's my %string%!", + "It's not a dream. %string% is real!", + "It's time to think about %string%.", + "It's your %string%!", + "Jesus loves %string%.", + "Just %string%.", + "Keep going well, keep going %string%.", + "Kick ass with %string%!", + "Let your %string% flow.", + "Let's %string%!", + "Let's talk about %string%.", + "Life's beautiful with %string%.", + "Live %string%.", + "Long life %string%.", + "Lucky %string%.", + "Made by %string%.", + "Make the world a better place with %string%.", + "Make yourself at home with %string%.", + "My %string% and me.", + "My %string% beats everything.", + "My %string% is mine.", + "My %string%, your %string%, %string% for all!", + "My way is %string%.", + "Naughty little %string%.", + "Next stop, %string%.", + "No %string%, no kiss.", + "No need to worry with %string%.", + "Nobody does it like %string%.", + "Nobody doesn't like %string%.", + "Nonstop %string%.", + "Nothing is faster than %string%.", + "Nothing to worry about with %string%.", + "Oh my goddess, it's a %string%.", + "Oh my gods, it's a %string%.", + "Once %string%, always %string%.", + "One goal, one passion - %string%.", + "Ooh la la, %string%.", + "Passion for %string%.", + "Play %string%, start living.", + "Praise %string%.", + "Pure %string%. Pure Power.", + "Saved by %string%!", + "Say %string%.", + "Say it with %string%.", + "See the world with %string%.", + "See you at %string%.", + "Share moments, share %string%.", + "Simply %string%!", + "Start the day with %string%.", + "Stay cool with %string%.", + "Step into the light with %string%.", + "Swing your %string%.", + "Take what you want, but leave %string% alone!", + "Thanks %string%.", + "The %string% community.", + "The %string% effect.", + "The %string% look.", + "The %string% man.", + "The %string% people.", + "The %string% spirit.", + "The %string% universe.", + "The %string% way of life.", + "The age of %string%.", + "The American Way of %string%.", + "The art of %string%.", + "The best %string% in the world.", + "The Future of %string%.", + "The goddess made %string%.", + "The gods made %string%.", + "The ideal %string%.", + "The magic of %string%.", + "The one and only %string%.", + "The original %string%.", + "The Power of %string%.", + "The president buys %string%.", + "The queen buys %string%.", + "The Queen of %string%.", + "The secret of %string%.", + "The Spirit of %string%.", + "The view on %string%.", + "The wonder has a name: %string%.", + "There is no life without %string%.", + "There's a bit of %string% in all of us.", + "There's lots of fun in %string%.", + "There's only one thing in the world I want and that is %string%.", + "There's only one true %string%!", + "Things go better with %string%.", + "Think %string%.", + "Think different, think %string%.", + "Think. Feel. %string%.", + "Truly %string%.", + "Up, up and away with %string%.", + "Way to go, %string%!", + "What is %string%?", + "When you say %string% you've said it all.", + "Where the hell is %string%?", + "Where's %string%?", + "Where's your %string%?", + "Who is %string%?", + "Who wouldn't fight for %string%?", + "With a name like %string%, it has to be good.", + "World's finest %string%.", + "Worldclass %string%!", + "You better get inside %string%.", + "You better get your %string% out.", + "You can't beat %string%.", + "You can't stop %string%.", + "You don't want %string% as your enemy!", + "You know when it's %string%.", + "You wouldn't want to miss %string%." +); + +# USAGE: +# /slogan +# writes a slogan with "text" to the current channel + +sub cmd_slogan { + my ( $data, $server, $witem ) = @_; + if ( !$server || !$server->{connected} ) { + Irssi::print("Not connected to server"); + return; + } + if ( !$witem ) { + Irssi::print("Use this command in a channel or pvt"); + return; + } + if ($data) { + my $slogan = $slogans[ rand @slogans ]; + $slogan =~ s/%string%/$data/; + $witem->command( "/SAY " . $slogan ); + } +} + +Irssi::command_bind( 'slogan', 'cmd_slogan' ); diff --git a/taveira.pl b/taveira.pl new file mode 100644 index 0000000..04e2f56 --- /dev/null +++ b/taveira.pl @@ -0,0 +1,35 @@ +use Irssi; +use Irssi::Irc; + +sub taveira { + my $c = ("\003"); + my @taveira = ( + "${c}2\"Ui ca bom!\" ${c}6Taveira.1:69", + "${c}5\"TAVEIRA DISSE : Ui que enrabadela pa', que eu vou dar nesta querida.\" ${c}6Taveira.2:69", + "${c}10\"TAVEIRA DISSE : Ai, ele todo lah dentro!\" ${c}6Taveira.3:69", + "${c}3\"TAVEIRA DISSE : Todo la' dentro do cu da querida!\" ${c}6Taveira.4:69", + "${c}7\"TAVEIRA DISSE : Pronto querida! Estah todo, linda! Pronto! Pronto!\" ${c}6Taveira.5:69", + "${c}4\"TAVEIRA DISSE : Com kygel nao doi!\" ${c}6Taveira.6:69", + "${c}3\"TAVEIRA DISSE : Todo la' dentro do cu da querida!\" ${c}6Taveira.4:69", + "${c}5\"TAVEIRA DISSE : Esta's a ver querida como eh bom?\" ${c}6Taveira.7:69", + "${c}15\"TAVEIRA DISSE : Agora nao doi pois nao?Isso, poe esse cuzinho bem para cima.Va', aguenta-te bem. So' este bocadinho e' que doi.\" ${c}6Taveira.8:69", + "${c}7\"TAVEIRA DISSE : Isso mesmo, respira fundo! Pronto, ja' esta'. Pronto! Pronto! Na~o te va's embora.Aguenta, aguenta!\" ${c}6Taveira.9:69", + "${c}10\"TAVEIRA DISSE : Pronto, ja' esta'! Ja' esta' todo. Ui e' ta~o bom, esse cu!\" ${c}6Taveira.10:69", + "${c}9\"TAVEIRA DISSE : Enquanto me deixares meter o caralho no cu, fico sempre a gostar de ti.\" ${c}6Taveira.11:69", + "${c}10\"TAVEIRA DISSE : Vou ali buscar oleo.\" ${c}6Taveira.12:69", + "${c}14\"TAVEIRA DISSE : Aguenta, aguenta!\" ${c}6Taveira.13:69", + "${c}10\"TAVEIRA DISSE : Vai aguentando que depois venho-me na tua boca. Depois deitas tudo na minha barriguinha e lambes, ta' bem?\" ${c}6Taveira.14:69", + "${c}11\"TAVEIRA DISSE : Vamos comer a Fatinha, na~o e'?\" ${c}6Taveira.15:69", + "${c}2\"TAVEIRA DISSE : Olha o que vai entrar nesse CU!Vah, que esta cabecinha nao tem ombros!\" ${c}6Taveira.16:69", + "${c}3\"TAVEIRA DISSE : Queres oleo?E' grande demais?Ah, que vou faze-la sofrer um bocadinho.\" ${c}6Taveira.17:69", + "${c}12\"TAVEIRA DISSE : Ah diz assim, Eh bruto!, diz alto diz.Aguenta! Nao chora!\" ${c}6Taveira.18:69", + "${c}2\"TAVEIRA DISSE : Eh grande nao eh?\" ${c}6Taveira.19:69" + ); + + my ( $data, $server, $witem ) = @_; + + $witem->command( + "/MSG " . $witem->{name} . " " . $taveira[ rand @taveira ] ); +} + +Irssi::command_bind( 'taveira', 'taveira' ); diff --git a/trolha.pl b/trolha.pl new file mode 100644 index 0000000..9f41510 --- /dev/null +++ b/trolha.pl @@ -0,0 +1,31 @@ +use Irssi; +use Irssi::Irc; + +sub trolha { + my $c = ("\003"); + my @trolha = ( + "${c}2trolha DIXIT \"A tua mãe só pode ser uma ostra para cuspir uma pérola como tu!\" ${c}6trolha.1:69", + "${c}5\"trolha DIXIT : Só queria que fosses uma pastilha elástica para te comer o dia todo.\" ${c}6trolha.2:69", + "${c}10\"trolha DIXIT : Tens um cú que parece uma cebola! É de comer e chorar por mais!\" ${c}6trolha.3:69", + "${c}3\"trolha DIXIT : Oh boa, com um cú desses deves cagar bombons!!\" ${c}6trolha.4:69", + "${c}7\"trolha DIXIT : És como um helicóptero: gira e boa!\" ${c}6trolha.5:69", + "${c}4\"trolha DIXIT : Um dia pensei Levar-te no meu coração Mas depois topei Que era muita areia para o meu camião...\" ${c}6trolha.6:69", + "${c}5\"trolha DIXIT : Usas cuecas TMN? É que tens um rabinho que é um mimo! \" ${c}6trolha.7:69", + "${c}15\"trolha DIXIT : Belas pernas! A que horas abrem?\" ${c}6trolha.8:69", + "${c}7\"trolha DIXIT : Ó Fevera! Junta-te aqui à brasa!\" ${c}6trolha.9:69", + "${c}10\"trolha DIXIT : Ó joia! Anda aqui ao ourives.\" ${c}6trolha.10:69", + "${c}9\"trolha DIXIT : Ó morcôna, comia-te o sufixo!\" ${c}6trolha.11:69", + "${c}10\"trolha DIXIT : Ó linda, sobe-me à palmeira e lambe-me os cocos...\" ${c}6trolha.12:69", + "${c}14\"trolha DIXIT : Sabes onde ficava bem essa tua roupa? Toda amarrotada no chão do meu quarto!\" ${c}6trolha.13:69", + "${c}10\"trolha DIXIT : Contigo filha, era até ao osso!\" ${c}6trolha.14:69", + "${c}11\"trolha DIXIT : Ó estrela, Queres cometa?\" ${c}6trolha.15:69", + "${c}7\"trolha DIXIT : Ó pessega..tirava-te o pelo todo...nem caroço deixava!\" ${c}6trolha.16:69", + "${c}12\"trolha DIXIT : fazes anos ? vou-te partir o bolo todo!\" ${c}8trolha.17:69", + ); + + my ( $data, $server, $witem ) = @_; + + $witem->command( "/MSG " . $witem->{name} . " " . $trolha[ rand @trolha ] ); +} + +Irssi::command_bind( 'trolha', 'trolha' ); diff --git a/trout.pl b/trout.pl new file mode 100644 index 0000000..23f630f --- /dev/null +++ b/trout.pl @@ -0,0 +1,18 @@ +################################################## +# tROUT speaking for irssi +################################################## + +use Irssi; +use Irssi::Irc; + +sub tROUT { + my ( $data, $server, $witem ) = @_; + + $data =~ s/( ?)(\w)(\w*)/$1\l$2\U$3/g; + + $witem->command( "/MSG " . $witem->{name} . " $data" ); +} + +Irssi::command_bind( 'trout', 'tROUT' ); + +Irssi::print("tROUTNESS sCRIPT lOADED\n uSE wITH /tROUT text"); diff --git a/unholy.pl b/unholy.pl new file mode 100644 index 0000000..0c4697f --- /dev/null +++ b/unholy.pl @@ -0,0 +1,100 @@ +#!/usr/bin/perl +#// Based on CoolNerds' Random Profound Insight Generator +#// @ http://www.coolnerds.com/webauth/jscript/profound.htm +#// Unholy lexicon and all invoked titles (c) Rob Waldie, June 98 +#// -- + +use Irssi; +use Irssi::Irc; + +@first = ( + "And", "Of", "Under", "In", + "Through", "Between", "Beneath", "Beyond", + "Towards", "Into", "From", "Conquering", + "Praise", "Praising", "Storming", "Hailing", + "Beholding", "Worshipping", "Bleeding For", "Dwelling In", + "Rising From", "Descending Into", "War For", "Battling For", + "Gazing Over", "Hearing", "Blaspheming", "Crossing", + "Invoking", "Traversing", "Forever Reigns", "Conquer", + "Storm", "Hail", "Behold", "Invoke", + "Over" +); + +@article = ( "a", "The" ); + +@adjective = ( + "Black", "Hateful", "Evil", "Melancholic", + "Satanic", "Eternal", "Frostbitten", "Freezing", + "Funeral", "Blood Red", "Nocturnal", "Winter", + "Satanic", "Unholy", "Grim", "Frozen", + "Spectral", "Dead", "Grey", "Bleakest", + "Burning", "Silent", "Still", "Dark", + "Pagan", "Vast", "Mighty", "Infernal", + "Majestic", "Blasphemic", "Heathen", "Everlasting", + "Ancient", "Northern", "Antichristian", "Blazing", + "Crucified" +); + +@noun1 = ( + "Wood", "Forest", "Mountain", "Night", + "Realm", "Kingdom", "Dominion", "Northland", + "North", "Hell", "Underworld", "Infinity", + "Eternity", "Chasm", "Sky", "Blood", + "Wrath", "Power", "Might", "Glory", + "Forevermore", "Despair", "Shadows", "Throne", + "Fullmoon", "Cosmos", "Death", "Darkness", + "Frost", "Horizon", "Fog", "Mist", + "Hordes", "Legion", "Passage", "Blasphemy", + "Fall Of Heaven", "Death Of Christ", "Twilight", "Furnace", + "Chalice", "Sword", "Dagger", "Coffin", + "Pentagram", "Cloak", "Chant", "Scream", + "Cry", "Wolf", "Raven", "Winter", + "Demon", "Storm", "Whore", "Goat", + "Dawn", "Crucifixion", "Oath", "Pact" +); + +@preposition = ( + "Beyond", "Towards", "Into", "From", + "And", "Of", "Under", "In", + "Through", "Between", "Beneath", "With", + "Surrounded By", "Bewitched By", "For The Glory Of", "Over", + "In The Name Of" +); + +@noun2 = ( + "Woods", "Forests", "Mountains", "Night", + "Realms", "Kingdoms", "Dominions", "Northlands", + "North", "Hell", "Underworlds", "Infinity", + "Eternity", "Chasms", "Skies", "Wolves", + "Wrath", "Power", "Might", "Glory", + "Forevermore", "Despair", "Shadows", "Thrones", + "Necromancy", "Cosmos", "Death", "Darkness", + "Frosts", "Horizons", "Fog", "Mist", + "Hordes", "Legions", "Passages", "Blasphemy", + "Lust", "Sin", "Twilight", "Sodomy", + "Chalices", "Swords", "Daggers", "Coffins", + "Pentagrams", "Flagellation", "Chants", "Screams", + "Cries", "Winter", "Demons", "Witchery", + "Spellcraft", "Hellfire", "Supremecy", "Desolation", + "Light", "Storms", "Winds", "Horns", + "Damnation", "Evil", "Immortality", "Inferno", + "Spears" +); + +use vars qw (@first, @article, @adjective, @noun1, @preposition, @noun2); + +#//function to generate the random profundity. +sub unholybmizer { + + $msg = $first[ int( rand(@first) ) ] . " "; + $msg .= $article[ int( rand(@article) ) ] . " "; + $msg .= $adjective[ int( rand(@adjective) ) ] . " "; + $msg .= $noun1[ int( rand(@noun1) ) ] . " "; + $msg .= $preposition[ int( rand(@preposition) ) ] . " "; + $msg .= $adjective[ int( rand(@adjective) ) ] . " "; + $msg .= $noun2[ int( rand(@noun2) ) ]; + + Irssi::active_win()->command( '/say ' . $msg ); +} + +Irssi::command_bind( 'unholybmizer', 'unholybmizer' ); diff --git a/zalgo.pl b/zalgo.pl new file mode 100644 index 0000000..9e7edbc --- /dev/null +++ b/zalgo.pl @@ -0,0 +1,146 @@ +use strict; +use utf8; +use vars qw($VERSION %IRSSI); + +use Irssi; +use Irssi::Irc; + +$VERSION = "0.2"; +%IRSSI = ( + authors => "Pedro de Oliveira", + contact => "falso\@rdk.homeip.net", + name => "Zalgo - HE COMES", + description => +"Zalgo-ing script based on tchouky\'s javascript Zalgo text generator - http://www.eeemo.net/", + license => "BSD" +); + +my @zalgo_up = ( + "\x{030d}", "\x{030e}", "\x{0304}", "\x{0305}", "\x{033f}", "\x{0311}", + "\x{0306}", "\x{0310}", "\x{0352}", "\x{0357}", "\x{0351}", "\x{0307}", + "\x{0308}", "\x{030a}", "\x{0342}", "\x{0343}", "\x{0344}", "\x{034a}", + "\x{034b}", "\x{034c}", "\x{0303}", "\x{0302}", "\x{030c}", "\x{0350}", + "\x{0300}", "\x{0301}", "\x{030b}", "\x{030f}", "\x{0312}", "\x{0313}", + "\x{0314}", "\x{033d}", "\x{0309}", "\x{0363}", "\x{0364}", "\x{0365}", + "\x{0366}", "\x{0367}", "\x{0368}", "\x{0369}", "\x{036a}", "\x{036b}", + "\x{036c}", "\x{036d}", "\x{036e}", "\x{036f}", "\x{033e}", "\x{035b}", + "\x{0346}", "\x{031a}" +); + +my @zalgo_down = ( + "\x{0316}", "\x{0317}", "\x{0318}", "\x{0319}", "\x{031c}", "\x{031d}", + "\x{031e}", "\x{031f}", "\x{0320}", "\x{0324}", "\x{0325}", "\x{0326}", + "\x{0329}", "\x{032a}", "\x{032b}", "\x{032c}", "\x{032d}", "\x{032e}", + "\x{032f}", "\x{0330}", "\x{0331}", "\x{0332}", "\x{0333}", "\x{0339}", + "\x{033a}", "\x{033b}", "\x{033c}", "\x{0345}", "\x{0347}", "\x{0348}", + "\x{0349}", "\x{034d}", "\x{034e}", "\x{0353}", "\x{0354}", "\x{0355}", + "\x{0356}", "\x{0359}", "\x{035a}", "\x{0323}" +); + +my @zalgo_mid = ( + "\x{0315}", "\x{031b}", "\x{0340}", "\x{0341}", "\x{0358}", "\x{0321}", + "\x{0322}", "\x{0327}", "\x{0328}", "\x{0334}", "\x{0335}", "\x{0336}", + "\x{034f}", "\x{035c}", "\x{035d}", "\x{035e}", "\x{035f}", "\x{0360}", + "\x{0362}", "\x{0338}", "\x{0337}", "\x{0361}", "\x{0489}" +); + +sub irand { + return int( rand( $_[0] ) ); +} + +sub rand_zalgo { + return $_[ irand( scalar(@_) ) ]; +} + +sub is_zalgo_char { + my $i; + for ( $i = 0 ; $i <= scalar(@zalgo_up) ; $i++ ) { + if ( $_[0] eq $zalgo_up[$i] ) { + return 1; + } + } + for ( $i = 0 ; $i <= scalar(@zalgo_down) ; $i++ ) { + if ( $_[0] eq $zalgo_down[$i] ) { + return 1; + } + } + for ( $i = 0 ; $i <= scalar(@zalgo_mid) ; $i++ ) { + if ( $_[0] eq $zalgo_mid[$i] ) { + return 1; + } + } + + return 0; +} + +sub he_comes { + my $txt = $_[0]; + my $newtxt = ''; + + for ( my $i = 0 ; $i <= length($txt) ; $i++ ) { + if ( is_zalgo_char( substr( $txt, $i, 1 ) ) == 1 ) { + next; + } + + my $num_up; + my $num_mid; + my $num_down; + + $newtxt .= substr( $txt, $i, 1 ); + + # mini + if ( $_[1] == 1 ) { + $num_up = irand(8); + $num_mid = irand(2); + $num_down = irand(8); + } + + # normal + if ( $_[1] == 2 ) { + $num_up = irand(16) / 2 + 1; + $num_mid = irand(6) / 2; + $num_down = irand(16) / 2 + 1; + } + + # maxi + if ( $_[2] == 3 ) { + $num_up = irand(64) / 4 + 3; + $num_mid = irand(16) / 4 + 1; + $num_down = irand(64) / 4 + 3; + } + + my $j; + + # up + for ( $j = 0 ; $j <= $num_up ; $j++ ) { + $newtxt .= rand_zalgo(@zalgo_up); + } + + # mid + for ( $j = 0 ; $j <= $num_mid ; $j++ ) { + $newtxt .= rand_zalgo(@zalgo_mid); + } + + # down + for ( $j = 0 ; $j <= $num_down ; $j++ ) { + $newtxt .= rand_zalgo(@zalgo_down); + } + } + + return $newtxt; +} + +sub irssi_zalgoamento { + my ( $s, $server, $witem ) = @_; + my $level = Irssi::settings_get_int('zalgo_level'); + if ( $level < 1 or $level > 3 ) { + $level = 1; + } + + $witem->command( "msg " . $witem->{name} . " " . he_comes( $s, $level ) ); +} + +Irssi::settings_add_int( 'misc', 'zalgo_level', 1 ); +Irssi::command_bind( 'zalgo', 'irssi_zalgoamento' ); +Irssi::print( "Zalgo!!!! HE COMES!!\n/set zalgo_level [1-3]\n" + . "1 para pouco zalgamento, 3 para muito" );