1# If quit message isn't given, quit with a random message 2# read from ~/.irssi/irssi.quit 3 4use Irssi; 5use Irssi::Irc; 6use strict; 7use vars qw($VERSION %IRSSI); 8 9$VERSION = "1.00"; 10%IRSSI = ( 11 authors => 'Fernando J. Pereda', 12 contact => 'ferdy@ferdyx.org', 13 name => 'quitrand', 14 description => 'Random quit messages - based on quitmsg (Timo Sirainen)', 15 license => 'GPLv2', 16); 17 18my $quitfile = glob "~/.irssi/irssi.quit"; 19 20sub cmd_quit { 21 my ($data, $server, $channel) = @_; 22 23 open(f,"<",$quitfile); 24 my @contenido = <f>; 25 close(f); 26 27 my $numlines = 0; 28 29 foreach my $nada (@contenido) { 30 $numlines++; 31 } 32 33 my $line = int(rand($numlines))+1; 34 35 my $quitmsg = "[IRSSI] ".$contenido[$line]; 36 37 chop($quitmsg); 38 39 print($quitmsg); 40 41 foreach my $sv (Irssi::servers()) { 42 foreach my $item ($sv->channels()) { 43 $item->command("PART ".$item->{name}." $quitmsg"); 44 } 45 } 46 47 foreach my $svr (Irssi::servers()) { 48 $svr->command("DISCONNECT ".$svr->{tag}." $quitmsg"); 49 } 50} 51 52Irssi::command_bind('quit', 'cmd_quit'); 53