html/chanfull_duden.pl
1 # by Uwe 'duden' Dudenhoeffer
2 #
3 # chansync.pl
4
5
6 use strict;
7
8 use vars qw($VERSION %IRSSI);
9 $VERSION = '0.1';
10 %IRSSI = (
11 authors => 'Uwe \'duden\' Dudenhoeffer',
12 contact => 'script@duden.eu.org',
13 name => 'chanfull',
14 description => 'Notify if Channellimit is reached',
15 license => 'GPLv2',
16 url => '',
17 changed => 'Sat Feb 8 18:08:54 CET 2003',
18 );
19
20 # Changelog
21 #
22 # 0.1
23 # - first working version
24
25 use Irssi;
26
27 sub event_message_join ($$$$) {
28 my ($server, $channel, $nick, $address) = @_;
29 my $c=Irssi::channel_find($channel);
30 my $users=scalar @{[$c->nicks]};
31 return if($c->{limit} == 0);
32 my $left = $c->{limit} - $users;
33 if($left < 3) {
34 if($left<=0) {
35 Irssi::printformat(MSGLEVEL_CRAP, 'chanfull_full', $channel);
36 } else {
37 Irssi::printformat(MSGLEVEL_CRAP, 'chanfull_left', $left, $channel);
38 }
39 }
40 }
41
42 Irssi::signal_add('message join', 'event_message_join');
43
44 Irssi::theme_register([
45 'chanfull_left' => 'Only $0 client(s) left in {channel $1} till limit is reached',
46 'chanfull_full' => '{channel $0} is full'
47 ]);