2
#copy into .irssi/scripts
3
#load in irssi with: /script load xmpp-admin
8
authors => 'Seth Difley',
11
description => 'Adds admin commands to irssi-xmpp',
13
license => 'GNU General Public License',
17
#/affiliate affiliation_level [jid]
18
#If jid is absent, the affiliation list is returned (Raw xml messages must be active to see the list.)
20
my ($data,$server,$wid) = @_;
21
@items = split(" ", $data);
24
$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>";
27
$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>";
29
$server->command("$affil");
32
Irssi::active_win()->print("/affiliate none|owner|admin|member|outcast [jid]");
36
#/role role_level nickname [reason]
38
my ($data,$server,$wid) = @_;
39
@items = split(" ", $data);
42
$data =~ s/^.*?[\s]+.*?[\s]+//;
43
$reason = "<reason>$data</reason>";
48
$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>";
49
$server->command("$role");
52
Irssi::active_win()->print("/role none|moderator|participant|visitor nickname [reason]");
56
#/kick nickname [reason]
58
my ($data,$server,$wid) = @_;
59
@items = split(" ", $data);
61
cmd_role("none " . $data,$server,$wid);
64
Irssi::active_win()->print("/kick nickname [reason]");
68
Irssi::command_bind('affiliate', \&cmd_affiliate);
69
Irssi::command_bind('role', \&cmd_role);
70
Irssi::command_bind('kick', \&cmd_kick);