-
Notifications
You must be signed in to change notification settings - Fork 235
/
server_status.pl
43 lines (34 loc) · 1.19 KB
/
server_status.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
use Irssi;
use strict;
use warnings;
our $VERSION = "1.0.0";
our %IRSSI = (
authors => 'terminaldweller',
contact => 'https://terminaldweller.com',
name => 'server_status',
description => 'gives you the count of connected and unconnected servers as an expando',
license => 'GPL3 or newer',
url => 'https://github.com/irssi/scripts.irssi.org',
);
my $server_status_count = "";
my $timeout;
Irssi::settings_add_int('misc', 'server_status_count_freq', 100000);
sub server_status {
Irssi::timeout_remove($timeout);
my $connected_count = 0;
my $unconnected_count = 0;
for my $server (Irssi::servers()) {
if ($server->{'connected'}) {
$connected_count++;
} else {
$unconnected_count++;
}
}
$server_status_count = $connected_count."/".$unconnected_count;
$timeout = Irssi::timeout_add_once(Irssi::settings_get_int('server_status_count_freq'), 'server_status' , undef);
}
Irssi::expando_create('server_status_count', sub {
return $server_status_count;
}, {});
$timeout = Irssi::timeout_add(Irssi::settings_get_int('server_status_count_freq'), 'server_status' , undef);
server_status();