+++ /dev/null
-use strict;
-use vars qw($VERSION %IRSSI);
-use Irssi;
-
-$VERSION = "1.11";
-%IRSSI = (
- authors => "Rick (strlen) Jansen",
- contact => "strlen\@shellz.nl",
- name => "cloneprot",
- description => "Parses OperServ notices to make autokill aliases from clonewarnings",
- license => "GPL/1",
- url => "http://www.shellz.nl/",
- changed => "Wed Mar 13 20:26:46 CET 2002",
-);
-
-my ($lastmask, $clones, $trig, $hostmask, $username, $hostname);
-
-sub event_callback {
- my ($server, $data, $sender, $address) = @_;
- my $count = 0;
- if ($sender eq $server->{address}) {
- if ($data =~ /from OperServ: CLONES\((\d+)\): /) {
- $clones = $1;
- $trig = $clones + 2;
- if ($data =~ /((\S+)\@(\S+))/) {
- $hostmask = $1;
- $username = $2;
- $hostname = $3;
- if ($hostmask eq $lastmask) {
- $count++;
- Irssi::print("[Warning #$count] $clones clones.");
- Irssi::print("[[/tk (1h)] - [/ak 1|2 (6h)] - [/tr ($trig)] - [/cw 1|2 (/who)]]");
- } else {
- $server->command("/who $hostname");
- Irssi::print("[Warning #1: $clones clones.");
- Irssi::print("[1: $hostmask] - [2: $hostname]");
- Irssi::print("[[/tk (1h)] - [/ak 1|2 (6h)] - [/tr ($trig)] - [/cw 1|2 (/who)]]");
- $count=1;
- }
- Irssi::signal_stop();
- }
- }
- }
-}
-
-sub cw_callback {
- my ($mode,$server) = @_;
- if ($mode == 1) {
- $server->command("/who $hostmask");
- } elsif ($mode == 2) {
- $server->command("/who $hostname");
- } else {
- Irssi::print("Usage: /cw 1|2");
- }
-}
-
-sub tk_callback {
- my ($null,$server) = @_;
- $server->command("/msg operserv tempakill $hostname Don't clone on SorceryNet.");
-}
-
-sub ak_callback {
- my ($mode,$server) = @_;
- if ($mode == 1) {
- $server->command("/msg operserv autokill 6 $hostmask Don't clone on SorceryNet.");
- } elsif ($mode == 2) {
- $server->command("/msg operserv autokill 6 *!*\@$hostname Don't clone on SorceryNet.");
- } else {
- Irssi::print("Usage: /ak 1|2");
- }
-}
-
-sub tr_callback {
- my ($mode,$server) = @_;
- if ($mode == 1) {
- $server->command("/msg operserv trigger $username\@$hostname $trig");
- } elsif ($mode == 2) {
- $server->command("/msg operserv trigger $hostname $trig");
- } else {
- Irssi::print("Usage: /tr 1|2");
- }
-}
-
-Irssi::command_bind("tk","tk_callback");
-Irssi::command_bind("ak","ak_callback");
-Irssi::command_bind("tr","tr_callback");
-Irssi::command_bind("cw","cw_callback");
-
-Irssi::signal_add("server event","event_callback");