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