/usr/share/irssi/scripts/xmpp-admin.pl is in irssi-plugin-xmpp 0.53-1+b1.
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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | # xmpp-admin.pl
#copy into .irssi/scripts
#load in irssi with: /script load xmpp-admin
use Irssi;
$::VERSION='0.0.1';
%::IRSSI = (
authors => 'Seth Difley',
contact => '',
name => 'xmpp-admin',
description => 'Adds admin commands to irssi-xmpp',
url => '',
license => 'GNU General Public License',
changed => '$Date$'
);
#/affiliate affiliation_level [jid]
#If jid is absent, the affiliation list is returned (Raw xml messages must be active to see the list.)
sub cmd_affiliate {
my ($data,$server,$wid) = @_;
@items = split(" ", $data);
if ($items[0]) {
if ($items[1]) {
$affil = "QUOTE <iq type=\'set\' id=\'affiliate_set\' to=\'$wid->{name}\'> <query xmlns=\'http://jabber.org/protocol/muc#admin\'> <item jid=\'$items[1]\' affiliation=\'$items[0]\'/> </query> </iq>";
}
else {
$affil = "QUOTE <iq type=\'get\' id=\'affiliate_get\' to=\'$wid->{name}\'> <query xmlns=\'http://jabber.org/protocol/muc#admin\'> <item affiliation=\'$items[0]\'/> </query> </iq>";
}
$server->command("$affil");
}
else {
Irssi::active_win()->print("/affiliate none|owner|admin|member|outcast [jid]");
}
}
#/role role_level nickname [reason]
sub cmd_role {
my ($data,$server,$wid) = @_;
@items = split(" ", $data);
if ($items[1]) {
if ($items[2]) {
$data =~ s/^.*?[\s]+.*?[\s]+//;
$reason = "<reason>$data</reason>";
}
else {
$reason = "";
}
$role = "QUOTE <iq type=\'set\' id=\'role_set\' to=\'$wid->{name}\'> <query xmlns=\'http://jabber.org/protocol/muc#admin\'> <item nick=\'$items[1]\' role=\'$items[0]\'> $reason </item> </query> </iq>";
$server->command("$role");
}
else {
Irssi::active_win()->print("/role none|moderator|participant|visitor nickname [reason]");
}
}
#/kick nickname [reason]
sub cmd_kick {
my ($data,$server,$wid) = @_;
@items = split(" ", $data);
if ($items[0]) {
cmd_role("none " . $data,$server,$wid);
}
else {
Irssi::active_win()->print("/kick nickname [reason]");
}
}
Irssi::command_bind('affiliate', \&cmd_affiliate);
Irssi::command_bind('role', \&cmd_role);
Irssi::command_bind('kick', \&cmd_kick);
|