/usr/share/irssi/scripts/bantime.pl is in irssi-scripts 20160301.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 44 45 46 47 48 49 50 51 52 53 54 55 | use strict;
use Irssi; # developed using irssi 0.8.9.CVS
use Time::Duration; # calculates the ban duration.
# either of the following should install the module
# perl -MCPAN -e 'install Time::Duration'
# cpan -i Time::Duration
# apt-get install libtime-duration-perl
# I recommend rebinding irssi's default /BANS from 'ban' to 'bantimes' (/alias BANS BANTIME)
use vars qw($VERSION %IRSSI);
$VERSION = "0.5";
%IRSSI = (
authors => "David O\'Rourke",
contact => "phyber\@\#irssi",
name => "bantime",
description => "Print time when ban was set in a nicer way. eg. 23 mins, 40 secs ago.",
license => "GPLv2",
changed => "08.01.2004 02:46"
);
sub cmd_bans {
my ($args, $server, $witem) = @_;
return if not ($witem && $witem->{type} eq "CHANNEL");
my $currenttime = time;
my $channel = $witem->{name};
my $count = 1;
foreach my $ban ($witem->bans()) {
my ($bansetby, $bantime);
if ($ban->{setby}) {
$bansetby = $ban->{setby};
}
else { $bansetby = "*Unavailable"; }
if ($ban->{time}) {
$bantime = duration_exact($currenttime - $ban->{time}) . " ago";
}
else { $bantime = "*Unavailable"; }
$witem->printformat(MSGLEVEL_CLIENTCRAP, 'bantime_long', $count, $channel, $ban->{ban}, $bansetby, $bantime);
$count += 1;
}
}
Irssi::theme_register(['bantime_long', '{line_start}$0 - {channel $1}: ban {ban $2} {comment by {nick $3}, $4}']);
Irssi::command_bind('bantime', 'cmd_bans');
Irssi::print("Loaded $IRSSI{name} $VERSION");
#############
# ChangeLog #
#############
# 08.01.2004: Jan 08 2004: 02:46
# Fixed a bug which occured if the IRCd didn't tell us who set the bans at which time. eg. IRCNet if a user doesn't have +o.
# 08.01.2004: Jan 08 2004: 01:52
# Initial Release. Many thanks to coekie for helping me with my scripting.
|