Merged 0.7.99 irssi.
[crypto.git] / apps / irssi / scripts / quitmsg.pl
1 # If quit message isn't given, quit with a random message
2 # read from ~/.irssi/irssi.quit
3
4 use Irssi;
5 use Irssi::Irc;
6 use strict;
7
8 my $quitfile = glob "~/.irssi/irssi.quit";
9
10 sub cmd_quit {
11         my ($data, $server, $channel) = @_;
12         return if ($data ne "");
13
14         open (f, $quitfile) || return;
15         my $lines = 0; while(<f>) { $lines++; };
16
17         my $line = int(rand($lines))+1;
18
19         my $quitmsg;
20         seek(f, 0, 0); $. = 0;
21         while(<f>) {
22                 next if ($. != $line);
23
24                 chomp;
25                 $quitmsg = $_;
26                 last;
27         }
28         close(f);
29
30         foreach my $server (Irssi::servers) {
31                 $server->command("/disconnect ".$server->{tag}." $quitmsg");
32         }
33 }
34
35 Irssi::command_bind('quit', 'cmd_quit');