Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
52 lines (46 sloc) 1.34 KB
use strict;
require LWP::UserAgent;
use Irssi;
use HTTP::Request::Common;
use vars qw($VERSION %IRSSI);
$VERSION = "20180123";
%IRSSI = (
authors => "Carsten Otto",
contact => "c-otto\@gmx.de",
name => "mldonkey bandwidth script",
description => "Shows your mldonkey's current down- and upload rate",
license => "GPLv2",
url => "http://www.c-otto.de",
changed => "$VERSION",
commands => "mlbw"
);
Irssi::settings_add_str('mldonkey_bandwidth', 'mldonkey_bandwidth_host' ,'127.0.0.1:4080');
my $host = Irssi::settings_get_str('mldonkey_bandwidth_host');
sub cmd_mlbw
{
my ($args, $server, $target) = @_;
my $ua = LWP::UserAgent->new(timeout => 5);
my $req = GET "http://$host/submit?q=bw_stats";
my $resp = $ua->request($req);
my $output = $resp->content();
my $down = $output;
my $up = $output;
$down =~ s/.*Down: ([0-9]*\.*[0-9]) KB.*/$1/s;
$up =~ s/.*Up: ([0-9]*\.*[0-9]) KB.*/$1/s;
if ($down eq "") { $down = "(off)"; }
if ($up eq "") { $up = $down; }
$output = "-MLdonkey bandwidth stats- Down: $down - Up: $up";
if (!$server || !$server->{connected} || !$target)
{
Irssi::print $output;
} else
{
Irssi::active_win() -> command('say ' . $output);
}
}
sub cmd_changed
{
$host = Irssi::settings_get_str('mldonkey_bandwidth_host');
}
Irssi::command_bind('mlbw', 'cmd_mlbw');
Irssi::signal_add('setup changed', 'cmd_changed');