1# by Uwe 'duden' Dudenhoeffer
2#
3# chansync.pl
4
5
6use strict;
7
8use 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
25use Irssi;
26
27sub 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
42Irssi::signal_add('message join', 'event_message_join');
43
44Irssi::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]);
48